@charset "UTF-8";
/*!
 * Bootstrap  v5.2.0 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --bs-blue: rgb(5, 70, 98);
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: rgb(116, 172, 42);
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #1D1D1B;
  --bs-secondary: #009844;
  --bs-secondarydark: #003216;
  --bs-secondarymuted: #e2e8e5;
  --bs-compliment: #2d363d;
  --bs-highlight: #51b37f;
  --bs-white: #fff;
  --bs-cream: #ece8e4;
  --bs-green: #009844;
  --bs-grey: #e7e4e4;
  --bs-darkgrey: #404040;
  --bs-stripe: #1D1D1B;
  --bs-danger: rgb(187, 2, 2);
  --bs-charcoal: rgb(54, 54, 58);
  --bs-muted: rgb(154, 154, 161);
  --bs-blue: rgb(5, 70, 98);
  --bs-success: #65ba10;
  --bs-checkout: #65ba10;
  --bs-light: rgb(231, 235, 240);
  --bs-dark: #222222;
  --bs-primary-rgb: 29, 29, 27;
  --bs-secondary-rgb: 0, 152, 68;
  --bs-secondarydark-rgb: 0, 50, 22;
  --bs-secondarymuted-rgb: 226, 232, 229;
  --bs-compliment-rgb: 45, 54, 61;
  --bs-highlight-rgb: 81, 179, 127;
  --bs-white-rgb: 255, 255, 255;
  --bs-cream-rgb: 236, 232, 228;
  --bs-green-rgb: 0, 152, 68;
  --bs-grey-rgb: 231, 228, 228;
  --bs-darkgrey-rgb: 64, 64, 64;
  --bs-stripe-rgb: 29, 29, 27;
  --bs-danger-rgb: 187, 2, 2;
  --bs-charcoal-rgb: 54, 54, 58;
  --bs-muted-rgb: 154, 154, 161;
  --bs-blue-rgb: 5, 70, 98;
  --bs-success-rgb: 101, 186, 16;
  --bs-checkout-rgb: 101, 186, 16;
  --bs-light-rgb: 231, 235, 240;
  --bs-dark-rgb: 34, 34, 34;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-font-sans-serif: "Montserrat", sans-serif;
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: #fff;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-link-color: #1D1D1B;
  --bs-link-hover-color: #171716;
  --bs-code-color: #d63384;
  --bs-highlight-bg: #fff3cd;
}

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

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

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

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: 1px solid;
  opacity: 0.25;
}

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

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

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

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

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

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

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

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

abbr[title] {
  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;
  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: var(--bs-link-color);
  text-decoration: underline;
}
a:hover {
  color: var(--bs-link-hover-color);
}

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

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

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

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

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

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

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

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6c757d;
  text-align: left;
}

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

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

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

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

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

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

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

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

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

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

textarea {
  resize: vertical;
}

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

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

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

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

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

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

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

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

output {
  display: inline-block;
}

iframe {
  border: 0;
}

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

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.375rem;
  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: #6c757d;
}

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

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

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

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

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

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

.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.6666666667%;
}

.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.3333333333%;
  }
  .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.6666666667%;
  }
  .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.3333333333%;
  }
  .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.6666666667%;
  }
  .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.3333333333%;
  }
  .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.6666666667%;
  }
  .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.3333333333%;
  }
  .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.6666666667%;
  }
  .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.3333333333%;
  }
  .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.6666666667%;
  }
  .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, .productdetails-view .spectable table,
.category-view .spectable table {
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: var(--bs-body-color);
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  color: var(--bs-table-color);
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > *, .productdetails-view .spectable table > :not(caption) > * > *,
.category-view .spectable table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}
.table > tbody, .productdetails-view .spectable table > tbody,
.category-view .spectable table > tbody {
  vertical-align: inherit;
}
.table > thead, .productdetails-view .spectable table > thead,
.category-view .spectable table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: 2px solid currentcolor;
}

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

.table-sm > :not(caption) > * > *, .productdetails-view .spectable table > :not(caption) > * > *,
.category-view .spectable table > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

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

.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-accent-bg: var(--bs-table-striped-bg);
  color: var(--bs-table-striped-color);
}

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

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

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

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #d2d2d1;
  --bs-table-border-color: #bdbdbc;
  --bs-table-striped-bg: #c8c8c7;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bdbdbc;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c2c2c1;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #cceada;
  --bs-table-border-color: #b8d3c4;
  --bs-table-striped-bg: #c2decf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #b8d3c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bdd8ca;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #e0f1cf;
  --bs-table-border-color: #cad9ba;
  --bs-table-striped-bg: #d5e5c5;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cad9ba;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #cfdfbf;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

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

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

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

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

.table-dark, .productdetails-view .spectable table thead,
.category-view .spectable table thead {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: #373b3e;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

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

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

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

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #6c757d;
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  appearance: none;
  border-radius: 0.375rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: #212529;
  background-color: #fff;
  border-color: #8e8e8d;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(29, 29, 27, 0.25);
}
.form-control::-webkit-date-and-time-value {
  height: 1.5em;
}
.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}
.form-control:disabled {
  background-color: #e9ecef;
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: #212529;
  background-color: #e9ecef;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: #dde0e3;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + 2px);
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::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 {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: 1px 0;
}

.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: 3;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 3;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
}

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

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

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

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.form-floating):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  margin-left: -1px;
  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: #65ba10;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #000;
  background-color: rgba(101, 186, 16, 0.9);
  border-radius: 0.375rem;
}

.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: #65ba10;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2365ba10' d='M2.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'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #65ba10;
  box-shadow: 0 0 0 0.25rem rgba(101, 186, 16, 0.25);
}

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

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: #65ba10;
}
.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"] {
  padding-right: 4.125rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2365ba10' d='M2.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'/%3e%3c/svg%3e");
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: #65ba10;
  box-shadow: 0 0 0 0.25rem rgba(101, 186, 16, 0.25);
}

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

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: #65ba10;
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: #65ba10;
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(101, 186, 16, 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #65ba10;
}

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

.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid,
.was-validated .input-group .form-select:valid,
.input-group .form-select.is-valid {
  z-index: 1;
}
.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus,
.was-validated .input-group .form-select:valid:focus,
.input-group .form-select.is-valid:focus {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #dc3545;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.375rem;
}

.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: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

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

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: #dc3545;
}
.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"] {
  padding-right: 4.125rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

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

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: #dc3545;
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: #dc3545;
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545;
}

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

.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid,
.was-validated .input-group .form-select:invalid,
.input-group .form-select.is-invalid {
  z-index: 2;
}
.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus,
.was-validated .input-group .form-select:invalid:focus,
.input-group .form-select.is-invalid:focus {
  z-index: 3;
}

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

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #1D1D1B;
  --bs-btn-border-color: #1D1D1B;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #191917;
  --bs-btn-hover-border-color: #171716;
  --bs-btn-focus-shadow-rgb: 63, 63, 61;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #171716;
  --bs-btn-active-border-color: #161614;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #1D1D1B;
  --bs-btn-disabled-border-color: #1D1D1B;
}

.btn-secondary {
  --bs-btn-color: #000;
  --bs-btn-bg: #009844;
  --bs-btn-border-color: #009844;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #26a760;
  --bs-btn-hover-border-color: #1aa257;
  --bs-btn-focus-shadow-rgb: 0, 129, 58;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #33ad69;
  --bs-btn-active-border-color: #1aa257;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #009844;
  --bs-btn-disabled-border-color: #009844;
}

.btn-secondarydark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #003216;
  --bs-btn-border-color: #003216;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #002b13;
  --bs-btn-hover-border-color: #002812;
  --bs-btn-focus-shadow-rgb: 38, 81, 57;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #002812;
  --bs-btn-active-border-color: #002611;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #003216;
  --bs-btn-disabled-border-color: #003216;
}

.btn-secondarymuted {
  --bs-btn-color: #000;
  --bs-btn-bg: #e2e8e5;
  --bs-btn-border-color: #e2e8e5;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #e6ebe9;
  --bs-btn-hover-border-color: #e5eae8;
  --bs-btn-focus-shadow-rgb: 192, 197, 195;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #e8edea;
  --bs-btn-active-border-color: #e5eae8;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #e2e8e5;
  --bs-btn-disabled-border-color: #e2e8e5;
}

.btn-compliment {
  --bs-btn-color: #fff;
  --bs-btn-bg: #2d363d;
  --bs-btn-border-color: #2d363d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #262e34;
  --bs-btn-hover-border-color: #242b31;
  --bs-btn-focus-shadow-rgb: 77, 84, 90;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #242b31;
  --bs-btn-active-border-color: #22292e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #2d363d;
  --bs-btn-disabled-border-color: #2d363d;
}

.btn-highlight {
  --bs-btn-color: #000;
  --bs-btn-bg: #51b37f;
  --bs-btn-border-color: #51b37f;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #6bbe92;
  --bs-btn-hover-border-color: #62bb8c;
  --bs-btn-focus-shadow-rgb: 69, 152, 108;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #74c299;
  --bs-btn-active-border-color: #62bb8c;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #51b37f;
  --bs-btn-disabled-border-color: #51b37f;
}

.btn-white {
  --bs-btn-color: #000;
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: white;
  --bs-btn-hover-border-color: white;
  --bs-btn-focus-shadow-rgb: 217, 217, 217;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: white;
  --bs-btn-active-border-color: white;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: #fff;
}

.btn-cream {
  --bs-btn-color: #000;
  --bs-btn-bg: #ece8e4;
  --bs-btn-border-color: #ece8e4;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #efebe8;
  --bs-btn-hover-border-color: #eeeae7;
  --bs-btn-focus-shadow-rgb: 201, 197, 194;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f0ede9;
  --bs-btn-active-border-color: #eeeae7;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ece8e4;
  --bs-btn-disabled-border-color: #ece8e4;
}

.btn-green {
  --bs-btn-color: #000;
  --bs-btn-bg: #009844;
  --bs-btn-border-color: #009844;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #26a760;
  --bs-btn-hover-border-color: #1aa257;
  --bs-btn-focus-shadow-rgb: 0, 129, 58;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #33ad69;
  --bs-btn-active-border-color: #1aa257;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #009844;
  --bs-btn-disabled-border-color: #009844;
}

.btn-grey {
  --bs-btn-color: #000;
  --bs-btn-bg: #e7e4e4;
  --bs-btn-border-color: #e7e4e4;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ebe8e8;
  --bs-btn-hover-border-color: #e9e7e7;
  --bs-btn-focus-shadow-rgb: 196, 194, 194;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ece9e9;
  --bs-btn-active-border-color: #e9e7e7;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #e7e4e4;
  --bs-btn-disabled-border-color: #e7e4e4;
}

.btn-darkgrey {
  --bs-btn-color: #fff;
  --bs-btn-bg: #404040;
  --bs-btn-border-color: #404040;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #363636;
  --bs-btn-hover-border-color: #333333;
  --bs-btn-focus-shadow-rgb: 93, 93, 93;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #333333;
  --bs-btn-active-border-color: #303030;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #404040;
  --bs-btn-disabled-border-color: #404040;
}

.btn-stripe {
  --bs-btn-color: #fff;
  --bs-btn-bg: #1D1D1B;
  --bs-btn-border-color: #1D1D1B;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #191917;
  --bs-btn-hover-border-color: #171716;
  --bs-btn-focus-shadow-rgb: 63, 63, 61;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #171716;
  --bs-btn-active-border-color: #161614;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #1D1D1B;
  --bs-btn-disabled-border-color: #1D1D1B;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: rgb(187, 2, 2);
  --bs-btn-border-color: rgb(187, 2, 2);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #9f0202;
  --bs-btn-hover-border-color: #960202;
  --bs-btn-focus-shadow-rgb: 197, 40, 40;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #960202;
  --bs-btn-active-border-color: #8c0202;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: rgb(187, 2, 2);
  --bs-btn-disabled-border-color: rgb(187, 2, 2);
}

.btn-charcoal {
  --bs-btn-color: #fff;
  --bs-btn-bg: rgb(54, 54, 58);
  --bs-btn-border-color: rgb(54, 54, 58);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2e2e31;
  --bs-btn-hover-border-color: #2b2b2e;
  --bs-btn-focus-shadow-rgb: 84, 84, 88;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2b2b2e;
  --bs-btn-active-border-color: #29292c;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: rgb(54, 54, 58);
  --bs-btn-disabled-border-color: rgb(54, 54, 58);
}

.btn-muted {
  --bs-btn-color: #000;
  --bs-btn-bg: rgb(154, 154, 161);
  --bs-btn-border-color: rgb(154, 154, 161);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #a9a9af;
  --bs-btn-hover-border-color: #a4a4aa;
  --bs-btn-focus-shadow-rgb: 131, 131, 137;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #aeaeb4;
  --bs-btn-active-border-color: #a4a4aa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: rgb(154, 154, 161);
  --bs-btn-disabled-border-color: rgb(154, 154, 161);
}

.btn-blue {
  --bs-btn-color: #fff;
  --bs-btn-bg: rgb(5, 70, 98);
  --bs-btn-border-color: rgb(5, 70, 98);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #043c53;
  --bs-btn-hover-border-color: #04384e;
  --bs-btn-focus-shadow-rgb: 43, 98, 122;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #04384e;
  --bs-btn-active-border-color: #04354a;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: rgb(5, 70, 98);
  --bs-btn-disabled-border-color: rgb(5, 70, 98);
}

.btn-success {
  --bs-btn-color: #000;
  --bs-btn-bg: #65ba10;
  --bs-btn-border-color: #65ba10;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #7cc434;
  --bs-btn-hover-border-color: #74c128;
  --bs-btn-focus-shadow-rgb: 86, 158, 14;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #84c840;
  --bs-btn-active-border-color: #74c128;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #65ba10;
  --bs-btn-disabled-border-color: #65ba10;
}

.btn-checkout {
  --bs-btn-color: #000;
  --bs-btn-bg: #65ba10;
  --bs-btn-border-color: #65ba10;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #7cc434;
  --bs-btn-hover-border-color: #74c128;
  --bs-btn-focus-shadow-rgb: 86, 158, 14;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #84c840;
  --bs-btn-active-border-color: #74c128;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #65ba10;
  --bs-btn-disabled-border-color: #65ba10;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: rgb(231, 235, 240);
  --bs-btn-border-color: rgb(231, 235, 240);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #c4c8cc;
  --bs-btn-hover-border-color: #b9bcc0;
  --bs-btn-focus-shadow-rgb: 196, 200, 204;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #b9bcc0;
  --bs-btn-active-border-color: #adb0b4;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: rgb(231, 235, 240);
  --bs-btn-disabled-border-color: rgb(231, 235, 240);
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #222222;
  --bs-btn-border-color: #222222;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #434343;
  --bs-btn-hover-border-color: #383838;
  --bs-btn-focus-shadow-rgb: 67, 67, 67;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4e4e4e;
  --bs-btn-active-border-color: #383838;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #222222;
  --bs-btn-disabled-border-color: #222222;
}

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

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

.btn-outline-secondarydark {
  --bs-btn-color: #003216;
  --bs-btn-border-color: #003216;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #003216;
  --bs-btn-hover-border-color: #003216;
  --bs-btn-focus-shadow-rgb: 0, 50, 22;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #003216;
  --bs-btn-active-border-color: #003216;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #003216;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #003216;
  --bs-gradient: none;
}

.btn-outline-secondarymuted {
  --bs-btn-color: #e2e8e5;
  --bs-btn-border-color: #e2e8e5;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #e2e8e5;
  --bs-btn-hover-border-color: #e2e8e5;
  --bs-btn-focus-shadow-rgb: 226, 232, 229;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #e2e8e5;
  --bs-btn-active-border-color: #e2e8e5;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #e2e8e5;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #e2e8e5;
  --bs-gradient: none;
}

.btn-outline-compliment {
  --bs-btn-color: #2d363d;
  --bs-btn-border-color: #2d363d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2d363d;
  --bs-btn-hover-border-color: #2d363d;
  --bs-btn-focus-shadow-rgb: 45, 54, 61;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2d363d;
  --bs-btn-active-border-color: #2d363d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #2d363d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #2d363d;
  --bs-gradient: none;
}

.btn-outline-highlight {
  --bs-btn-color: #51b37f;
  --bs-btn-border-color: #51b37f;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #51b37f;
  --bs-btn-hover-border-color: #51b37f;
  --bs-btn-focus-shadow-rgb: 81, 179, 127;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #51b37f;
  --bs-btn-active-border-color: #51b37f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #51b37f;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #51b37f;
  --bs-gradient: none;
}

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

.btn-outline-cream {
  --bs-btn-color: #ece8e4;
  --bs-btn-border-color: #ece8e4;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ece8e4;
  --bs-btn-hover-border-color: #ece8e4;
  --bs-btn-focus-shadow-rgb: 236, 232, 228;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ece8e4;
  --bs-btn-active-border-color: #ece8e4;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ece8e4;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ece8e4;
  --bs-gradient: none;
}

.btn-outline-green {
  --bs-btn-color: #009844;
  --bs-btn-border-color: #009844;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #009844;
  --bs-btn-hover-border-color: #009844;
  --bs-btn-focus-shadow-rgb: 0, 152, 68;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #009844;
  --bs-btn-active-border-color: #009844;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #009844;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #009844;
  --bs-gradient: none;
}

.btn-outline-grey {
  --bs-btn-color: #e7e4e4;
  --bs-btn-border-color: #e7e4e4;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #e7e4e4;
  --bs-btn-hover-border-color: #e7e4e4;
  --bs-btn-focus-shadow-rgb: 231, 228, 228;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #e7e4e4;
  --bs-btn-active-border-color: #e7e4e4;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #e7e4e4;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #e7e4e4;
  --bs-gradient: none;
}

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

.btn-outline-stripe {
  --bs-btn-color: #1D1D1B;
  --bs-btn-border-color: #1D1D1B;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1D1D1B;
  --bs-btn-hover-border-color: #1D1D1B;
  --bs-btn-focus-shadow-rgb: 29, 29, 27;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1D1D1B;
  --bs-btn-active-border-color: #1D1D1B;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #1D1D1B;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #1D1D1B;
  --bs-gradient: none;
}

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

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

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

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

.btn-outline-success {
  --bs-btn-color: #65ba10;
  --bs-btn-border-color: #65ba10;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #65ba10;
  --bs-btn-hover-border-color: #65ba10;
  --bs-btn-focus-shadow-rgb: 101, 186, 16;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #65ba10;
  --bs-btn-active-border-color: #65ba10;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #65ba10;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #65ba10;
  --bs-gradient: none;
}

.btn-outline-checkout {
  --bs-btn-color: #65ba10;
  --bs-btn-border-color: #65ba10;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #65ba10;
  --bs-btn-hover-border-color: #65ba10;
  --bs-btn-focus-shadow-rgb: 101, 186, 16;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #65ba10;
  --bs-btn-active-border-color: #65ba10;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #65ba10;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #65ba10;
  --bs-gradient: none;
}

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

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

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: none;
  --bs-btn-focus-shadow-rgb: 63, 63, 61;
  text-decoration: underline;
}
.btn-link:focus {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

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

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

.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-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: #212529;
  --bs-dropdown-bg: #fff;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: 0.375rem;
  --bs-dropdown-border-width: 1px;
  --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-dropdown-link-color: #212529;
  --bs-dropdown-link-hover-color: #1e2125;
  --bs-dropdown-link-hover-bg: #e9ecef;
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #1D1D1B;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: 1000;
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: #6c757d;
  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;
  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.disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: 1px;
  --bs-nav-tabs-border-color: #dee2e6;
  --bs-nav-tabs-border-radius: 0.375rem;
  --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;
  --bs-nav-tabs-link-active-color: #495057;
  --bs-nav-tabs-link-active-bg: #fff;
  --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(var(--bs-nav-tabs-border-width) * -1);
  background: none;
  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.disabled, .nav-tabs .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  background-color: transparent;
  border-color: transparent;
}
.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(var(--bs-nav-tabs-border-width) * -1);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: 0.375rem;
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #1D1D1B;
}
.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  background-color: transparent;
  border-color: transparent;
}
.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-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

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

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

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

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

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

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

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

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

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

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

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

.navbar-dark {
  --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='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.accordion {
  --bs-accordion-color: #000;
  --bs-accordion-bg: #fff;
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: 1px;
  --bs-accordion-border-radius: 10px;
  --bs-accordion-inner-border-radius: 9px;
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%280, 152, 68, 0.8%29'%3e%3cpath fill-rule='evenodd' d='M1.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'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.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'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-border-color: #8e8e8d;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(29, 29, 27, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: #fff;
  --bs-accordion-active-bg: rgba(0, 152, 68, 0.8);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(var(--bs-accordion-border-width) * -1) 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;
  border-color: var(--bs-accordion-btn-focus-border-color);
  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-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-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-collapse {
  border-width: 0;
}
.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-button {
  border-radius: 0;
}

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

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

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: #fff;
  --bs-pagination-border-width: 1px;
  --bs-pagination-border-color: #dee2e6;
  --bs-pagination-border-radius: 0.375rem;
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: #e9ecef;
  --bs-pagination-hover-border-color: #dee2e6;
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: #e9ecef;
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(29, 29, 27, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #1D1D1B;
  --bs-pagination-active-border-color: #1D1D1B;
  --bs-pagination-disabled-color: #6c757d;
  --bs-pagination-disabled-bg: #fff;
  --bs-pagination-disabled-border-color: #dee2e6;
  display: flex;
  padding-left: 0;
  list-style: none;
}

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

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

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

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

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

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

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: 1px solid var(--bs-alert-border-color);
  --bs-alert-border-radius: 0.375rem;
  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;
}

.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: #111110;
  --bs-alert-bg: #d2d2d1;
  --bs-alert-border-color: #bbbbbb;
}
.alert-primary .alert-link {
  color: #0e0e0d;
}

.alert-secondary {
  --bs-alert-color: #005b29;
  --bs-alert-bg: #cceada;
  --bs-alert-border-color: #b3e0c7;
}
.alert-secondary .alert-link {
  color: #004921;
}

.alert-secondarydark {
  --bs-alert-color: #001e0d;
  --bs-alert-bg: #ccd6d0;
  --bs-alert-border-color: #b3c2b9;
}
.alert-secondarydark .alert-link {
  color: #00180a;
}

.alert-secondarymuted {
  --bs-alert-color: #5a5d5c;
  --bs-alert-bg: #f9fafa;
  --bs-alert-border-color: #f6f8f7;
}
.alert-secondarymuted .alert-link {
  color: #484a4a;
}

.alert-compliment {
  --bs-alert-color: #1b2025;
  --bs-alert-bg: #d5d7d8;
  --bs-alert-border-color: #c0c3c5;
}
.alert-compliment .alert-link {
  color: #161a1e;
}

.alert-highlight {
  --bs-alert-color: #316b4c;
  --bs-alert-bg: #dcf0e5;
  --bs-alert-border-color: #cbe8d9;
}
.alert-highlight .alert-link {
  color: #27563d;
}

.alert-white {
  --bs-alert-color: #666666;
  --bs-alert-bg: white;
  --bs-alert-border-color: white;
}
.alert-white .alert-link {
  color: #525252;
}

.alert-cream {
  --bs-alert-color: #5e5d5b;
  --bs-alert-bg: #fbfafa;
  --bs-alert-border-color: #f9f8f7;
}
.alert-cream .alert-link {
  color: #4b4a49;
}

.alert-green {
  --bs-alert-color: #005b29;
  --bs-alert-bg: #cceada;
  --bs-alert-border-color: #b3e0c7;
}
.alert-green .alert-link {
  color: #004921;
}

.alert-grey {
  --bs-alert-color: #5c5b5b;
  --bs-alert-bg: #fafafa;
  --bs-alert-border-color: #f8f7f7;
}
.alert-grey .alert-link {
  color: #4a4949;
}

.alert-darkgrey {
  --bs-alert-color: #262626;
  --bs-alert-bg: #d9d9d9;
  --bs-alert-border-color: #c6c6c6;
}
.alert-darkgrey .alert-link {
  color: #1e1e1e;
}

.alert-stripe {
  --bs-alert-color: #111110;
  --bs-alert-bg: #d2d2d1;
  --bs-alert-border-color: #bbbbbb;
}
.alert-stripe .alert-link {
  color: #0e0e0d;
}

.alert-danger {
  --bs-alert-color: #700101;
  --bs-alert-bg: #f1cccc;
  --bs-alert-border-color: #ebb3b3;
}
.alert-danger .alert-link {
  color: #5a0101;
}

.alert-charcoal {
  --bs-alert-color: #202023;
  --bs-alert-bg: #d7d7d8;
  --bs-alert-border-color: #c3c3c4;
}
.alert-charcoal .alert-link {
  color: #1a1a1c;
}

.alert-muted {
  --bs-alert-color: #5c5c61;
  --bs-alert-bg: #ebebec;
  --bs-alert-border-color: #e1e1e3;
}
.alert-muted .alert-link {
  color: #4a4a4e;
}

.alert-blue {
  --bs-alert-color: #032a3b;
  --bs-alert-bg: #cddae0;
  --bs-alert-border-color: #b4c8d0;
}
.alert-blue .alert-link {
  color: #02222f;
}

.alert-success {
  --bs-alert-color: #3d700a;
  --bs-alert-bg: #e0f1cf;
  --bs-alert-border-color: #d1eab7;
}
.alert-success .alert-link {
  color: #315a08;
}

.alert-checkout {
  --bs-alert-color: #3d700a;
  --bs-alert-bg: #e0f1cf;
  --bs-alert-border-color: #d1eab7;
}
.alert-checkout .alert-link {
  color: #315a08;
}

.alert-light {
  --bs-alert-color: #5c5e60;
  --bs-alert-bg: #fafbfc;
  --bs-alert-border-color: #f8f9fb;
}
.alert-light .alert-link {
  color: #4a4b4d;
}

.alert-dark {
  --bs-alert-color: #141414;
  --bs-alert-bg: lightgray;
  --bs-alert-border-color: #bdbdbd;
}
.alert-dark .alert-link {
  color: #101010;
}

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

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

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

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

.list-group {
  --bs-list-group-color: #212529;
  --bs-list-group-bg: #fff;
  --bs-list-group-border-color: rgba(0, 0, 0, 0.125);
  --bs-list-group-border-width: 1px;
  --bs-list-group-border-radius: 0.375rem;
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: #495057;
  --bs-list-group-action-hover-color: #495057;
  --bs-list-group-action-hover-bg: #f8f9fa;
  --bs-list-group-action-active-color: #212529;
  --bs-list-group-action-active-bg: #e9ecef;
  --bs-list-group-disabled-color: #6c757d;
  --bs-list-group-disabled-bg: #fff;
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #1D1D1B;
  --bs-list-group-active-border-color: #1D1D1B;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

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

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

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

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-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(var(--bs-list-group-border-width) * -1);
  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 {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-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(var(--bs-list-group-border-width) * -1);
    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 {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-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(var(--bs-list-group-border-width) * -1);
    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 {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-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(var(--bs-list-group-border-width) * -1);
    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 {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-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(var(--bs-list-group-border-width) * -1);
    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 {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-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(var(--bs-list-group-border-width) * -1);
    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 {
  color: #111110;
  background-color: #d2d2d1;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #111110;
  background-color: #bdbdbc;
}
.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #111110;
  border-color: #111110;
}

.list-group-item-secondary {
  color: #005b29;
  background-color: #cceada;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #005b29;
  background-color: #b8d3c4;
}
.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #005b29;
  border-color: #005b29;
}

.list-group-item-secondarydark {
  color: #001e0d;
  background-color: #ccd6d0;
}
.list-group-item-secondarydark.list-group-item-action:hover, .list-group-item-secondarydark.list-group-item-action:focus {
  color: #001e0d;
  background-color: #b8c1bb;
}
.list-group-item-secondarydark.list-group-item-action.active {
  color: #fff;
  background-color: #001e0d;
  border-color: #001e0d;
}

.list-group-item-secondarymuted {
  color: #5a5d5c;
  background-color: #f9fafa;
}
.list-group-item-secondarymuted.list-group-item-action:hover, .list-group-item-secondarymuted.list-group-item-action:focus {
  color: #5a5d5c;
  background-color: #e0e1e1;
}
.list-group-item-secondarymuted.list-group-item-action.active {
  color: #fff;
  background-color: #5a5d5c;
  border-color: #5a5d5c;
}

.list-group-item-compliment {
  color: #1b2025;
  background-color: #d5d7d8;
}
.list-group-item-compliment.list-group-item-action:hover, .list-group-item-compliment.list-group-item-action:focus {
  color: #1b2025;
  background-color: #c0c2c2;
}
.list-group-item-compliment.list-group-item-action.active {
  color: #fff;
  background-color: #1b2025;
  border-color: #1b2025;
}

.list-group-item-highlight {
  color: #316b4c;
  background-color: #dcf0e5;
}
.list-group-item-highlight.list-group-item-action:hover, .list-group-item-highlight.list-group-item-action:focus {
  color: #316b4c;
  background-color: #c6d8ce;
}
.list-group-item-highlight.list-group-item-action.active {
  color: #fff;
  background-color: #316b4c;
  border-color: #316b4c;
}

.list-group-item-white {
  color: #666666;
  background-color: white;
}
.list-group-item-white.list-group-item-action:hover, .list-group-item-white.list-group-item-action:focus {
  color: #666666;
  background-color: #e6e6e6;
}
.list-group-item-white.list-group-item-action.active {
  color: #fff;
  background-color: #666666;
  border-color: #666666;
}

.list-group-item-cream {
  color: #5e5d5b;
  background-color: #fbfafa;
}
.list-group-item-cream.list-group-item-action:hover, .list-group-item-cream.list-group-item-action:focus {
  color: #5e5d5b;
  background-color: #e2e1e1;
}
.list-group-item-cream.list-group-item-action.active {
  color: #fff;
  background-color: #5e5d5b;
  border-color: #5e5d5b;
}

.list-group-item-green {
  color: #005b29;
  background-color: #cceada;
}
.list-group-item-green.list-group-item-action:hover, .list-group-item-green.list-group-item-action:focus {
  color: #005b29;
  background-color: #b8d3c4;
}
.list-group-item-green.list-group-item-action.active {
  color: #fff;
  background-color: #005b29;
  border-color: #005b29;
}

.list-group-item-grey {
  color: #5c5b5b;
  background-color: #fafafa;
}
.list-group-item-grey.list-group-item-action:hover, .list-group-item-grey.list-group-item-action:focus {
  color: #5c5b5b;
  background-color: #e1e1e1;
}
.list-group-item-grey.list-group-item-action.active {
  color: #fff;
  background-color: #5c5b5b;
  border-color: #5c5b5b;
}

.list-group-item-darkgrey {
  color: #262626;
  background-color: #d9d9d9;
}
.list-group-item-darkgrey.list-group-item-action:hover, .list-group-item-darkgrey.list-group-item-action:focus {
  color: #262626;
  background-color: #c3c3c3;
}
.list-group-item-darkgrey.list-group-item-action.active {
  color: #fff;
  background-color: #262626;
  border-color: #262626;
}

.list-group-item-stripe {
  color: #111110;
  background-color: #d2d2d1;
}
.list-group-item-stripe.list-group-item-action:hover, .list-group-item-stripe.list-group-item-action:focus {
  color: #111110;
  background-color: #bdbdbc;
}
.list-group-item-stripe.list-group-item-action.active {
  color: #fff;
  background-color: #111110;
  border-color: #111110;
}

.list-group-item-danger {
  color: #700101;
  background-color: #f1cccc;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #700101;
  background-color: #d9b8b8;
}
.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #700101;
  border-color: #700101;
}

.list-group-item-charcoal {
  color: #202023;
  background-color: #d7d7d8;
}
.list-group-item-charcoal.list-group-item-action:hover, .list-group-item-charcoal.list-group-item-action:focus {
  color: #202023;
  background-color: #c2c2c2;
}
.list-group-item-charcoal.list-group-item-action.active {
  color: #fff;
  background-color: #202023;
  border-color: #202023;
}

.list-group-item-muted {
  color: #5c5c61;
  background-color: #ebebec;
}
.list-group-item-muted.list-group-item-action:hover, .list-group-item-muted.list-group-item-action:focus {
  color: #5c5c61;
  background-color: #d4d4d4;
}
.list-group-item-muted.list-group-item-action.active {
  color: #fff;
  background-color: #5c5c61;
  border-color: #5c5c61;
}

.list-group-item-blue {
  color: #032a3b;
  background-color: #cddae0;
}
.list-group-item-blue.list-group-item-action:hover, .list-group-item-blue.list-group-item-action:focus {
  color: #032a3b;
  background-color: #b9c4ca;
}
.list-group-item-blue.list-group-item-action.active {
  color: #fff;
  background-color: #032a3b;
  border-color: #032a3b;
}

.list-group-item-success {
  color: #3d700a;
  background-color: #e0f1cf;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #3d700a;
  background-color: #cad9ba;
}
.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #3d700a;
  border-color: #3d700a;
}

.list-group-item-checkout {
  color: #3d700a;
  background-color: #e0f1cf;
}
.list-group-item-checkout.list-group-item-action:hover, .list-group-item-checkout.list-group-item-action:focus {
  color: #3d700a;
  background-color: #cad9ba;
}
.list-group-item-checkout.list-group-item-action.active {
  color: #fff;
  background-color: #3d700a;
  border-color: #3d700a;
}

.list-group-item-light {
  color: #5c5e60;
  background-color: #fafbfc;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #5c5e60;
  background-color: #e1e2e3;
}
.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #5c5e60;
  border-color: #5c5e60;
}

.list-group-item-dark {
  color: #141414;
  background-color: lightgray;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #141414;
  background-color: #bebebe;
}
.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #141414;
  border-color: #141414;
}

.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: #000;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.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'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: 0.5;
}
.btn-close:hover {
  color: #000;
  text-decoration: none;
  opacity: 0.75;
}
.btn-close:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(29, 29, 27, 0.25);
  opacity: 1;
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: 0.25;
}

.btn-close-white {
  filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(255, 255, 255, 0.85);
  --bs-toast-border-width: 1px;
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: 0.375rem;
  --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-toast-header-color: #6c757d;
  --bs-toast-header-bg: rgba(255, 255, 255, 0.85);
  --bs-toast-header-border-color: rgba(0, 0, 0, 0.05);
  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 {
  position: absolute;
  z-index: 1090;
  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(var(--bs-toast-padding-x) * -0.5);
  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: #fff;
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: 1px;
  --bs-modal-border-radius: 0.5rem;
  --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-modal-inner-border-radius: calc(0.5rem - 1px);
  --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: 1px;
  --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: 1px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

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

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

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

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

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  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(var(--bs-modal-header-padding-y) * -0.5) calc(var(--bs-modal-header-padding-x) * -0.5) calc(var(--bs-modal-header-padding-y) * -0.5) 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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
.modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
.modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
.modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
.modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
.modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
.modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.875rem;
  --bs-tooltip-color: #fff;
  --bs-tooltip-bg: #000;
  --bs-tooltip-border-radius: 0.375rem;
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  padding: var(--bs-tooltip-arrow-height);
  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: 0;
}
.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: 0;
  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: 0;
}
.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: 0;
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}

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

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

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(var(--bs-popover-arrow-height) * -1 - 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(var(--bs-popover-arrow-height) * -1 - 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(var(--bs-popover-arrow-height) * -1 - 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(var(--bs-popover-arrow-width) * -0.5);
  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(var(--bs-popover-arrow-height) * -1 - 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.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

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

/* rtl:begin:ignore */
.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%);
}

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

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

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

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

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

/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */
.carousel-control-prev-icon {
  background-image: 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-control-next-icon {
  background-image: 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-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%;
  list-style: none;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

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

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

.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-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: ;
  --bs-offcanvas-bg: #fff;
  --bs-offcanvas-border-width: 1px;
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: 1045;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out;
  }
}
@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%);
  }
}
@media (max-width: 575.98px) {
  .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%);
  }
}
@media (max-width: 575.98px) {
  .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%);
  }
}
@media (max-width: 575.98px) {
  .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%);
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
}
@media (max-width: 575.98px) {
  .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: 1045;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out;
  }
}
@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%);
  }
}
@media (max-width: 767.98px) {
  .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%);
  }
}
@media (max-width: 767.98px) {
  .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%);
  }
}
@media (max-width: 767.98px) {
  .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%);
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
}
@media (max-width: 767.98px) {
  .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: 1045;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out;
  }
}
@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%);
  }
}
@media (max-width: 991.98px) {
  .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%);
  }
}
@media (max-width: 991.98px) {
  .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%);
  }
}
@media (max-width: 991.98px) {
  .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%);
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
}
@media (max-width: 991.98px) {
  .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: 1045;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out;
  }
}
@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%);
  }
}
@media (max-width: 1199.98px) {
  .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%);
  }
}
@media (max-width: 1199.98px) {
  .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%);
  }
}
@media (max-width: 1199.98px) {
  .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%);
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
}
@media (max-width: 1199.98px) {
  .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: 1045;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out;
  }
}
@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%);
  }
}
@media (max-width: 1399.98px) {
  .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%);
  }
}
@media (max-width: 1399.98px) {
  .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%);
  }
}
@media (max-width: 1399.98px) {
  .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%);
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
}
@media (max-width: 1399.98px) {
  .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: 1045;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: transform 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

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

.offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  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-top: calc(var(--bs-offcanvas-padding-y) * -0.5);
  margin-right: calc(var(--bs-offcanvas-padding-x) * -0.5);
  margin-bottom: calc(var(--bs-offcanvas-padding-y) * -0.5);
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.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, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 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(29, 29, 27, var(--bs-bg-opacity, 1)) !important;
}

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

.text-bg-secondarydark {
  color: #fff !important;
  background-color: RGBA(0, 50, 22, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondarymuted {
  color: #000 !important;
  background-color: RGBA(226, 232, 229, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-compliment {
  color: #fff !important;
  background-color: RGBA(45, 54, 61, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-highlight {
  color: #000 !important;
  background-color: RGBA(81, 179, 127, var(--bs-bg-opacity, 1)) !important;
}

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

.text-bg-cream {
  color: #000 !important;
  background-color: RGBA(236, 232, 228, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-green {
  color: #000 !important;
  background-color: RGBA(0, 152, 68, var(--bs-bg-opacity, 1)) !important;
}

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

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

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

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

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

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

.text-bg-blue {
  color: #fff !important;
  background-color: RGBA(5, 70, 98, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #000 !important;
  background-color: RGBA(101, 186, 16, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-checkout {
  color: #000 !important;
  background-color: RGBA(101, 186, 16, var(--bs-bg-opacity, 1)) !important;
}

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

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

.link-primary {
  color: #1D1D1B !important;
}
.link-primary:hover, .link-primary:focus {
  color: #171716 !important;
}

.link-secondary {
  color: #009844 !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: #33ad69 !important;
}

.link-secondarydark {
  color: #003216 !important;
}
.link-secondarydark:hover, .link-secondarydark:focus {
  color: #002812 !important;
}

.link-secondarymuted {
  color: #e2e8e5 !important;
}
.link-secondarymuted:hover, .link-secondarymuted:focus {
  color: #e8edea !important;
}

.link-compliment {
  color: #2d363d !important;
}
.link-compliment:hover, .link-compliment:focus {
  color: #242b31 !important;
}

.link-highlight {
  color: #51b37f !important;
}
.link-highlight:hover, .link-highlight:focus {
  color: #74c299 !important;
}

.link-white {
  color: #fff !important;
}
.link-white:hover, .link-white:focus {
  color: white !important;
}

.link-cream {
  color: #ece8e4 !important;
}
.link-cream:hover, .link-cream:focus {
  color: #f0ede9 !important;
}

.link-green {
  color: #009844 !important;
}
.link-green:hover, .link-green:focus {
  color: #33ad69 !important;
}

.link-grey {
  color: #e7e4e4 !important;
}
.link-grey:hover, .link-grey:focus {
  color: #ece9e9 !important;
}

.link-darkgrey {
  color: #404040 !important;
}
.link-darkgrey:hover, .link-darkgrey:focus {
  color: #333333 !important;
}

.link-stripe {
  color: #1D1D1B !important;
}
.link-stripe:hover, .link-stripe:focus {
  color: #171716 !important;
}

.link-danger {
  color: rgb(187, 2, 2) !important;
}
.link-danger:hover, .link-danger:focus {
  color: #960202 !important;
}

.link-charcoal {
  color: rgb(54, 54, 58) !important;
}
.link-charcoal:hover, .link-charcoal:focus {
  color: #2b2b2e !important;
}

.link-muted {
  color: rgb(154, 154, 161) !important;
}
.link-muted:hover, .link-muted:focus {
  color: #aeaeb4 !important;
}

.link-blue {
  color: rgb(5, 70, 98) !important;
}
.link-blue:hover, .link-blue:focus {
  color: #04384e !important;
}

.link-success {
  color: #65ba10 !important;
}
.link-success:hover, .link-success:focus {
  color: #84c840 !important;
}

.link-checkout {
  color: #65ba10 !important;
}
.link-checkout:hover, .link-checkout:focus {
  color: #84c840 !important;
}

.link-light {
  color: rgb(231, 235, 240) !important;
}
.link-light:hover, .link-light:focus {
  color: #eceff3 !important;
}

.link-dark {
  color: #222222 !important;
}
.link-dark:hover, .link-dark:focus {
  color: #1b1b1b !important;
}

.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) {
  position: absolute !important;
  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;
}

.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: 1px;
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.d-grid {
  display: 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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

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

.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-secondarydark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondarydark-rgb), var(--bs-border-opacity)) !important;
}

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

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

.border-highlight {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-highlight-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-cream {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-cream-rgb), var(--bs-border-opacity)) !important;
}

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

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

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

.border-stripe {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-stripe-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-charcoal {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-charcoal-rgb), var(--bs-border-opacity)) !important;
}

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

.border-blue {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-blue-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-checkout {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-checkout-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-1 {
  --bs-border-width: 1px;
}

.border-2 {
  --bs-border-width: 2px;
}

.border-3 {
  --bs-border-width: 3px;
}

.border-4 {
  --bs-border-width: 4px;
}

.border-5 {
  --bs-border-width: 5px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fw-semibold {
  font-weight: 600 !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-secondarydark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondarydark-rgb), var(--bs-text-opacity)) !important;
}

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

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

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

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

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

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

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

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

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

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

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

.text-muted {
  --bs-text-opacity: 1;
  color: #6c757d !important;
}

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

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

.text-checkout {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-checkout-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-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

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

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

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

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

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

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

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

.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-secondarydark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondarydark-rgb), var(--bs-bg-opacity)) !important;
}

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

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

.bg-highlight {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-highlight-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-cream {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-cream-rgb), var(--bs-bg-opacity)) !important;
}

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

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

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

.bg-stripe {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-stripe-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-charcoal {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-charcoal-rgb), var(--bs-bg-opacity)) !important;
}

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

.bg-blue {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-blue-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-checkout {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-checkout-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-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-opacity-10 {
  --bs-bg-opacity: 0.1;
}

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

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

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

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

.bg-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, #vmMainPageOPC .cardInputMollie {
  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-2xl) !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-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

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

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

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: 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-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;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .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-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;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .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-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;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .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-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;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .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-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;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-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;
  }
}
.fa,
.fab,
.fad,
.fal,
.far,
.fas {
  font-family: "Font Awesome 5 Pro";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

html {
  font-size: 14px;
}

body {
  font-family: "Montserrat", sans-serif;
}

.break-out {
  width: 100vw;
  position: relative;
  left: calc(-1 * (100vw - 100%) / 2);
}

.bgcover {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.affix {
  top: 0;
}

.hoverscale {
  transform: scale(1);
  transition: transform 350ms cubic-bezier(0.38, 1.25, 0.79, 0.99);
}
.hoverscale:hover {
  transform: scale(1.05);
}

a {
  color: #222222;
  text-decoration: none;
}
a:hover {
  color: #1D1D1B;
}

a.nav-link {
  display: block !important;
}

#modaladdJS .btn-close {
  padding: 0px;
}

.modal-header {
  background-color: #1D1D1B;
}
.modal-header h3, .modal-header .h3 {
  color: #fff;
}
.modal-header .close {
  text-shadow: none;
}

.vm-wrap fieldset {
  border: #1D1D1B 2px solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.vm-wrap fieldset legend {
  width: auto;
  padding-left: 10px;
  padding-right: 10px;
  margin-left: 20px;
}

.video-responsive {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}

.video-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}

.bigcard h2, .bigcard .h2 {
  font-size: 2rem;
  font-family: Georgia, "Times New Roman", Times, serif;
  color: #d39048;
}
.bigcard p {
  font-size: 1rem;
  font-family: Georgia, "Times New Roman", Times, serif;
}
.bigcard .btn-outline-dark {
  background-color: transparent;
  border: #222222 2px solid;
  color: #222222;
}

.iframe-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

/* Make the iframe keep an aspect ratio, and
  position it in the middle of its parent wrapper*/
.iframe-wrapper iframe {
  width: 100vw;
  height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
  min-height: 100vh;
  min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.fwctavideo {
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}
.fwctavideo .container {
  z-index: 3;
  position: relative;
  max-width: 1100px;
}
.fwctavideo iframe {
  width: 100vw;
  height: 26.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
  min-height: 100vh;
  min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.popover.login {
  max-width: 600px !important;
}
@media screen and (max-width: 830px) {
  .popover.login {
    left: -160px !important;
  }
}
.popover.login h3, .popover.login .h3 {
  font-size: 170%;
}
.popover.login h3, .popover.login .h3,
.popover.login a {
  color: #1D1D1B;
}
.popover.login a.btn {
  color: #fff;
}

.popover-body {
  width: 300px;
}

.popover-header {
  background-color: #fff;
  border: none !important;
}

.popover-body {
  font-size: 90%;
  background: white; /* Old browsers */
  background: -moz-linear-gradient(top, white 0%, #f7f5f3 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #f7f5f3)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, white 0%, #f7f5f3 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, white 0%, #f7f5f3 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, white 0%, #f7f5f3 100%); /* IE10+ */
  background: linear-gradient(to bottom, white 0%, #f7f5f3 100%); /* W3C */
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  -moz-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.popover-body li {
  list-style: none;
  padding: 0px;
}
.popover-body li:before {
  font-family: "bootstrap-icons" !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  content: "\f054";
  color: #1D1D1B;
  margin-right: 10px;
}
.popover-body li a {
  color: #222222 !important;
}
.popover-body ul {
  list-style: none;
  padding: 0px;
}

.trending li {
  list-style: none;
}
.trending .vm-product-descr-container-1 a {
  font-size: 90%;
}

/*Generic Price styling*/
.PricepriceWithoutTaxTt,
.PricesalesPriceTt.NoVAT {
  color: rgb(5, 70, 98);
}

.pricesmall,
.PricesalesPriceTt.pricesmall {
  color: #6f6f6f !important;
}

/*Generic Price styling*/
.backgroundimgwrap {
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

div.main.container {
  background-color: #fff;
  padding-top: 15px;
}

div.main.container.cart, div.main.container.checkout {
  background-color: transparent !important;
}

.searchouterwrap {
  -webkit-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  -moz-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.searchinnerwrap {
  background-color: #fff;
}

#catsearchresults a.category {
  color: #1D1D1B !important;
}

#searchresults {
  overflow-y: scroll;
  overflow-x: hidden;
  max-height: 600px;
}
#searchresults #vm2-search ul {
  list-style: none;
  padding: 0px;
}
#searchresults .vm2_search_add_image img {
  width: 75px !important;
  height: 75px !important;
}
@media screen and (max-width: 830px) {
  #searchresults .vm2_search_add_image img {
    width: 100px !important;
    height: 100px !important;
  }
}
#searchresults h2 a, #searchresults .h2 a {
  font-size: 80%;
}
@media screen and (max-width: 830px) {
  #searchresults h2 a, #searchresults .h2 a {
    font-size: 100% !important;
  }
}

.fastbuy .PricepriceWithoutTaxTt {
  color: #1D1D1B;
  font-size: 150%;
  font-weight: 500;
}
@media screen and (max-width: 830px) {
  .fastbuy .PricepriceWithoutTaxTt {
    font-size: 100% !important;
  }
}
@media screen and (max-width: 830px) {
  .fastbuy .pricesmall {
    display: none;
  }
}

.input-group-append .btn,
.input-group-prepend .btn {
  z-index: 0 !important;
}

.mainprodrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.mainprodrow > [class*=col-] {
  display: flex;
  flex-direction: column;
}

ul.myaccountwrap {
  list-style: none;
  padding: 0px;
  margin: 0px;
}
ul.myaccountwrap li {
  display: inline-table;
}
ul.myaccountwrap li a {
  font-size: 80%;
}

.slick-prev,
.slick-next {
  font-size: 100%;
  top: 44%;
}

.slick-prev:before,
.slick-next:before {
  font-size: 200%;
  color: #222222;
}

.slick-prev:before {
  font-family: "bootstrap-icons" !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  content: "\f284";
}

.slick-next:before {
  font-family: "bootstrap-icons" !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  content: "\f285";
}

.prod-mod-wrap {
  font-size: 90%;
}
.prod-mod-wrap .addtocartbar {
  display: none !important;
}
.prod-mod-wrap h3, .prod-mod-wrap .h3 {
  font-size: 90%;
}
.prod-mod-wrap label:before {
  font-size: 110%;
}
.prod-mod-wrap .PricepriceWithoutTaxTt {
  font-size: 100% !important;
}

/*Prices Styles*/
.product-related-products,
.youmayalsoneed,
.childprodwrap {
  text-align: center !important;
}
.product-related-products h5, .product-related-products .h5,
.youmayalsoneed h5,
.youmayalsoneed .h5,
.childprodwrap h5,
.childprodwrap .h5 {
  font-size: 14px;
  text-align: center;
}
.product-related-products .vm-product-media-container a,
.youmayalsoneed .vm-product-media-container a,
.childprodwrap .vm-product-media-container a {
  float: left;
  text-align: center !important;
}
.product-related-products small, .product-related-products .small,
.youmayalsoneed small,
.youmayalsoneed .small,
.childprodwrap small,
.childprodwrap .small {
  font-size: 80% !important;
  line-height: 100% !important;
}
.product-related-products .qtywrap,
.youmayalsoneed .qtywrap,
.childprodwrap .qtywrap {
  display: none !important;
}
.product-related-products .flex-grow-1,
.youmayalsoneed .flex-grow-1,
.childprodwrap .flex-grow-1 {
  flex-grow: 0 !important;
}
.product-related-products button.btn-addtocart,
.product-related-products .btn-danger,
.youmayalsoneed button.btn-addtocart,
.youmayalsoneed .btn-danger,
.childprodwrap button.btn-addtocart,
.childprodwrap .btn-danger {
  font-size: 70%;
  padding: 4px 6px;
  text-align: center;
}
.product-related-products .pricewrap,
.youmayalsoneed .pricewrap,
.childprodwrap .pricewrap {
  display: inline;
}
.product-related-products .PricepriceWithoutTaxTt,
.product-related-products .PricesalesPriceTt.NoVAT,
.youmayalsoneed .PricepriceWithoutTaxTt,
.youmayalsoneed .PricesalesPriceTt.NoVAT,
.childprodwrap .PricepriceWithoutTaxTt,
.childprodwrap .PricesalesPriceTt.NoVAT {
  text-align: center;
  font-size: 120% !important;
  line-height: 100% !important;
}
.product-related-products .pricesmall,
.youmayalsoneed .pricesmall,
.childprodwrap .pricesmall {
  display: none;
  font-size: 70% !important;
  line-height: 100% !important;
  display: inline-block;
}
.product-related-products .pricesmall.zerovat, .product-related-products .pricesmall.incvat,
.youmayalsoneed .pricesmall.zerovat,
.youmayalsoneed .pricesmall.incvat,
.childprodwrap .pricesmall.zerovat,
.childprodwrap .pricesmall.incvat {
  display: none;
}
.product-related-products .PricevariantModification,
.youmayalsoneed .PricevariantModification,
.childprodwrap .PricevariantModification {
  display: none !important;
}

.PricevariantModification {
  display: none !important;
}

/*Prices Styles*/
.countdownwrap {
  flex-wrap: nowrap;
  min-width: 260px;
}
.countdownwrap #countdown {
  font-size: 80%;
}
.countdownwrap .time {
  flex-wrap: nowrap !important;
}
.countdownwrap .smalltext {
  font-size: 70%;
}
.countdownwrap .icon i {
  font-size: 120%;
}
@media screen and (max-width: 830px) {
  .countdownwrap a i {
    color: #1D1D1B !important;
    font-size: 120% !important;
  }
}

.mobile-countdown {
  z-index: 1019;
  background-color: #222222;
  color: #fff;
}

.cf_wrapp_all ul {
  padding: 0px;
}
.cf_wrapp_all ul li {
  padding: 0px;
}
.cf_wrapp_all ul li.cfLiLevel0 {
  font-size: 18px;
}
.cf_wrapp_all ul li.cfLiLevel1 {
  font-size: 18px;
  padding: 0px;
  margin-left: 5px !important;
}
.cf_wrapp_all ul li.cfLiLevel1 a {
  color: #6f6f6f;
}
.cf_wrapp_all ul li.cfLiLevel2 {
  font-size: 14px;
  padding: 0px;
  margin-left: 5px !important;
}
.cf_wrapp_all a {
  color: #222222;
}

.minicarthdr p {
  padding: 0px;
  margin: 0px;
}

.mini-cart {
  text-align: left !important;
}
.mini-cart .description {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
}
.mini-cart .vm_cart_products {
  font-size: 14px;
}
.mini-cart .shopping-cart-header .row {
  background-color: #e1e1e1;
  margin-bottom: 5px;
}
.mini-cart .shopping-cart-total {
  font-size: 110%;
  color: #1D1D1B;
  font-weight: 500;
}
.mini-cart #tt_total_basket_div_basket {
  font-size: 150%;
  font-weight: 500;
}

@media screen and (max-width: 500px) {
  .stickybasketwrap {
    position: relative;
    margin-top: 0px !important;
  }
}

@media screen and (max-width: 500px) {
  .stickybasket {
    position: relative;
    padding-top: 0px !important;
  }
}

.smalldesc li,
.product-description-wrap li,
ul.ticked li {
  padding: 0px;
  padding-left: 5px;
}
.smalldesc li::marker,
.product-description-wrap li::marker,
ul.ticked li::marker {
  font-family: "bootstrap-icons" !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  content: "\f270";
  color: #51b37f;
  margin-right: 5px;
}

ul.ticked {
  padding-left: 15px;
  padding-bottom: 0px !important;
  margin-bottom: 0px !important;
}

#fancybox-wrap #fancybox-title {
  width: 100%;
  margin: 0px !important;
  text-align: center;
  width: 100% !important;
}
@media screen and (max-width: 830px) {
  #fancybox-wrap {
    width: 100% !important;
    left: 0px !important;
  }
}
@media screen and (max-width: 830px) {
  #fancybox-wrap #fancybox-content {
    width: 100% !important;
    height: auto !important;
    padding: 5px !important;
  }
}
#fancybox-wrap .popupheader h4, #fancybox-wrap .popupheader .h4 {
  color: #222222;
}
#fancybox-wrap .popupheader h4 i, #fancybox-wrap .popupheader .h4 i,
#fancybox-wrap .popupheader h4 svg,
#fancybox-wrap .popupheader .h4 svg {
  color: #1D1D1B;
}
#fancybox-wrap .popupheader ul {
  list-style: none;
  padding: 0px;
  margin: 0px;
}
#fancybox-wrap .popupheader ul i,
#fancybox-wrap .popupheader ul svg {
  color: rgb(116, 172, 42);
}

#fancybox-outer,
#fancybox-wrap {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
#fancybox-outer .product-related-products,
#fancybox-wrap .product-related-products {
  background-color: #ece8e4;
}

#fancybox-content {
  border-width: 0px !important;
}
#fancybox-content h3, #fancybox-content .h3 {
  color: #7b6956;
}
#fancybox-content .product-field-display h5, #fancybox-content .product-field-display .h5 {
  font-size: 14px;
}
#fancybox-content .product-field-display img {
  max-width: 100px;
  height: auto;
}

.popupwrapper {
  width: 500px;
}
@media screen and (max-width: 830px) {
  .popupwrapper {
    width: 100% !important;
  }
}

.popupheader {
  background-color: #fff;
  color: #222222;
  font-size: 110%;
}

/*Basket styles*/
/*Form Wizard$green*/
.bs-wizard {
  border-bottom: solid 1px #e0e0e0;
  padding: 0 0 10px 0;
}

.bs-wizard > .bs-wizard-step {
  padding: 0;
  position: relative;
}

.bs-wizard > .bs-wizard-step .bs-wizard-stepnum {
  color: #595959;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

.bs-wizard > .bs-wizard-step .bs-wizard-info {
  color: #999;
  font-size: 14px;
}

.bs-wizard > .bs-wizard-step > .bs-wizard-dot {
  position: absolute;
  width: 30px;
  height: 30px;
  display: block;
  background: #bee38c;
  top: 45px;
  left: 50%;
  margin-top: -15px;
  margin-left: -15px;
  border-radius: 50%;
}

.bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {
  content: " ";
  width: 14px;
  height: 14px;
  background: rgb(116, 172, 42);
  border-radius: 50px;
  position: absolute;
  top: 8px;
  left: 8px;
}

.bs-wizard > .bs-wizard-step > .progress {
  position: relative;
  border-radius: 0px;
  height: 8px;
  box-shadow: none;
  margin: 20px 0;
}

.bs-wizard > .bs-wizard-step > .progress > .progress-bar {
  width: 0px;
  box-shadow: none;
  background: #bee38c;
}

.bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {
  width: 100%;
}

.bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {
  width: 50%;
}

.bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {
  width: 0%;
}

.bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {
  width: 100%;
}

.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {
  background-color: #f5f5f5;
}

.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {
  opacity: 0;
}

.bs-wizard > .bs-wizard-step:first-child > .progress {
  left: 50%;
  width: 50%;
}

.bs-wizard > .bs-wizard-step:last-child > .progress {
  width: 50%;
}

.bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot {
  pointer-events: none;
}

/*END Form Wizard*/
/*Basket Nav*/
#first_name_input .form-control,
#shipto_first_name_input .form-control {
  width: 49% !important;
  display: inline !important;
}

.greywrap {
  background-color: #f7f5f3;
  /*background-color: #e5d9cb;*/
}

/* Move reCAPTCHA v3 badge to the left */
.grecaptcha-badge {
  width: 70px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  left: 4px !important;
}
@media (max-width: 767px) {
  .grecaptcha-badge {
    left: -9999rem !important;
  }
}

.grecaptcha-badge:hover {
  width: 256px !important;
}

.container.checkout {
  width: 1200px;
}
@media (max-width: 767px) {
  .container.checkout {
    width: 100%;
  }
}
.container.checkout .countdownwrap {
  margin-top: 0px !important;
}
.container.checkout .countdownwrap #countdown {
  font-size: 14px;
}
.container.checkout .countdownwrap .icon i {
  font-size: 24px;
}

.container.orders,
.container.user,
.container.article {
  width: 1200px;
}
@media (max-width: 767px) {
  .container.orders,
.container.user,
.container.article {
    width: 100%;
  }
}

/*Forms*/
.form-control {
  background-color: #fbfaf9;
  border: #e1dbd5 1px solid;
}

.col-form-label {
  font-size: 0.875rem;
}
.col-form-label.required label:after {
  display: inline-block;
  content: "*";
  color: #d3494c;
  font-variant-position: super !important;
  margin-left: 5px;
}

.form-group.bank_account_nr,
.form-group.po_compulsary,
.form-group.admin_cust_note,
#admin_cust_note_div,
#admin_cust_note_input,
.form-group.marked_for_social,
#marked_for_social_div,
#marked_for_social_input {
  display: none !important;
}

/*Forms*/
input.formcontrol[type=checkbox] {
  width: auto !important;
}

.freeshipping i,
.freeshipping svg {
  color: rgb(116, 172, 42) !important;
}

/*Radios*/
.text-center {
  text-align: center;
}

.thick-end {
  border-bottom: 10px solid black;
}

.thin-end {
  border-bottom: 1px solid black;
}

.formContainer .formRequired {
  color: red;
}
.formContainer fieldset:nth-child(n+2) {
  border: #1D1D1B 2px solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  padding: 20px;
}
.formContainer fieldset:nth-child(n+2) .form-control,
.formContainer fieldset:nth-child(n+2) .control-label {
  font-size: 80%;
}
.formContainer fieldset:nth-child(n+2) label {
  vertical-align: middle !important;
}
.formContainer fieldset:nth-child(n+2) legend {
  font-size: 120%;
  color: #009844;
  display: inherit;
  width: auto;
  padding: 0px 10px;
}

.g-recaptcha {
  margin: 15px auto !important;
  width: auto !important;
  height: auto !important;
  text-align: -webkit-center;
  text-align: -moz-center;
  text-align: -o-center;
  text-align: -ms-center;
}

div.icons {
  display: none;
}

.slug_blog .articletext {
  column-count: 2;
}
@media (max-width: 767px) {
  .slug_blog .articletext {
    column-count: 1;
  }
}
.slug_blog .introtext {
  color: #009844;
  font-size: 1.5rem;
}

.jobapp fieldset {
  padding: 10px !important;
}
.jobapp fieldset .form-group {
  margin-bottom: 2px;
}
.jobapp fieldset .form-group label {
  margin-bottom: 0px;
}
.jobapp fieldset .form-group .form-control {
  padding: 5px;
  height: auto;
}
.jobapp fieldset button {
  width: 100%;
}

.form-control-file {
  font-size: 80%;
}

.zendesk-button:focus {
  outline: none;
  position: absolute;
  bottom: 0px;
  right: 0px;
}

.zendesk-button {
  outline: none;
  position: absolute;
  bottom: 0px;
  right: 0px;
}

.myaccount-wrap .card p {
  height: 70px;
}
@media screen and (max-width: 830px) {
  .myaccount-wrap .card p {
    height: auto !important;
  }
}
.myaccount-wrap .card a {
  color: #1D1D1B !important;
  font-weight: 600;
}

.login-myaccount-wrap a {
  border: none !important;
}
.login-myaccount-wrap a:hover {
  background-color: #eeeeee;
}
@media screen and (max-width: 830px) {
  .login-myaccount-wrap h3, .login-myaccount-wrap .h3 {
    font-size: 1.2rem;
    color: #222222;
  }
}
.login-myaccount-wrap p {
  font-size: 0.8rem;
  color: #a2a2a2;
  margin-bottom: 0px;
}
@media screen and (max-width: 830px) {
  .login-myaccount-wrap p {
    font-size: 1rem;
    color: #555555;
  }
}

.straptite-account-modal {
  --straptite-account-panel: #f2f2f2;
  --straptite-account-accent: #0ca151;
}
.straptite-account-modal .modal-content {
  min-height: 100%;
  border: 0;
  border-radius: 0;
}
.straptite-account-modal__aside, .straptite-account-modal__main {
  min-height: 100vh;
}
.straptite-account-modal__aside {
  padding: clamp(3rem, 8vw, 9rem);
  background: var(--straptite-account-panel);
  color: #222222;
}
.straptite-account-modal__aside-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(100%, 31rem);
  margin: auto;
}
.straptite-account-modal__brand {
  display: inline-flex;
  align-self: flex-start;
  width: min(19rem, 100%);
  margin-bottom: clamp(2.5rem, 7vh, 5rem);
}
.straptite-account-modal__brand img {
  width: 100%;
  height: auto;
}
.straptite-account-modal__eyebrow {
  max-width: 11ch;
  margin: 0 0 1.25rem;
  color: #222222;
  font-size: clamp(2.25rem, 4vw, 4.75rem);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 0.98;
}
.straptite-account-modal__intro {
  max-width: 27rem;
  margin: 0;
  color: #555555;
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.65;
}
.straptite-account-modal__main {
  display: flex;
  flex-direction: column;
  background: #fff;
}
.straptite-account-modal .modal-header {
  align-items: center;
  justify-content: space-between;
  min-height: 5.75rem;
  padding: clamp(1.25rem, 2vw, 2rem) clamp(1.5rem, 5vw, 6rem) 0;
  background-color: #fff;
  border-bottom: 0;
}
.straptite-account-modal .modal-title {
  color: #222222;
  font-size: clamp(1.2rem, 1.5vw, 1.55rem);
  font-weight: 700;
}
.straptite-account-modal .modal-body {
  display: flex;
  align-items: center;
  padding: clamp(2rem, 5vw, 6rem);
}
.straptite-account-modal__form {
  width: min(100%, 30rem);
  margin: auto;
}
.straptite-account-modal__mobile-brand {
  display: inline-flex;
  width: min(12rem, 60vw);
  margin-right: auto;
}
.straptite-account-modal__mobile-brand img {
  width: 100%;
  height: auto;
}
.straptite-account-modal .form-control {
  min-height: 3.4rem;
  border-color: rgba(34, 34, 34, 0.28);
}
.straptite-account-modal .form-control:focus {
  border-color: var(--straptite-account-accent);
  box-shadow: 0 0 0 0.2rem rgba(233, 131, 21, 0.18);
}
.straptite-account-modal .form-floating > label {
  color: #626262;
}
.straptite-account-modal .btn-success {
  min-height: 3.25rem;
}
.straptite-account-modal__password-help {
  display: block;
  color: #626262;
  text-align: center;
}
.straptite-account-modal__password-help a {
  color: #1D1D1B;
  font-weight: 700;
}
.straptite-account-modal .mod-login__userdata > hr {
  margin: 1.75rem 0;
  border-color: rgba(34, 34, 34, 0.16);
  opacity: 1;
}
.straptite-account-modal .mod-login__submit > button[type=button] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 3.1rem;
  color: #222222 !important;
  background-color: #f0efed !important;
  border-color: #f0efed !important;
  font-size: 0.9375rem;
  font-weight: 600;
}
.straptite-account-modal .mod-login__submit > button[type=button]:hover, .straptite-account-modal .mod-login__submit > button[type=button]:focus-visible {
  color: #222222 !important;
  background-color: #e4e1de !important;
  border-color: #e4e1de !important;
}
.straptite-account-modal .mod-login__submit > button[type=button].akeeba-sociallogin-link-button-j4-apple > svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
  filter: brightness(0);
}
.straptite-account-modal__google-mark {
  width: 1.25rem;
  height: 1.25rem;
}
.straptite-account-modal__greeting {
  margin-bottom: 1.5rem;
  color: #222222;
  font-size: 1.15rem;
  font-weight: 600;
}
.straptite-account-modal__account-card {
  border: 1px solid rgba(34, 34, 34, 0.14) !important;
  border-radius: 0.45rem !important;
  color: #222222;
  text-decoration: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}
.straptite-account-modal__account-card h2, .straptite-account-modal__account-card .h2 {
  margin-bottom: 0.65rem;
  color: #222222;
  font-size: 1.05rem;
  font-weight: 700;
}
.straptite-account-modal__account-card h2 i, .straptite-account-modal__account-card .h2 i {
  color: var(--straptite-account-accent);
}
.straptite-account-modal__account-card p {
  height: auto;
  margin: 0;
  color: dimgray;
  font-size: 0.9rem;
  line-height: 1.5;
}
.straptite-account-modal__account-card:hover, .straptite-account-modal__account-card:focus-visible {
  border-color: var(--straptite-account-accent) !important;
  box-shadow: 0 0.75rem 1.75rem rgba(34, 34, 34, 0.1);
  transform: translateY(-0.2rem);
}
.straptite-account-modal__account-card:focus-visible {
  outline: 2px solid var(--straptite-account-accent);
  outline-offset: 0.2rem;
}
@media screen and (max-width: 991.98px) {
  .straptite-account-modal__main {
    min-height: 100vh;
  }
  .straptite-account-modal .modal-body {
    align-items: flex-start;
    padding-top: clamp(2rem, 10vh, 5rem);
  }
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: block;
  src: url("../fonts/montserrat/montserrat-latin-variable.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 100 900;
  font-display: block;
  src: url("../fonts/montserrat/montserrat-latin-variable-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: block;
  src: url("../fonts/montserrat/montserrat-latin-ext-variable.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 100 900;
  font-display: block;
  src: url("../fonts/montserrat/montserrat-latin-ext-variable-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "bootstrap-icons";
  font-style: normal;
  font-weight: normal;
  font-display: block;
  src: url("../fonts/bootstrap-icons.woff2") format("woff2");
}
.bi::before,
[class^=bi-]::before,
[class*=" bi-"]::before {
  display: inline-block;
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -0.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bi-alarm-fill::before {
  content: "\f101";
}

.bi-arrow-clockwise::before {
  content: "\f117";
}

.bi-arrow-repeat::before {
  content: "\f130";
}

.bi-basket::before {
  content: "\f180";
}

.bi-box-fill::before {
  content: "\f7d2";
}

.bi-boxes::before {
  content: "\f685";
}

.bi-broadcast::before {
  content: "\f1d6";
}

.bi-building::before {
  content: "\f1dd";
}

.bi-chat-dots::before {
  content: "\f24a";
}

.bi-chat-left-text-fill::before {
  content: "\f251";
}

.bi-check::before {
  content: "\f26e";
}

.bi-check-all::before {
  content: "\f269";
}

.bi-dash-lg::before {
  content: "\f63b";
}

.bi-droplet::before {
  content: "\f30d";
}

.bi-envelope::before {
  content: "\f32f";
}

.bi-facebook::before {
  content: "\f344";
}

.bi-fingerprint::before {
  content: "\f671";
}

.bi-headset::before {
  content: "\f414";
}

.bi-info-circle-fill::before {
  content: "\f430";
}

.bi-instagram::before {
  content: "\f437";
}

.bi-lightning-charge::before {
  content: "\f46d";
}

.bi-linkedin::before {
  content: "\f472";
}

.bi-list::before {
  content: "\f479";
}

.bi-lock::before {
  content: "\f47b";
}

.bi-person::before {
  content: "\f4e1";
}

.bi-phone::before {
  content: "\f4e7";
}

.bi-piggy-bank::before {
  content: "\f64a";
}

.bi-plus-lg::before {
  content: "\f64d";
}

.bi-question-circle-fill::before {
  content: "\f504";
}

.bi-search::before {
  content: "\f52a";
}

.bi-signpost-2::before {
  content: "\f546";
}

.bi-tag-fill::before {
  content: "\f5af";
}

.bi-three-dots-vertical::before {
  content: "\f5d4";
}

.bi-truck::before {
  content: "\f5ea";
}

.bi-twitter::before {
  content: "\f5ef";
}

@media screen and (min-width: 320px) {
  html {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1000px) {
  html {
    font-size: 1rem;
  }
}
.text-gradient {
  background: -webkit-linear-gradient(270deg, #009844 20%, #2d363d 70%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-box-decoration-break: clone;
}

h1, .h1 {
  font-size: 200%;
}

h2, .h2, h3, .h3 {
  color: #222222;
}

h2, .h2 {
  font-size: 120%;
}

h3, .h3 {
  font-size: 110%;
}

.topmenu {
  font-size: 14px;
}
.topmenu a {
  color: #b3b3b3;
  margin-right: 15px;
}
.topmenu a.signin-out-btn {
  color: #fff;
  font-weight: 500;
}

a.btn.jmodedit {
  display: none;
}

header {
  background-color: #fff;
  color: #6c6060;
  /*background-image:url("coffeeheader.jpg");*/
  background-repeat: no-repeat;
  background-size: cover;
}
header a, header .btn, header i {
  color: #fff;
}
header .bi {
  font-size: 2rem;
}
header .bi-search {
  font-size: 1.3rem;
}
header .logobar.container {
  max-width: 1400px;
}
header .ctabar {
  font-size: 0.8rem;
}
header .ctabar i {
  position: relative;
  top: 2px;
  font-size: 1.2rem;
}
header .btn-outline-secondary {
  color: #009844 !important;
  background-color: #fff;
}
header .btn-outline-secondary:hover {
  background-color: #009844;
  border-color: #009844;
  color: #fff !important;
}
header .form-control .cf-searchmod-wrapper {
  border: 0px;
}
header .loginbox {
  position: relative;
}
header .loginfloatbox {
  position: absolute;
  background-color: #fff;
  bottom: 0px;
}
header .btn-popover-container {
  display: inline-block;
}
header .btn-popover-container:hover {
  cursor: pointer;
  text-decoration: underline !important;
  color: #1D1D1B;
}
header .btn-popover-container .btn-popover-title,
header .btn-popover-container .btn-popover-content {
  display: none;
}
header #login-form label {
  justify-content: flex-end;
}
header .searchouterwrap {
  background-color: #fff;
}
header .searchouterwrap #searchresults {
  background-color: #fff;
}
header .searchouterwrap .col.product img {
  width: 50%;
  align-self: center;
}
@media screen and (max-width: 830px) {
  header .searchouterwrap {
    top: 120px;
  }
}

div.overlay,
.modal {
  transition: all 0s ease;
  background-color: rgba(34, 34, 34, 0.5);
  backdrop-filter: blur(4px);
}

div.overlay.active {
  transition-delay: 0.25s;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  display: block;
  height: 100%;
  z-index: 2;
}

.megamenu {
  z-index: 2;
}
.megamenu li a {
  font-size: 1rem;
  color: #fff;
  padding: 10px;
  position: relative;
}
.megamenu li a:hover {
  color: #fff !important;
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.1);
}
.megamenu li a.active {
  color: #373734;
}
.megamenu li.toplevel:hover > a, .megamenu li.toplevel.current > a {
  color: #009844 !important;
  background-color: white !important;
  border: none;
}
.megamenu li .megacontent {
  left: -999em;
  transition: all 0s ease;
  z-index: 3;
  position: absolute !important;
  top: 45px;
}
.megamenu li .megacontent .colsep {
  margin: 5px 0px !important;
  float: left;
  width: 100%;
}
.megamenu li .megacontent ul {
  padding: 0px;
  list-style: none;
}
.megamenu li .megacontent li span.nav-header a,
.megamenu li .megacontent li span.nav-header {
  color: #009844 !important;
  text-transform: uppercase;
  width: 100%;
  display: block;
  font-weight: 700;
}
.megamenu li .megacontent a {
  font-size: 1rem;
  padding: 2px 0px !important;
}
.megamenu li .megacontent a .menusuffix {
  font-weight: 700 !important;
}
.megamenu li .megacontent a:hover {
  text-decoration: underline;
}
.megamenu li .megacontent a {
  color: #333333 !important;
  padding: 2px 0px !important;
  font-weight: 300;
  font-size: 0.9rem;
}
.megamenu li .megacontent a:hover {
  text-decoration: underline;
}
.megamenu li .megacontent .faqwrap ul {
  padding-left: 0px !important;
}
.megamenu li .megacontent .faqwrap ul li {
  list-style: none;
}
.megamenu li .megacontent .faqwrap ul li:hover {
  background-color: rgba(45, 54, 61, 0.6) !important;
}
.megamenu li .megacontent .faqwrap ul li a {
  color: #fff !important;
  font-size: 0.9rem;
}
.megamenu li .megacontent .faqwrap ul li a:hover {
  text-decoration: none;
  background-color: transparent !important;
}
.megamenu li .megacontent .btn-brands {
  font-size: 200% !important;
  color: #009844;
  border: 2px #1D1D1B solid;
  padding: 10px !important;
  display: inline !important;
}
.megamenu li .megacontent .megafooter {
  background-color: #2d363d;
  color: #51b37f;
}
.megamenu li .megacontent .megafooter a {
  color: #51b37f !important;
}
.megamenu li .megacontent .megafooter small, .megamenu li .megacontent .megafooter .small {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.8rem;
  font-style: italic;
}
.megamenu li .megacontent .megafooter strong {
  font-weight: 700;
}
.megamenu li:hover .megacontent {
  left: 0;
  right: 0;
  margin: 0 auto;
  transition-delay: 0.05s;
}

li.col ul {
  margin-bottom: 10px;
}

#Cups .megacontent li a {
  font-size: 70% !important;
}
#Cups .megacontent li a img {
  width: 80px !important;
}

.hpctadarkvan {
  font-weight: 100;
  font-size: 0.9rem;
}
.hpctadarkvan h1, .hpctadarkvan .h1 {
  font-size: 2.5rem;
}
.hpctadarkvan h1, .hpctadarkvan .h1, .hpctadarkvan h3, .hpctadarkvan .h3 {
  color: #009844;
  text-transform: uppercase;
  font-weight: 100;
}
.hpctadarkvan h3, .hpctadarkvan .h3 {
  font-size: 1.5rem;
}

.imgwrap {
  width: 100%;
  height: 200px;
}

.specofferswrap {
  z-index: 1015;
  top: -270px;
}

.spacedinfobar {
  color: #404040;
  font-size: 0.8rem;
}
.spacedinfobar .bi::before {
  color: #009844;
}
.spacedinfobar p {
  color: rgba(64, 64, 64, 0.5);
}

.hpcatswrapper .itemwrapper .text-wrap p {
  display: none;
}
.hpcatswrapper .itemwrapper .text-wrap p:first-of-type {
  font-size: 0.8rem;
  display: block;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.hpcatswrapper .itemwrapper:hover {
  background-color: rgba(64, 64, 64, 0.1);
}

.gethelpwrap ul {
  list-style: none;
}
.gethelpwrap a, .gethelpwrap h3, .gethelpwrap .h3 {
  color: #fff !important;
}

.blogitem h3 a, .blogitem a {
  color: #2d363d;
}
.blogitem h3 a:hover, .blogitem a:hover {
  color: #009844;
  text-decoration: underline;
}
.blogitem p {
  font-size: 0.9rem;
}

.fullwidthbg {
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
}

.fwcta {
  overflow-x: hidden;
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  clip-path: inset(0);
  min-height: 55vh !important;
  position: relative;
  color: #fff;
}
.fwcta img.background {
  object-fit: cover;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.fwcta h2, .fwcta .h2 {
  color: #fff;
  font-size: 2rem;
}
.fwcta p.lead {
  font-size: 1rem;
}
.fwcta::after {
  content: "";
  display: block;
  background-color: rgba(9, 26, 52, 0.6235294118);
  z-index: 1;
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
}
.fwcta .container {
  z-index: 3;
  position: relative;
  max-width: 1100px;
}

.imagebgwrap.fwcta {
  color: #ece8e4;
  font-size: 90%;
}
.imagebgwrap.fwcta h1, .imagebgwrap.fwcta .h1 {
  font-size: 200%;
  font-family: Georgia, "Times New Roman", Times, serif;
}
.imagebgwrap.fwcta h2, .imagebgwrap.fwcta .h2 {
  font-size: 180%;
  font-weight: 100;
}
.imagebgwrap.fwcta h1, .imagebgwrap.fwcta .h1,
.imagebgwrap.fwcta h2,
.imagebgwrap.fwcta .h2,
.imagebgwrap.fwcta a {
  color: #1D1D1B;
}

.hpbrands a img {
  transform: scale(0.8);
  -webkit-filter: grayscale(100%);
  transition: transform 350ms cubic-bezier(0.38, 1.25, 0.79, 0.99);
}
.hpbrands a img:hover {
  transform: scale(1);
  -webkit-filter: grayscale(0);
}
.hpbrands h2, .hpbrands .h2 {
  color: #1D1D1B;
  font-size: 2.2rem;
  font-family: Georgia, "Times New Roman", Times, serif;
}

.introcta {
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  color: #222222;
}
.introcta h1, .introcta .h1 {
  color: #1D1D1B;
  font-size: 2.2rem;
  font-family: Georgia, "Times New Roman", Times, serif;
}
.introcta p.lead {
  font-size: 1.1rem;
  line-height: 1.9em;
}
.introcta .container {
  z-index: 3;
  position: relative;
  padding: 100px 0px;
  max-width: 1100px;
}

section.brandbar {
  background-color: rgba(0, 101, 45, 0.93);
}

section.trustpilot {
  background-color: rgba(0, 50, 22, 0.95);
  padding: 40px 40px 80px;
}
section.trustpilot h2, section.trustpilot .h2 {
  font-weight: 100;
  margin-bottom: 20px;
  color: #1D1D1B;
}
section.trustpilot .orange {
  color: #1D1D1B;
}
section.trustpilot .tpheader {
  margin-top: 35px;
}
section.trustpilot h3, section.trustpilot .h3 {
  color: #1D1D1B;
  margin: 0px;
}
section.trustpilot p {
  font-size: 14px;
}
section.trustpilot .reviewwrap {
  margin-bottom: 15px;
}

section.blog {
  /*background-image: url(../images/nov-2016/blog-bg.jpg); background-size: cover; background-repeat: no-repeat;*/
  padding: 40px 0px;
}
section.blog h2, section.blog .h2 {
  font-size: 32px;
  font-weight: 100;
  color: #1D1D1B;
  margin-bottom: 30px;
}
section.blog .blogpostwrap {
  background-color: #ffffff;
  -webkit-box-shadow: 0px 5px 5px 0px rgba(50, 50, 50, 0.6);
  -moz-box-shadow: 0px 5px 5px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0px 5px 5px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  margin-bottom: 15px;
}

nav.breadcrumb {
  padding: 5px 0px 3px;
}
nav.breadcrumb ol.breadcrumb {
  font-size: 0.8rem;
  background-color: transparent !important;
  padding: 0px;
  margin: 0px;
  color: #8d8d8d;
}
nav.breadcrumb ol.breadcrumb a {
  color: #8d8d8d;
}

.breadcrumb {
  background-color: transparent !important;
  border-radius: 1rem;
}
.breadcrumb svg.separator {
  fill: #c2b5a8 !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  font-family: "bootstrap-icons" !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.breadcrumb-item.active {
  color: #009844;
  font-weight: 600;
}

.btn-success {
  color: #fff !important;
}
.btn-success i,
.btn-success svg {
  color: #fff !important;
}

.btn-xs {
  font-size: 90%;
  padding: 2px 5px;
}

.btn-xl {
  font-size: 32px;
}

.btn-xxl {
  font-size: 52px;
}

.btn-outline-orange {
  color: #fff !important;
  background-color: #1D1D1B;
  border-color: #1D1D1B;
}

.btn-orange {
  color: #fff !important;
  background-color: #1D1D1B;
  border-color: #1D1D1B;
}

.btn-outline-secondary {
  color: #fff !important;
  background-color: rgba(0, 152, 68, 0.2);
}

.btn .subtext {
  font-size: 14px;
}

.btn-stripe {
  color: #fff;
  border: 2px #1D1D1B solid;
}
.btn-stripe:hover {
  background: transparent;
  color: #1D1D1B;
}

.btn-outline-light {
  color: #2a2a27;
  background-color: rgba(45, 45, 45, 0.1333333333);
  border-color: #f8f9fa;
}

.btn-outline-dark {
  color: #2a2a27;
  border-color: #222222;
}

.checkoutbutton,
.vmCartModule .btn-success,
.checkout_step_1 .btn-success {
  border-top-right-radius: 0px !important;
  border-top-left-radius: 0px !important;
}

#payment_top_wrapper {
  border-bottom-right-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
}

.carousel-inner {
  overflow: hidden;
}

.carousel-item {
  display: flex !important;
  justify-content: center !important; /* Align horizontally */
  align-items: center !important; /* Align vertically */
}

.hero {
  width: 100%; /* Ensure full width */
}

footer.footer {
  color: #fff;
}
footer.footer a, footer.footer h2, footer.footer .h2, footer.footer h3, footer.footer .h3 {
  color: #51b37f;
}
footer.footer ul {
  padding-left: 15px;
}
footer.footer h4, footer.footer .h4 {
  font-size: 1rem;
}
footer.footer .small {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8rem;
}
footer.footer i {
  font-size: 1rem;
}
footer.footer .disclaimer {
  background-color: #171c20;
  color: #5d656a;
  font-size: 11px;
  padding-top: 15px;
  padding-bottom: 15px;
}
footer.footer .disclaimer a {
  color: #8b969c;
}

.disclaimer {
  background-color: #43505a;
  color: #171c20;
  font-size: 11px;
  padding-top: 15px;
  padding-bottom: 15px;
}
.disclaimer a {
  color: #8b969c;
}

.rsform-block {
  margin-bottom: 5px;
}

.leftcol h3, .leftcol .h3 {
  font-weight: 600;
  font-size: 110%;
}
.leftcol ul {
  list-style: none;
  padding: 0px;
}
.leftcol ul li {
  margin-bottom: 7pmpx;
  list-style: none;
  padding: 0px;
}
.leftcol ul li a {
  line-height: normal;
  color: #009844 !important;
  font-weight: 500;
}
.leftcol .faqmenu a {
  color: rgba(29, 29, 27, 0.7) !important;
}
.leftcol .faqmenu.active a {
  color: #1D1D1B !important;
  font-weight: 500;
}

@media screen and (max-width: 500px) {
  .relcarousel {
    display: none !important;
  }
  div.main {
    font-size: 24px;
  }
  body {
    overflow: hidden;
    overflow-y: auto;
  }
}
@media (min-width: 1200px) {
  .container.outer {
    max-width: 1400px;
  }
}
.mobilesearch i {
  font-size: 150% !important;
}
.mobilesearch .form-control {
  border-radius: 5px 0px 0px 5px;
}
.mobilesearch .input-group-text {
  border-radius: 0px 5px 5px 0px;
}

@media (max-width: 767.98px) {
  .offcanvas-collapse {
    position: fixed;
    z-index: 2;
    top: 95px;
    /* Height of navbar */
    bottom: 0;
    width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
    overflow-y: auto;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  .offcanvas-collapse.open {
    -webkit-transform: translateX(0rem);
    transform: translateX(0rem);
    /* Account for horizontal padding on navbar */
  }
}
.mobilemenu {
  -webkit-overflow-scrolling: touch;
  /*left: 0px !important; */
  /*$offblack: darken(@color-navbarsub,0%);*/
  /*$offblack: $primary;*/
  background-color: #009844;
  /* Old browsers */
  margin-top: 0px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  z-index: 1050;
  border: none;
  overflow-y: auto;
  padding: 0px;
  padding-top: 0px !important;
  width: 100% !important;
  position: fixed !important;
  height: 100% !important;
  overflow-y: scroll !important;
  z-index: 1000 !important;
  /*left:0px !important; */
}
.mobilemenu ul.menu > li > a {
  display: block;
}
.mobilemenu ul.menu {
  padding: 0px;
  margin: 0px;
  float: left;
  width: 100%;
}
.mobilemenu ul.menu span.separator {
  display: none;
}
.mobilemenu ul.menu li {
  border-bottom: #2d363d 1px solid;
  padding: 5px 0px 0px !important;
  padding-left: 0px !important;
  list-style: none;
  transition: background-color 1s ease;
}
.mobilemenu ul.menu li a:after {
  content: "\f285";
  font-family: "bootstrap-icons" !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  color: #fff;
  padding-right: 15px;
  font-size: 80%;
  padding-top: 10px;
  vertical-align: top;
  float: right;
  transition: transform 0.5s ease;
  transform-origin: 0.35em 65%;
}
.mobilemenu ul.menu li.show {
  background-color: #2d363d;
}
.mobilemenu ul.menu li.show > a {
  color: #fff !important;
  text-decoration: none;
}
.mobilemenu ul.menu li.show > a:after {
  color: #fff;
  transform: rotate(90deg);
}
.mobilemenu ul.menu li span {
  color: #fff !important;
  font-size: 1.5rem;
  font-weight: bold;
}
.mobilemenu ul.menu li a {
  color: #fff;
  font-size: 160%;
  margin-left: 10px !important;
  font-weight: 500;
}
.mobilemenu ul.menu li#Cups li a:after {
  content: "";
  font-family: "bootstrap-icons" !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}
.mobilemenu ul.menu li li {
  border: none;
  padding: 0px 10px !important;
}
.mobilemenu ul.menu li li a {
  margin-left: 10px !important;
  color: #fff;
  font-size: 100%;
  font-weight: 500;
}
.mobilemenu ul.menu li li a span {
  color: #1D1D1B;
}
.mobilemenu ul.menu li li a:before {
  color: #fff;
  display: none;
}
.mobilemenu ul.menu li ul {
  background-color: #007f39;
  padding: 10px 0px;
  border-bottom: #00652d 1px solid;
  margin: 0px;
  display: none;
}
.mobilemenu ul.menu li ul.show {
  display: block;
}
.mobilemenu ul.menu li ul ul {
  display: block !important;
  background-color: transparent !important;
  margin-bottom: 10px;
  padding-top: 0px;
}
.mobilemenu ul.menu li ul ul li a {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}
.mobilemenu ul.menu li ul ul li a span {
  color: #fff;
}
.mobilemenu ul.menu li ul ul li a:before {
  color: #fff;
  display: block;
}
.mobilemenu li.item2 {
  float: left;
  position: absolute;
  left: -999999px;
}
.mobilemenu ul.menu.top a:before {
  content: "";
  padding-right: 2px;
}

.mobilecups li a.cupslink {
  font-size: 50% !important;
}

.carousel {
  z-index: 0;
}

button.slick-arrow {
  width: 1px !important;
}

.slick-initialized .slick-slide {
  display: block;
}

.trendingwrap h2, .trendingwrap .h2 {
  color: #1D1D1B;
  font-size: 3.5rem;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 830px) {
  .trendingwrap h2, .trendingwrap .h2 {
    font-size: 1.5rem;
  }
}

div.trending {
  color: #79745d;
}
div.trending .product.item {
  border: 1px #d7d5cb solid;
}
div.trending .product.item.mega {
  border: none;
}
div.trending .product.item.mega .vm-product-media-container {
  height: 120px;
}
div.trending .product.item.mega img {
  transform: scale(0.8);
  padding: 0px !important;
  transition: transform 350ms cubic-bezier(0.38, 1.25, 0.79, 0.99);
}
div.trending .product.item.mega img:hover {
  transform: scale(1);
}
div.trending .product.item.mega a::after {
  display: none;
  content: "";
}
div.trending .product.item .maincont {
  background-color: #f8f8f6;
  color: #634521;
  padding-bottom: 50%;
}
@media screen and (max-width: 830px) {
  div.trending .product.item .maincont {
    padding-bottom: 72%;
  }
}
div.trending .product.item h3, div.trending .product.item .h3 {
  font-size: 100%;
  word-break: break-word !important;
  display: block;
  height: 60px;
  background-color: #2f2f2f;
  margin-bottom: 0px;
}
@media screen and (max-width: 830px) {
  div.trending .product.item h3, div.trending .product.item .h3 {
    height: 75px;
  }
}
div.trending .product.item h3 a, div.trending .product.item .h3 a {
  color: #fff;
  margin: auto;
  vertical-align: middle;
  font-weight: 700;
}
div.trending .product.item .desc {
  font-size: 0.8rem;
  line-height: normal;
}
div.trending .product.item .snippet p {
  margin: 0px;
}
div.trending .product.item .product-price .PricepriceWithoutTaxTt {
  font-size: 2rem;
  color: #1D1D1B;
  font-weight: 700;
}
div.trending .ribbon-wrapper {
  width: 85px;
  height: 88px;
  overflow: hidden;
  position: absolute;
  top: -3px;
  left: -3px;
}
div.trending .ribbon-wrapper .ribbon {
  font: bold 13px sans-serif;
  color: #333;
  text-align: center;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  position: relative;
  padding: 7px 0;
  top: 15px;
  left: -30px;
  width: 120px;
  background-color: #85c728;
  color: #fff;
}

.trendingwrapnew h2, .trendingwrapnew .h2 {
  color: #6f6f6f;
  font-size: 2rem;
  font-weight: 300;
  letter-spacing: -0.1rem;
  font-style: normal;
}
@media screen and (max-width: 830px) {
  .trendingwrapnew h2, .trendingwrapnew .h2 {
    font-size: 2rem;
  }
}

div.trendingnew {
  color: #79745d;
}
div.trendingnew .product.item {
  border: 1px #f2f2f0 solid;
}
div.trendingnew .product.item .maincont {
  color: #634521;
}
div.trendingnew .product.item .vm-product-media-container {
  height: 200px;
}
@media screen and (max-width: 830px) {
  div.trendingnew .product.item .vm-product-media-container {
    height: 100px;
  }
}
div.trendingnew .product.item .vm-product-media-container a {
  align-items: center !important;
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
  justify-content: center !important;
}
div.trendingnew .product.item .vm-product-media-container a::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(143, 143, 143) !important;
  opacity: 0.08;
  pointer-events: none;
}
div.trendingnew .product.item .vm-product-media-container a:hover::after {
  background: rgb(0, 0, 0) !important;
}
div.trendingnew .product.item.mega {
  border: none;
}
div.trendingnew .product.item.mega .vm-product-media-container {
  height: 120px;
}
div.trendingnew .product.item.mega img {
  transform: scale(0.8);
  padding: 0px !important;
  transition: transform 350ms cubic-bezier(0.38, 1.25, 0.79, 0.99);
}
div.trendingnew .product.item.mega img:hover {
  transform: scale(1);
}
div.trendingnew .product.item.mega a::after {
  display: none;
  content: "";
}
div.trendingnew .product.item h3, div.trendingnew .product.item .h3 {
  font-size: 100%;
  word-break: break-word !important;
  display: block;
  margin-bottom: 0px;
}
div.trendingnew .product.item h3 a, div.trendingnew .product.item .h3 a {
  margin: auto;
  vertical-align: middle;
  color: rgba(45, 54, 61, 0.5);
  font-size: 0.9rem;
}
div.trendingnew .product.item .desc {
  font-size: 0.8rem;
  line-height: normal;
}
div.trendingnew .product.item .snippet p {
  margin: 0px;
}
div.trendingnew .product.item .product-price .PricepriceWithoutTaxTt {
  font-size: 1.5rem;
  color: #bbbbbb;
  font-weight: 500;
}
div.trendingnew .ribbon-wrapper {
  width: 85px;
  height: 88px;
  overflow: hidden;
  position: absolute;
  top: -3px;
  left: -3px;
}
div.trendingnew .ribbon-wrapper .ribbon {
  font: bold 13px sans-serif;
  color: #333;
  text-align: center;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  position: relative;
  padding: 7px 0;
  top: 15px;
  left: -30px;
  width: 120px;
  background-color: #85c728;
  color: #fff;
}

nav.navbar {
  z-index: 1000 !important;
}
@media screen and (max-width: 830px) {
  nav.navbar {
    background-color: #009844 !important;
  }
}
nav.navbar .mobilenav i {
  font-size: 1rem;
}
nav.navbar .mobilenav a {
  padding: 0px !important;
}
nav.navbar button.navbar-toggler {
  padding: 0px;
  border: none;
}
nav.navbar button.navbar-toggler:focus {
  background-color: #003216;
}
nav.navbar .navbar-toggler-icon {
  color: #ffffff;
}
nav.navbar .toplevel > a:hover {
  position: relative;
}
nav.navbar a {
  font-size: 1.2rem;
  color: #f2f2f2;
  padding: 11px 20px;
  font-weight: 500;
}
nav.navbar a:hover {
  color: #fd9a47;
  text-decoration: none;
}
nav.navbar a.active {
  color: #fd9a47;
}

.subnav {
  font-size: 0.8rem;
}
.subnav i {
  font-size: 1.5rem;
}

.offcanvas-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 2rem;
}

.offcanvas-footer {
  border-width: 0;
  display: flex;
  justify-content: flex-start;
  padding: 1.5rem 2rem;
}

:not(.toast-header):not(.alert) > .btn-close {
  display: inline-flex;
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  z-index: 1030;
}

.offcanvas {
  overflow-y: auto;
}

.offcanvas-body {
  flex-grow: 0;
  overflow: visible;
}

.offcanvas-header {
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e5e5e5;
}

.offcanvas-footer {
  bottom: 0px;
  display: flex;
  justify-content: flex-start;
  padding: 1.5rem 2rem;
  border-width: 0;
}

.straptitetable-alt table thead tr th {
  background-color: rgb(5, 70, 98); /* This sets the background color */
  font-weight: 300;
  padding: 15px 10px;
  text-align: center;
  vertical-align: middle;
}
.straptitetable-alt table thead tr th:first-child {
  border-top-left-radius: 10px; /* Adjusts the top-left corner radius */
}
.straptitetable-alt table thead tr th:last-child {
  border-top-right-radius: 10px; /* Adjusts the top-right corner radius */
}
.straptitetable-alt table tbody tr:last-child td, .straptitetable-alt table tbody tr:last-child th {
  border-bottom: none;
}
.straptitetable-alt table tbody tr:last-child td:first-child, .straptitetable-alt table tbody tr:last-child th:first-child {
  border-bottom-left-radius: 10px; /* Rounds the bottom-left corner */
}
.straptitetable-alt table tbody tr:last-child td:last-child, .straptitetable-alt table tbody tr:last-child th:last-child {
  border-bottom-right-radius: 10px; /* Rounds the bottom-right corner */
}
.straptitetable-alt table td {
  text-align: center;
  vertical-align: middle;
  padding: 0.2rem 0.2rem;
  font-size: 0.8rem;
}
@media screen and (min-width: 830px) {
  .straptitetable-alt table td {
    font-size: 1rem;
  }
}
.straptitetable-alt table th {
  font-size: 0.8rem;
  padding: 0.2rem 0.2rem;
  font-weight: 300;
  text-align: center;
  vertical-align: middle;
}
@media screen and (min-width: 830px) {
  .straptitetable-alt table th {
    font-size: 1rem;
  }
}

#vmCartModule {
  position: relative;
}
#vmCartModule .shopping-cart {
  position: absolute;
  transition: all 0s ease;
  top: -99999px;
  right: -150px;
  display: block !important;
  z-index: 1001;
}

#vmCartModule:hover .shopping-cart {
  top: 40px;
  transition-delay: 0.2s;
}

#vmCartModule .textline {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
}

.minicartcol:before {
  content: "";
  padding-top: 300px;
  margin-top: -300px;
}
.minicartcol .card {
  border: none;
}

.shopping-cart {
  background: white; /* Old browsers */
  background: -moz-linear-gradient(top, white 0%, #ece8e4 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #ece8e4)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, white 0%, #ece8e4 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, white 0%, #ece8e4 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, white 0%, #ece8e4 100%); /* IE10+ */
  background: linear-gradient(to bottom, white 0%, #ece8e4 100%); /* W3C */
  font-size: 80%;
  margin: 0px 0;
  float: right;
  width: 470px;
  position: absolute;
  border-radius: 3px;
  right: 0px;
  top: 38px;
  z-index: 15;
  -webkit-box-shadow: 0px 3px 3px 0px rgba(50, 50, 50, 0.6);
  -moz-box-shadow: 0px 3px 3px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0px 3px 3px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  border: none;
  color: #222222;
}
.shopping-cart .customProductData {
  display: none;
}
.shopping-cart a {
  color: #222222;
}
.shopping-cart a.btn {
  color: #fff;
}
.shopping-cart .price {
  font-weight: 600;
}
.shopping-cart .shopping-cart-total strong {
  color: rgb(116, 172, 42);
}
@media (max-width: 767px) {
  .shopping-cart {
    width: 310px;
  }
}
.shopping-cart .shopping-cart-header {
  border-top: 1px solid #e8e8e8;
}
.shopping-cart .shopping-cart-header .shopping-cart-total {
  font-size: 24px;
}
.shopping-cart .shopping-cart-items {
  padding-top: 20px;
  padding-left: 0px;
}
.shopping-cart .shopping-cart-items li {
  margin-bottom: 0px;
  list-style: none;
  text-align: left;
}
.shopping-cart .shopping-cart-items img {
  float: left;
  margin-right: 12px;
}
.shopping-cart .shopping-cart-items .item-name {
  display: block;
  padding-top: 10px;
  font-size: 16px;
}
.shopping-cart .shopping-cart-items .item-price {
  color: #222222;
  margin-right: 8px;
}
.shopping-cart .shopping-cart-items .item-quantity {
  color: #222222;
}

.shopping-cart:after {
  bottom: 100%;
  left: 55%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-bottom-color: #fd7e14;
  border-width: 8px;
  margin-left: -24px;
}

.childcatswrapper {
  background-color: #f2f0f1 !important;
  color: #41476f;
}
.childcatswrapper a {
  color: #41476f;
}
.childcatswrapper h1, .childcatswrapper .h1,
.childcatswrapper h3,
.childcatswrapper .h3 {
  color: #41476f;
}
.childcatswrapper .feature ul {
  list-style: none;
}
.childcatswrapper .feature ul li {
  font-size: 0.8rem;
}

.childcats_iconview {
  /* Add custom CSS for the hover effect */
}
@media screen and (max-width: 830px) {
  .childcats_iconview h1, .childcats_iconview .h1 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 830px) {
  .childcats_iconview .stretched-link {
    font-size: 0.8rem;
    line-height: 1rem;
  }
}
.childcats_iconview .description {
  columns: 3;
  font-size: 0.8rem;
  color: #2d363d;
}
@media screen and (max-width: 830px) {
  .childcats_iconview .description {
    columns: 1;
  }
}
.childcats_iconview .description p {
  margin-bottom: 5px;
}
.childcats_iconview .description a {
  color: #009844;
  font-weight: bold;
}
.childcats_iconview .hover-div {
  position: relative;
  overflow: hidden;
}
.childcats_iconview .hover-div::before, .childcats_iconview .hover-div::after, .childcats_iconview .inner::before, .childcats_iconview .inner::after {
  content: "";
  position: absolute;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.childcats_iconview .hover-div::before {
  border-top: 1px solid #51b37f; /* Adjust color and size as needed */
  border-left: 1px solid #51b37f;
  top: 0;
  left: 0;
  width: 20px; /* Adjust the size as needed */
  height: 20px;
}
.childcats_iconview .hover-div::after {
  border-bottom: 1px solid #51b37f; /* Adjust color and size as needed */
  border-right: 1px solid #51b37f;
  bottom: 0;
  right: 0;
  width: 20px; /* Adjust the size as needed */
  height: 20px;
}
.childcats_iconview .inner::before {
  border-top: 1px solid #51b37f; /* Adjust color and size as needed */
  border-right: 1px solid #51b37f;
  top: 0;
  right: 0;
  width: 20px; /* Adjust the size as needed */
  height: 20px;
}
.childcats_iconview .inner::after {
  border-bottom: 1px solid #51b37f; /* Adjust color and size as needed */
  border-left: 1px solid #51b37f;
  bottom: 0;
  left: 0;
  width: 20px; /* Adjust the size as needed */
  height: 20px;
}
.childcats_iconview .hover-div:hover::before, .childcats_iconview .hover-div:hover::after, .childcats_iconview .hover-div:hover .inner::before, .childcats_iconview .hover-div:hover .inner::after {
  opacity: 1;
}
.childcats_iconview .hover-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.childcats_iconview .hover-div:hover .hover-content {
  opacity: 1;
}

.category-view .childcatswrapper .item,
#searchresults .childcatswrapper .item {
  /*border: 1px $cream solid; .radius; background-color: fadeout($cream,30%);*/
}
.category-view .childcatswrapper .item a,
#searchresults .childcatswrapper .item a {
  font-size: 80%;
  font-weight: 500;
  color: #009844;
  line-height: 20px;
  display: block;
}
.category-view .card,
#searchresults .card {
  background-color: #ece8e4;
}
.category-view h1, .category-view .h1,
#searchresults h1,
#searchresults .h1 {
  text-align: center;
  color: #1D1D1B;
  font-size: 2rem;
  font-weight: 400;
}
@media screen and (max-width: 830px) {
  .category-view h1, .category-view .h1,
#searchresults h1,
#searchresults .h1 {
    font-weight: 500;
    font-size: 130%;
    text-align: center !important;
  }
}
.category-view h3, .category-view .h3,
#searchresults h3,
#searchresults .h3 {
  font-weight: 100;
  color: #009844;
}
.category-view .category_description,
#searchresults .category_description {
  font-size: 100%;
  font-weight: 400;
  line-height: normal;
}
.category-view .filterbar,
#searchresults .filterbar {
  background-color: #ece8e4;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.category-view .metadesc h2, .category-view .metadesc .h2,
.category-view .readMoreText h2,
.category-view .readMoreText .h2,
.category-view .category_description h2,
.category-view .category_description .h2,
#searchresults .metadesc h2,
#searchresults .metadesc .h2,
#searchresults .readMoreText h2,
#searchresults .readMoreText .h2,
#searchresults .category_description h2,
#searchresults .category_description .h2 {
  color: #1D1D1B;
  font-size: 2.5rem;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 830px) {
  .category-view .metadesc,
.category-view .readMoreText,
.category-view .category_description,
#searchresults .metadesc,
#searchresults .readMoreText,
#searchresults .category_description {
    font-size: 80%;
    line-height: normal;
  }
}
.category-view .browse-view .products-row:last-child .border-bottom,
.category-view #vm2-search .products-row:last-child .border-bottom,
#searchresults .browse-view .products-row:last-child .border-bottom,
#searchresults #vm2-search .products-row:last-child .border-bottom {
  border: none !important;
}
.category-view .browse-view .product img.browseProductImage,
.category-view #vm2-search .product img.browseProductImage,
#searchresults .browse-view .product img.browseProductImage,
#searchresults #vm2-search .product img.browseProductImage {
  max-height: 250px !important;
}
.category-view .browse-view .product .product-container a,
.category-view #vm2-search .product .product-container a,
#searchresults .browse-view .product .product-container a,
#searchresults #vm2-search .product .product-container a {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center !important;
}
@media screen and (min-width: 830px) {
  .category-view .browse-view .product .product-container a::after,
.category-view #vm2-search .product .product-container a::after,
#searchresults .browse-view .product .product-container a::after,
#searchresults #vm2-search .product .product-container a::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(143, 143, 143);
    opacity: 0.03;
    pointer-events: none;
    border: #131313 solid 1px !important;
  }
  .category-view .browse-view .product .product-container a:hover::after,
.category-view #vm2-search .product .product-container a:hover::after,
#searchresults .browse-view .product .product-container a:hover::after,
#searchresults #vm2-search .product .product-container a:hover::after {
    background: rgb(0, 0, 0);
  }
}
.category-view .browse-view .product .highlight,
.category-view #vm2-search .product .highlight,
#searchresults .browse-view .product .highlight,
#searchresults #vm2-search .product .highlight {
  background-color: #f1f9f5;
  border: #51b37f 1px solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  position: relative;
}
.category-view .browse-view .product .highlight img.browseProductImage,
.category-view #vm2-search .product .highlight img.browseProductImage,
#searchresults .browse-view .product .highlight img.browseProductImage,
#searchresults #vm2-search .product .highlight img.browseProductImage {
  -webkit-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  -moz-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.category-view .browse-view .product .ribbon,
.category-view #vm2-search .product .ribbon,
#searchresults .browse-view .product .ribbon,
#searchresults #vm2-search .product .ribbon {
  position: absolute;
  left: -5px;
  top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 120px;
  height: 120px;
  text-align: right;
}
.category-view .browse-view .product .ribbon span,
.category-view #vm2-search .product .ribbon span,
#searchresults .browse-view .product .ribbon span,
#searchresults #vm2-search .product .ribbon span {
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  line-height: 30px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  width: 150px;
  display: block;
  background: #51b37f;
  position: absolute;
  top: 28px;
  left: -32px;
}
.category-view .browse-view .product .ribbon span::before,
.category-view #vm2-search .product .ribbon span::before,
#searchresults .browse-view .product .ribbon span::before,
#searchresults #vm2-search .product .ribbon span::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid #555555;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #555555;
}
.category-view .browse-view .product .ribbon span::after,
.category-view #vm2-search .product .ribbon span::after,
#searchresults .browse-view .product .ribbon span::after,
#searchresults #vm2-search .product .ribbon span::after {
  content: "";
  position: absolute;
  right: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #555555;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #555555;
}
.category-view .browse-view .product .product-container,
.category-view #vm2-search .product .product-container,
#searchresults .browse-view .product .product-container,
#searchresults #vm2-search .product .product-container {
  position: relative;
}
.category-view .browse-view .product h2, .category-view .browse-view .product .h2,
.category-view .browse-view .product h3,
.category-view .browse-view .product .h3,
.category-view #vm2-search .product h2,
.category-view #vm2-search .product .h2,
.category-view #vm2-search .product h3,
.category-view #vm2-search .product .h3,
#searchresults .browse-view .product h2,
#searchresults .browse-view .product .h2,
#searchresults .browse-view .product h3,
#searchresults .browse-view .product .h3,
#searchresults #vm2-search .product h2,
#searchresults #vm2-search .product .h2,
#searchresults #vm2-search .product h3,
#searchresults #vm2-search .product .h3 {
  font-size: 90%;
  text-align: left;
  color: #222222;
  font-weight: 500;
}
.category-view .browse-view .product h2 a, .category-view .browse-view .product .h2 a,
.category-view .browse-view .product h3 a,
.category-view .browse-view .product .h3 a,
.category-view #vm2-search .product h2 a,
.category-view #vm2-search .product .h2 a,
.category-view #vm2-search .product h3 a,
.category-view #vm2-search .product .h3 a,
#searchresults .browse-view .product h2 a,
#searchresults .browse-view .product .h2 a,
#searchresults .browse-view .product h3 a,
#searchresults .browse-view .product .h3 a,
#searchresults #vm2-search .product h2 a,
#searchresults #vm2-search .product .h2 a,
#searchresults #vm2-search .product h3 a,
#searchresults #vm2-search .product .h3 a {
  color: #009844;
}
@media screen and (max-width: 830px) {
  .category-view .browse-view .product h2 a, .category-view .browse-view .product .h2 a,
.category-view .browse-view .product h3 a,
.category-view .browse-view .product .h3 a,
.category-view #vm2-search .product h2 a,
.category-view #vm2-search .product .h2 a,
.category-view #vm2-search .product h3 a,
.category-view #vm2-search .product .h3 a,
#searchresults .browse-view .product h2 a,
#searchresults .browse-view .product .h2 a,
#searchresults .browse-view .product h3 a,
#searchresults .browse-view .product .h3 a,
#searchresults #vm2-search .product h2 a,
#searchresults #vm2-search .product .h2 a,
#searchresults #vm2-search .product h3 a,
#searchresults #vm2-search .product .h3 a {
    font-size: 80%;
  }
}
.category-view .browse-view .product .PricepriceWithoutTaxTt,
.category-view #vm2-search .product .PricepriceWithoutTaxTt,
#searchresults .browse-view .product .PricepriceWithoutTaxTt,
#searchresults #vm2-search .product .PricepriceWithoutTaxTt {
  color: #1D1D1B;
  font-size: 1.2rem;
  font-weight: 500;
}
.category-view .browse-view .product .pricesmall,
.category-view #vm2-search .product .pricesmall,
#searchresults .browse-view .product .pricesmall,
#searchresults #vm2-search .product .pricesmall {
  font-size: 80%;
  color: #6f6f6f !important;
  margin-right: 3px !important;
}
.category-view .browse-view .product-alt1 ul li,
.category-view #vm2-search .product-alt1 ul li,
#searchresults .browse-view .product-alt1 ul li,
#searchresults #vm2-search .product-alt1 ul li {
  font-size: 0.8rem !important;
}

.catheaderbox a {
  color: #98d2b3;
  font-weight: 600;
}
.catheaderbox a:hover {
  text-decoration: underline;
}

.VMmenuCatmenu {
  padding: 0;
}
.VMmenuCatmenu li a {
  font-size: 0.9rem;
  color: rgba(29, 29, 27, 0.7);
}
.VMmenuCatmenu li::marker {
  content: "\f285";
  position: relative !important;
  top: 2px;
  color: #e7e4e4;
  font-family: bootstrap-icons;
}
.VMmenuCatmenu li.VmOpen {
  border-bottom: 1px solid #e7e4e4;
  margin-bottom: 10px;
  margin-top: 10px;
  padding-bottom: 3px;
}
.VMmenuCatmenu li.VmOpen a {
  font-weight: 600;
  color: #1D1D1B;
}
.VMmenuCatmenu li.VmOpen::marker {
  content: "\f285";
  color: #009844;
}
.VMmenuCatmenu ul {
  padding-left: 0px;
}
.VMmenuCatmenu ul li::marker {
  content: "";
  color: #009844;
  font-family: bootstrap-icons;
}
.VMmenuCatmenu ul a {
  font-size: 0.75rem;
  font-weight: 300;
  color: #009844 !important;
}

.catbottom-stripe,
#productstripe.productstripe {
  background-color: #ece8e4 !important;
}
.catbottom-stripe .grid .imgwrap,
#productstripe.productstripe .grid .imgwrap {
  background-position: center center;
  background-size: cover;
  position: relative;
}
.catbottom-stripe .grid .imgwrap .imglink,
#productstripe.productstripe .grid .imgwrap .imglink {
  color: #fff;
  background-color: rgba(53, 53, 53, 0.5921568627);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
  -webkit-transition: background-color 200ms ease-in;
  -moz-transition: background-color 200ms ease-in;
  -o-transition: background-color 200ms ease-in;
  -ms-transition: background-color 200ms ease-in;
  transition: background-color 200ms ease-in;
}
.catbottom-stripe .grid .imgwrap .imglink p.small,
#productstripe.productstripe .grid .imgwrap .imglink p.small {
  color: #fff !important;
  opacity: 0.6;
  -webkit-transition: opacity 400ms ease-in;
  -moz-transition: opacity 400ms ease-in;
  -o-transition: opacity 400ms ease-in;
  -ms-transition: opacity 400ms ease-in;
  transition: opacity 400ms ease-in;
}
.catbottom-stripe .grid .imgwrap .imglink:hover p.small,
#productstripe.productstripe .grid .imgwrap .imglink:hover p.small {
  opacity: 1;
}
.catbottom-stripe .grid .imgwrap .imglink:hover,
#productstripe.productstripe .grid .imgwrap .imglink:hover {
  background-color: rgba(57, 32, 6, 0.337254902);
}
.catbottom-stripe .grid .imgwrap .imglink h2, .catbottom-stripe .grid .imgwrap .imglink .h2,
#productstripe.productstripe .grid .imgwrap .imglink h2,
#productstripe.productstripe .grid .imgwrap .imglink .h2 {
  color: #1D1D1B;
  font-size: 250%;
  margin-bottom: 10px;
  -webkit-transition: color 200ms ease-in;
  -moz-transition: color 200ms ease-in;
  -o-transition: color 200ms ease-in;
  -ms-transition: color 200ms ease-in;
  transition: color 200ms ease-in;
}
.catbottom-stripe .grid .imgwrap .imglink:hover h2, .catbottom-stripe .grid .imgwrap .imglink:hover .h2,
#productstripe.productstripe .grid .imgwrap .imglink:hover h2,
#productstripe.productstripe .grid .imgwrap .imglink:hover .h2 {
  color: #fff;
}
.catbottom-stripe h2, .catbottom-stripe .h2,
#productstripe.productstripe h2,
#productstripe.productstripe .h2 {
  color: #1D1D1B;
  font-size: 2.5rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 830px) {
  .catbottom-stripe h2, .catbottom-stripe .h2,
#productstripe.productstripe h2,
#productstripe.productstripe .h2 {
    font-size: 9vw;
  }
}
.catbottom-stripe p,
#productstripe.productstripe p {
  text-align: center;
  color: #222222;
  margin-bottom: 10px;
  font-size: 90%;
  padding: 0px 100px;
}
@media screen and (max-width: 830px) {
  .catbottom-stripe p,
#productstripe.productstripe p {
    padding: 0px 0px;
  }
}
@media screen and (max-width: 830px) {
  .catbottom-stripe,
#productstripe.productstripe {
    line-height: normal;
    padding: 0px 0px;
  }
}
.catbottom-stripe .stripes h3, .catbottom-stripe .stripes .h3,
#productstripe.productstripe .stripes h3,
#productstripe.productstripe .stripes .h3 {
  color: #1D1D1B;
  font-size: 3.5rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 10px;
}

.catlandingwrapper section.jumbotron {
  background-size: cover;
  background-repeat: no-repeat;
}

.filters h3, .filters .h3 {
  margin-bottom: 0px;
}
.filters .spec {
  margin-bottom: 10px;
}
.filters button.w-100 {
  padding: 0px;
  margin: 0px;
  text-align: left;
  font-size: 0.8em;
  color: #555555;
}
.filters button.w-100 b {
  display: none !important;
}
.filters button.w-100:before {
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  content: "\f0c8";
  color: #222222;
  margin-right: 5px;
}
.filters button.w-100.btn-default:before {
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  content: "\f14a";
  color: #1D1D1B;
  margin-right: 5px;
}

.container.browseheading {
  padding-left: 0px;
  padding-top: 25px;
  padding-bottom: 25px;
}
.container.browseheading .smalldesc {
  color: #fff !important;
  text-shadow: 1px 1px 2px fadeout(#2f3b51, 20%);
  font-size: 100%;
  font-weight: 300 !important;
}
.container.browseheading .smalldesc a {
  color: #fff;
}
.container.browseheading h1, .container.browseheading .h1 {
  color: #dfcfa3;
  font-weight: 100 !important;
  font-size: 54px;
  text-shadow: 1px 1px 2px fadeout(#2f3b51, 20%);
}

.catlanding h1, .catlanding .h1 {
  color: #ffffff !important;
  font-weight: 100 !important;
  text-transform: uppercase !important;
}

#vmMainPageOPC {
  /*shipment and payment radios*/
  /*.opc_payment_wrap { border-bottom: lighten($offblack,65%) 1px solid; }
    .payment_inner_html .opc_payment_wrap:last-of-type {border-bottom: none !important; background-color: rgba(241,0,253,1.00)}
    .payment_inner_html {border: lighten($offblack,65%) 1px solid; @include radius()}*/
  /*shipmgnet and paymetn radios end*/
  /*chckeboxes bottom*/
}
#vmMainPageOPC .opc_errors {
  border: 0px !important;
  color: #fff;
  background-color: #fd7e14;
  margin-top: 10px;
  padding: 10px 30px;
}
#vmMainPageOPC .opc_errors .row {
  display: block;
  padding: 0px !important;
}
#vmMainPageOPC .checkout_step_2 .form-group.radio:has(#home_business_input) {
  display: none !important;
}
#vmMainPageOPC .multistepwrap {
  position: relative;
  z-index: 0;
}
#vmMainPageOPC .opc_circle {
  background: #fd7e14;
  border-radius: 0.8em;
  -moz-border-radius: 0.8em;
  -webkit-border-radius: 0.8em;
  color: #ffffff;
  display: inline-block;
  font-weight: 500;
  line-height: 1.6em;
  margin-right: 15px;
  text-align: center;
  width: 1.6em;
}
#vmMainPageOPC .progressbar {
  margin: 0;
  padding: 0;
  counter-reset: step;
}
#vmMainPageOPC .progressbar li {
  list-style-type: none;
  width: 25%;
  float: left;
  font-size: 80%;
  position: relative;
  text-align: center;
  text-transform: capitalize;
  color: rgba(34, 34, 34, 0.5);
}
#vmMainPageOPC .progressbar li:before {
  width: 30px;
  height: 30px;
  content: counter(step);
  counter-increment: step;
  line-height: 27px;
  border: 2px solid #7d7d7d;
  display: block;
  text-align: center;
  margin: 0 auto 10px auto;
  border-radius: 50%;
  background-color: white;
}
#vmMainPageOPC .progressbar li:after {
  width: 100%;
  height: 2px;
  content: "";
  position: absolute;
  background-color: #7d7d7d;
  top: 15px;
  left: -50%;
  z-index: -1;
}
#vmMainPageOPC .progressbar li:first-child:after {
  content: none;
}
#vmMainPageOPC .progressbar li.active {
  color: rgb(116, 172, 42);
}
#vmMainPageOPC .progressbar li.active span {
  position: relative;
  top: -15px;
}
#vmMainPageOPC .progressbar li.active:before {
  border-color: rgb(116, 172, 42);
  width: 50px;
  height: 50px;
  top: -10px;
  position: inherit;
  padding-top: 10px;
}
#vmMainPageOPC .progressbar li.active + li:after {
  background-color: rgb(116, 172, 42);
}
.form-group.radio #vmMainPageOPC:not(#home_business_input) input[type=radio] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.form-group.radio #vmMainPageOPC:not(#home_business_input) input[type=radio] + label:before {
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  content: "\f00c";
  letter-spacing: 10px;
  font-size: 1.2em;
  color: #ece8e4;
}
.form-group.radio #vmMainPageOPC:not(#home_business_input) input[type=radio]:checked + label:before {
  content: "\f00c";
  font-size: 1.2em;
  color: #fd7e14;
  letter-spacing: 5px;
  width: 5px;
}
.form-group.radio #vmMainPageOPC:not(#home_business_input) input[type=radio]:focus + label:before {
  font-weight: bold;
  color: #fd7e14;
}
#vmMainPageOPC .op_userfields div.field_wrap.radio input[type=radio] {
  width: 2em;
  margin: 0;
  padding: 0;
  font-size: 1em;
  opacity: 0;
  float: left;
}
#vmMainPageOPC .op_userfields div.field_wrap.radio _:-ms-fullscreen input[type=radio],
#vmMainPageOPC .op_userfields div.field_wrap.radio :root .CLASS_NAME input[type=radio] {
  opacity: 1;
}
#vmMainPageOPC .op_userfields div.field_wrap.radio .formField label {
  display: inline-block;
  margin-left: -2em;
  line-height: 1.5em;
  padding-left: 0;
  float: left;
}
#vmMainPageOPC .op_userfields div.field_wrap.radio .formField label:not(:first-of-type) {
  margin-left: 3em;
}
#vmMainPageOPC .op_userfields div.field_wrap.radio input[type=radio] + label > span:before {
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  content: "\f1db";
  color: #535353;
  font-size: 1.4em;
  width: 1.4em;
  position: relative;
  top: 0em;
}
#vmMainPageOPC .op_userfields div.field_wrap.radio input[type=radio]:checked + label > span:before {
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  /*ok sing: content: "\f05d";*/
  content: "\f14a";
  /*letter-spacing: 5px;*/
  color: #fd7e14;
  font-size: 1.4em;
  width: 1.4em;
  position: relative;
  top: 0em;
}
#vmMainPageOPC #payment_info {
  padding: 20px;
}
#vmMainPageOPC #payment_info:empty {
  padding: 0px;
}
#vmMainPageOPC .ajaxstatuswrap {
  background-color: #d5edb5;
  border: none;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
#vmMainPageOPC .vmCartPaymentLogo img {
  height: 40px !important;
}
#vmMainPageOPC .estimator_wrap {
  font-size: 80% !important;
}
#vmMainPageOPC .estimator_wrap .shiplogo {
  width: 50px;
}
#vmMainPageOPC .estimator_wrap .img-wrap {
  padding: 0px !important;
}
#vmMainPageOPC .estimator_wrap .vmshipment {
  display: block !important;
  margin: 10px 0px !important;
}
#vmMainPageOPC .estimator_wrap .vmshipment_name,
#vmMainPageOPC .estimator_wrap input,
#vmMainPageOPC .estimator_wrap br {
  display: none;
}
#vmMainPageOPC .estimator_wrap .vmshipment_description {
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%;
}
#vmMainPageOPC .estimator_wrap .opc_ship_wrap label {
  margin-bottom: 0px !important;
}
#vmMainPageOPC .cardInput.StripeElement > .__PrivateStripeElement,
#vmMainPageOPC .cardInput.StripeElement iframe {
  display: block !important;
  width: 100% !important;
}
#vmMainPageOPC .cardNumber .__PrivateStripeElement::after,
#vmMainPageOPC [id^=cardCvc_] .__PrivateStripeElement::after {
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 0;
  color: rgb(116, 172, 42);
  line-height: 1.2;
  pointer-events: none;
}
#vmMainPageOPC .cardNumber .__PrivateStripeElement::after {
  content: "\f023";
}
#vmMainPageOPC [id^=cardCvc_] .__PrivateStripeElement::after {
  content: "\f09d";
}
#vmMainPageOPC #payment_id_0,
#vmMainPageOPC label[for=payment_id_0] {
  display: none;
}
#vmMainPageOPC .opc_payment_wrap_4,
#vmMainPageOPC .opc_payment_wrap_1 {
  width: 100%;
}
#vmMainPageOPC .hr-text {
  line-height: 1em;
  position: relative;
  outline: 0;
  border: 0;
  color: #222222;
  text-align: center;
  height: 1.5em;
  opacity: 1;
}
#vmMainPageOPC .hr-text:before {
  content: "";
  background: linear-gradient(to right, transparent, #818078, transparent);
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
}
#vmMainPageOPC .hr-text:after {
  content: attr(data-content);
  position: relative;
  display: inline-block;
  color: black;
  padding: 0 0.5em;
  line-height: 1.5em;
  color: #818078;
  background-color: #ffffff;
}
#vmMainPageOPC label {
  margin-bottom: 0px !important;
}
#vmMainPageOPC .staddresswrapper {
  /*padding: 10px; border: lighten($offblack,70%) 1px solid; font-size: 90%*/
}
#vmMainPageOPC .opc_payment_wrap {
  padding-top: 0 !important;
}
#vmMainPageOPC .staddresswrapper div[id^=opc_st_] {
  position: absolute;
  top: 8px;
  right: 10px;
  display: block;
}
#vmMainPageOPC .select_address_wrap {
  font-size: 90%;
}
#vmMainPageOPC .select_address_wrap .form-check-label {
  padding: 10px !important;
}
#vmMainPageOPC .select_address_wrap .form-check-label.selected {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  background-color: #e1f2ca;
}
#vmMainPageOPC .form-label {
  font-size: 0.9rem;
}
#vmMainPageOPC .form-select {
  font-size: max(0.875rem, 16px) !important;
}
#vmMainPageOPC .form-floating > label {
  display: flex;
  align-items: center;
  color: rgba(34, 34, 34, 0.7);
  font-size: max(0.875rem, 16px);
  padding-inline: 0.6rem;
  padding-block: 0;
  transition: color 0.15s ease;
}
#vmMainPageOPC .form-floating > .form-control,
#vmMainPageOPC .form-floating > .form-select {
  height: calc(2.6rem + var(--bs-border-width) * 2);
  min-height: calc(2.6rem + var(--bs-border-width) * 2);
  color: #222222;
  background-color: #fff;
  border-color: rgba(34, 34, 34, 0.18);
  border-radius: 0.7rem;
  box-shadow: none;
}
#vmMainPageOPC .form-floating > .form-control {
  padding: 0.65rem 0.6rem;
}
#vmMainPageOPC .form-floating > .form-control:focus,
#vmMainPageOPC .form-floating > .form-control:not(:placeholder-shown),
#vmMainPageOPC .form-floating > .form-control:-webkit-autofill {
  padding-top: 1.125rem;
  padding-bottom: 0.2rem;
}
#vmMainPageOPC .form-floating > .form-select {
  padding-top: 1.125rem;
  padding-bottom: 0.2rem;
  padding-left: 0.6rem;
}
#vmMainPageOPC .form-floating > .form-control:focus,
#vmMainPageOPC .form-floating > .form-select:focus {
  border-color: #222222;
  box-shadow: 0 0 0 1px #222222;
}
#vmMainPageOPC .form-floating > .form-control.is-valid,
#vmMainPageOPC .form-floating > .form-select.is-valid {
  border-color: rgb(116, 172, 42);
}
#vmMainPageOPC .form-floating > .form-control.is-valid:focus,
#vmMainPageOPC .form-floating > .form-select.is-valid:focus {
  border-color: rgb(116, 172, 42);
  box-shadow: 0 0 0 1px rgb(116, 172, 42);
}
#vmMainPageOPC .form-floating > .form-control:focus ~ label,
#vmMainPageOPC .form-floating > .form-select:focus ~ label {
  color: rgba(34, 34, 34, 0.5);
}
#vmMainPageOPC .form-floating > .form-control:focus ~ label,
#vmMainPageOPC .form-floating > .form-control:not(:placeholder-shown) ~ label,
#vmMainPageOPC .form-floating > .form-control:-webkit-autofill ~ label,
#vmMainPageOPC .form-floating > .form-control-plaintext ~ label,
#vmMainPageOPC .form-floating > .form-select ~ label {
  align-items: flex-start;
  font-size: 12px !important;
  padding-top: 0.6rem;
  padding-bottom: 0;
  transform: scale(1) translateY(-0.4rem) translateX(0.1rem);
}
#vmMainPageOPC .form-floating.mb-2 {
  margin-bottom: 7px !important;
}
@media (min-width: 768px) {
  #vmMainPageOPC .form-floating > label,
#vmMainPageOPC .form-floating > .form-control,
#vmMainPageOPC .form-floating > .form-select {
    font-size: 14px !important;
  }
  #vmMainPageOPC .form-floating > .form-control:focus ~ label,
#vmMainPageOPC .form-floating > .form-control:not(:placeholder-shown) ~ label,
#vmMainPageOPC .form-floating > .form-control:-webkit-autofill ~ label,
#vmMainPageOPC .form-floating > .form-control-plaintext ~ label,
#vmMainPageOPC .form-floating > .form-select ~ label {
    transform: scale(1) translateY(-0.4rem) translateX(0.1rem);
  }
}
#vmMainPageOPC .cardInputMollie {
  min-height: 40px !important;
}
#vmMainPageOPC #payment_html:has(.payment_loader_msg) {
  display: grid;
  place-items: center;
  min-height: 5.5rem;
  padding: 1.25rem;
  background: rgba(116, 172, 42, 0.055);
  border: 1px solid rgba(116, 172, 42, 0.18);
  border-radius: 0.7rem;
}
#vmMainPageOPC #payment_html .opc_loader_img {
  display: none !important;
}
#vmMainPageOPC #payment_html .payment_loader_msg {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: #222222;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.3;
}
#vmMainPageOPC #payment_html .payment_loader_msg::before {
  width: 1.15rem;
  height: 1.15rem;
  border: 2px solid rgba(116, 172, 42, 0.25);
  border-top-color: rgb(116, 172, 42);
  border-radius: 50%;
  content: "";
  animation: ndcc-payment-loader-spin 700ms linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  #vmMainPageOPC #payment_html .payment_loader_msg::before {
    animation: none;
  }
}
@keyframes ndcc-payment-loader-spin {
  to {
    transform: rotate(360deg);
  }
}
#vmMainPageOPC #ajaxshipping .opc_ship_wrap {
  padding: 0 !important;
  width: 100%;
  border: transparent 0px solid;
}
#vmMainPageOPC .select_address_wrap .accordion-item,
#vmMainPageOPC #payment_html .accordion-item {
  display: block;
  width: 100%;
}
#vmMainPageOPC .select_address_wrap .accordion-item .accordion-button,
#vmMainPageOPC #payment_html .accordion-item .accordion-button {
  display: block !important;
  font-size: 0.9rem;
}
#vmMainPageOPC #ajaxshipping .opc_ship_wrap input[type=radio],
#vmMainPageOPC #vmMainPageOPC .accordion-item input[type=radio],
#vmMainPageOPC .opc_payment_wrap input[type=radio],
#vmMainPageOPC .select_address_wrap .form-check input[type=radio],
#vmMainPageOPC .select_address_wrap .accordion-item input[type=radio] {
  width: 0em;
  margin: 0;
  padding: 0;
  font-size: 1em;
  opacity: 0;
  float: left;
}
#vmMainPageOPC #ajaxshipping .opc_ship_wrap label,
#vmMainPageOPC #vmMainPageOPC .accordion-item label {
  /*display      : inline-block;*/
  margin-left: 0em;
  margin-bottom: 0px;
  padding-left: 0;
  float: left;
}
#vmMainPageOPC .estimator_wrap .shippingaddmsg {
  display: none;
}
#vmMainPageOPC #ajaxshipping .opc_ship_wrap label:not(:first-of-type),
#vmMainPageOPC #vmMainPageOPC .accordion-item label:not(:first-of-type),
#vmMainPageOPC .opc_payment_wrap label:not(:first-of-type),
#vmMainPageOPC .select_address_wrap .form-check label:not(:first-of-type) {
  margin-left: 3em;
}
#vmMainPageOPC #ajaxshipping .opc_ship_wrap input[type=radio] + label > span:before,
#vmMainPageOPC #ajaxshipping .opc_ship_wrap input[type=radio] + .inputfake:before,
#vmMainPageOPC #vmMainPageOPC .accordion-item input[type=radio] + label > span:before,
#vmMainPageOPC .opc_payment_wrap span.inputfake:before,
#vmMainPageOPC .select_address_wrap .form-check input[type=radio] + label > span:before,
#vmMainPageOPC .select_address_wrap .accordion-item input[type=radio] + .inputfake:before {
  font-family: "bootstrap-icons";
  display: inline-block;
  content: "\f28a";
  color: #535353;
  font-size: 1.2em;
  width: 1.2em;
  position: relative;
  top: 0em;
  float: left;
}
#vmMainPageOPC .select_address_wrap .form-check input[type=radio] + label > span:before {
  top: -0.2em !important;
}
#vmMainPageOPC #ajaxshipping .opc_ship_wrap input[type=radio]:checked + label > span:before,
#vmMainPageOPC #ajaxshipping .opc_ship_wrap input[type=radio]:checked + .inputfake:before,
#vmMainPageOPC #vmMainPageOPC .accordion-item input[type=radio]:checked + label > span:before,
#vmMainPageOPC .opc_payment_wrap.selected span.inputfake:before,
#vmMainPageOPC .select_address_wrap .form-check input[type=radio]:checked + label > span:before,
#vmMainPageOPC .select_address_wrap .accordion-item input[type=radio]:checked + .inputfake:before {
  font-family: "bootstrap-icons";
  display: inline-block;
  content: "\f26a";
  color: rgb(116, 172, 42);
  font-size: 1.2em;
  width: 1.2em;
  position: relative;
  top: 0em;
}
#vmMainPageOPC input[type=checkbox].bottom_field {
  width: 2em;
  margin: 0;
  padding: 0;
  font-size: 1em;
  opacity: 0;
  float: left;
}
#vmMainPageOPC label.bottom_label {
  display: inline-block;
  margin-left: -2em;
  line-height: 1.5em;
  padding-left: 0;
  float: left;
}
#vmMainPageOPC label.bottom_label:not(:first-of-type) {
  margin-left: 3em;
}
#vmMainPageOPC input[type=checkbox].bottom_field + label > span:before {
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  content: "\f0c8";
  color: #fd7e14;
  font-size: 1.4em;
  width: 1.4em;
  position: relative;
  top: 0.1em;
}
#vmMainPageOPC input[type=checkbox].bottom_field:checked + label > span:before {
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  /*ok sing: content: "\f05d";*/
  content: "\f0c8";
  /*letter-spacing: 5px;*/
  color: #fd7e14;
  font-size: 1.4em;
  width: 1.4em;
  position: relative;
  top: 0.1em;
}

#subtotal_box {
  text-align: right;
}

.totalam_wrap {
  font-weight: 500 !important;
}

#tt_total_div {
  font-size: 250%;
  color: rgb(116, 172, 42);
  font-weight: 500;
}

#ajaxshipping span.vmshipment {
  display: flex;
}
#ajaxshipping span.vmshipment_name {
  display: none;
}
#ajaxshipping br {
  display: none;
}

.addressfinder {
  display: none;
  background: fadrgbaeout(#fd7e14, 0.1);
}

.addressfinder.show {
  display: block;
}

#delivery-output {
  font-weight: 500;
  text-align: center;
}

#delivery-output.col {
  display: none;
}

#delivery-output.col.active {
  display: block;
}

.checkout-greywrap {
  background-color: rgb(250, 250, 250);
}

html:has(.checkout-greywrap) {
  scrollbar-gutter: stable both-edges;
}

.checkoutfooter {
  font-size: 14px;
  color: #555555;
  background-color: #eeeeee;
}
.checkoutfooter .nav-link {
  color: #222222;
}
.checkoutfooter .nav-link.active {
  color: #fd7e14;
}

#vmMainPageOPC,
#adminForm,
.greywrap {
  color: #484848;
}
#vmMainPageOPC i,
#vmMainPageOPC svg,
#adminForm i,
#adminForm svg,
.greywrap i,
.greywrap svg {
  color: #fff;
  fill: #fff;
}
#vmMainPageOPC .btn-orange,
#adminForm .btn-orange,
.greywrap .btn-orange {
  background-color: #fd7e14;
  color: #fff;
}
#vmMainPageOPC .btn-orange i,
#vmMainPageOPC .btn-orange svg,
#adminForm .btn-orange i,
#adminForm .btn-orange svg,
.greywrap .btn-orange i,
.greywrap .btn-orange svg {
  color: #fff;
  fill: #fff;
}
#vmMainPageOPC .cust_info,
#adminForm .cust_info,
.greywrap .cust_info {
  font-size: 90%;
}
#vmMainPageOPC .card .card,
#adminForm .card .card,
.greywrap .card .card {
  border: #a2a2a2 1px solid;
  margin: 0px;
  padding: 0px;
}
#vmMainPageOPC .car_form .card,
#adminForm .car_form .card,
.greywrap .car_form .card {
  -webkit-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  -moz-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.6);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
#vmMainPageOPC .card,
#adminForm .card,
.greywrap .card {
  border-color: #ece8e4;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border-width: 1px;
  margin-bottom: 0px;
  padding: 20px 20px;
}
@media (max-width: 767px) {
  #vmMainPageOPC .card,
#adminForm .card,
.greywrap .card {
    padding: 10px 10px !important;
  }
}
#vmMainPageOPC .card.condensed,
#adminForm .card.condensed,
.greywrap .card.condensed {
  font-size: 14px !important;
}
#vmMainPageOPC .card.condensed .op_col1,
#adminForm .card.condensed .op_col1,
.greywrap .card.condensed .op_col1 {
  height: 30px !important;
}
#vmMainPageOPC .card.condensed .row,
#adminForm .card.condensed .row,
.greywrap .card.condensed .row {
  margin-bottom: 5px !important;
  padding-bottom: 5px !important;
}
#vmMainPageOPC .card a.deleteproduct i,
#adminForm .card a.deleteproduct i,
.greywrap .card a.deleteproduct i {
  color: #d5292c !important;
}
#vmMainPageOPC .card .shipperwrap i.band1,
#vmMainPageOPC .card .shipperwrap svg.band1,
#adminForm .card .shipperwrap i.band1,
#adminForm .card .shipperwrap svg.band1,
.greywrap .card .shipperwrap i.band1,
.greywrap .card .shipperwrap svg.band1 {
  color: #787776 !important;
}
#vmMainPageOPC .card .shipperwrap i.band2,
#vmMainPageOPC .card .shipperwrap svg.band2,
#adminForm .card .shipperwrap i.band2,
#adminForm .card .shipperwrap svg.band2,
.greywrap .card .shipperwrap i.band2,
.greywrap .card .shipperwrap svg.band2 {
  color: #74a22f !important;
}
#vmMainPageOPC .qty.form-control,
#adminForm .qty.form-control,
.greywrap .qty.form-control {
  width: auto;
  padding: 0px 2px;
  text-align: center;
}
#vmMainPageOPC .totalrow,
#adminForm .totalrow,
.greywrap .totalrow {
  font-size: 120% !important;
  color: #484848;
}
#vmMainPageOPC #tt_order_subtotal_basket,
#vmMainPageOPC #tt_shipping_rate_basket,
#vmMainPageOPC #tt_total_basket,
#vmMainPageOPC #tt_tax_total_0_basket,
#adminForm #tt_order_subtotal_basket,
#adminForm #tt_shipping_rate_basket,
#adminForm #tt_total_basket,
#adminForm #tt_tax_total_0_basket,
.greywrap #tt_order_subtotal_basket,
.greywrap #tt_shipping_rate_basket,
.greywrap #tt_total_basket,
.greywrap #tt_tax_total_0_basket {
  font-weight: 600;
}
#vmMainPageOPC #tt_total_basket,
#adminForm #tt_total_basket,
.greywrap #tt_total_basket {
  color: rgb(116, 172, 42);
}
#vmMainPageOPC #basket_container .ndcc-basket-product,
#vmMainPageOPC #basket_container .ndcc-basket-product > .row,
#vmMainPageOPC #basket_container .ndcc-basket-product .col,
#adminForm #basket_container .ndcc-basket-product,
#adminForm #basket_container .ndcc-basket-product > .row,
#adminForm #basket_container .ndcc-basket-product .col,
.greywrap #basket_container .ndcc-basket-product,
.greywrap #basket_container .ndcc-basket-product > .row,
.greywrap #basket_container .ndcc-basket-product .col {
  min-width: 0;
}
@media (max-width: 1599.98px) {
  #vmMainPageOPC #basket_container .ndcc-basket-product,
#adminForm #basket_container .ndcc-basket-product,
.greywrap #basket_container .ndcc-basket-product {
    flex: 0 0 100%;
    max-width: 100%;
  }
  #vmMainPageOPC #basket_container .ndcc-basket-price,
#adminForm #basket_container .ndcc-basket-price,
.greywrap #basket_container .ndcc-basket-price {
    flex: 0 0 32%;
    order: 1;
    max-width: 32%;
    margin-top: 0.75rem;
    text-align: left !important;
  }
  #vmMainPageOPC #basket_container .ndcc-basket-quantity,
#adminForm #basket_container .ndcc-basket-quantity,
.greywrap #basket_container .ndcc-basket-quantity {
    flex: 0 0 68%;
    order: 2;
    max-width: 68%;
    margin-top: 0.5rem;
  }
}

#vmMainPageOPC .card {
  border: 0 !important;
}

#opc_ship_wrap_77 .wholesaleshippingwrap {
  display: none;
  width: 100% !important;
}

#estimator_shipping_rates_come_here .wholesaleshippingwrap {
  display: block;
  width: 100% !important;
}

#accordionPayment,
#accordionShipment,
#shippingAddressAccordion {
  --bs-accordion-border-color: rgba(34, 34, 34, 0.18);
  --bs-accordion-border-radius: 0.7rem;
  --bs-accordion-inner-border-radius: calc(0.7rem - var(--bs-accordion-border-width));
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-active-color: #222222;
  --bs-accordion-active-bg: #fff;
}
#accordionPayment .accordion-button::after,
#accordionShipment .accordion-button::after,
#shippingAddressAccordion .accordion-button::after {
  display: none;
}
#accordionPayment .accordion-item,
#accordionShipment .accordion-item,
#shippingAddressAccordion .accordion-item {
  padding: 0 !important;
  background-color: #fff;
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color) !important;
  border-radius: 0 !important;
  transition: border-color 0.15s ease;
}
#accordionPayment .accordion-item:not(:first-of-type),
#accordionShipment .accordion-item:not(:first-of-type),
#shippingAddressAccordion .accordion-item:not(:first-of-type) {
  border-top: 0 !important;
}
#accordionPayment .accordion-item:first-of-type,
#accordionShipment .accordion-item:first-of-type,
#shippingAddressAccordion .accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius) !important;
  border-top-right-radius: var(--bs-accordion-border-radius) !important;
}
#accordionPayment .accordion-item:first-of-type > .accordion-header .accordion-button,
#accordionShipment .accordion-item:first-of-type > .accordion-header .accordion-button,
#shippingAddressAccordion .accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius) !important;
  border-top-right-radius: var(--bs-accordion-inner-border-radius) !important;
}
#accordionPayment .accordion-item:not(:has(~ .accordion-item)),
#accordionShipment .accordion-item:not(:has(~ .accordion-item)),
#shippingAddressAccordion .accordion-item:not(:has(~ .accordion-item)) {
  border-bottom-right-radius: var(--bs-accordion-border-radius) !important;
  border-bottom-left-radius: var(--bs-accordion-border-radius) !important;
}
#accordionPayment .accordion-item:not(:has(~ .accordion-item)) > .accordion-header .accordion-button.collapsed,
#accordionPayment .accordion-item:not(:has(~ .accordion-item)) > .accordion-collapse,
#accordionShipment .accordion-item:not(:has(~ .accordion-item)) > .accordion-header .accordion-button.collapsed,
#accordionShipment .accordion-item:not(:has(~ .accordion-item)) > .accordion-collapse,
#shippingAddressAccordion .accordion-item:not(:has(~ .accordion-item)) > .accordion-header .accordion-button.collapsed,
#shippingAddressAccordion .accordion-item:not(:has(~ .accordion-item)) > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius) !important;
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius) !important;
}
#accordionPayment .accordion-button,
#accordionShipment .accordion-button,
#shippingAddressAccordion .accordion-button {
  margin-bottom: 0 !important;
  color: #222222;
  background-color: #fff;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background-color 0.15s ease, border-radius 0.15s ease;
}
#accordionPayment .accordion-button:hover,
#accordionShipment .accordion-button:hover,
#shippingAddressAccordion .accordion-button:hover {
  background-color: rgba(34, 34, 34, 0.025);
}
#accordionPayment .accordion-button:focus-visible,
#accordionShipment .accordion-button:focus-visible,
#shippingAddressAccordion .accordion-button:focus-visible {
  outline: 2px solid rgba(116, 172, 42, 0.35);
  outline-offset: -2px;
}
#accordionPayment .accordion-collapse,
#accordionShipment .accordion-collapse,
#shippingAddressAccordion .accordion-collapse {
  background-color: rgba(34, 34, 34, 0.035);
  border-top: 1px solid rgba(34, 34, 34, 0.12);
}
#accordionPayment .accordion-body,
#accordionShipment .accordion-body,
#shippingAddressAccordion .accordion-body {
  border-top: 0;
}
#accordionPayment .accordion-item.selected,
#accordionPayment .accordion-item:has(input[type=radio]:checked),
#accordionShipment .accordion-item.selected,
#accordionShipment .accordion-item:has(input[type=radio]:checked),
#shippingAddressAccordion .accordion-item.selected,
#shippingAddressAccordion .accordion-item:has(input[type=radio]:checked) {
  border-color: rgb(116, 172, 42) !important;
}
#accordionPayment .accordion-item.selected > .accordion-header .accordion-button,
#accordionPayment .accordion-item:has(input[type=radio]:checked) > .accordion-header .accordion-button,
#accordionShipment .accordion-item.selected > .accordion-header .accordion-button,
#accordionShipment .accordion-item:has(input[type=radio]:checked) > .accordion-header .accordion-button,
#shippingAddressAccordion .accordion-item.selected > .accordion-header .accordion-button,
#shippingAddressAccordion .accordion-item:has(input[type=radio]:checked) > .accordion-header .accordion-button {
  background-color: rgba(116, 172, 42, 0.075) !important;
}
#accordionPayment .accordion-item.selected > .accordion-collapse,
#accordionPayment .accordion-item:has(input[type=radio]:checked) > .accordion-collapse,
#accordionShipment .accordion-item.selected > .accordion-collapse,
#accordionShipment .accordion-item:has(input[type=radio]:checked) > .accordion-collapse,
#shippingAddressAccordion .accordion-item.selected > .accordion-collapse,
#shippingAddressAccordion .accordion-item:has(input[type=radio]:checked) > .accordion-collapse {
  border-top-color: rgb(116, 172, 42);
}
#accordionPayment .accordion-item.selected:not(:first-of-type),
#accordionPayment .accordion-item:has(input[type=radio]:checked):not(:first-of-type),
#accordionShipment .accordion-item.selected:not(:first-of-type),
#accordionShipment .accordion-item:has(input[type=radio]:checked):not(:first-of-type),
#shippingAddressAccordion .accordion-item.selected:not(:first-of-type),
#shippingAddressAccordion .accordion-item:has(input[type=radio]:checked):not(:first-of-type) {
  margin-top: -1px;
  border-top: 1px solid rgb(116, 172, 42) !important;
}

#vmMainPageOPC #ajaxshipping #accordionShipment > .accordion-item,
#vmMainPageOPC #payment_html #accordionPayment > .accordion-item,
#vmMainPageOPC .select_address_wrap #shippingAddressAccordion > .accordion-item {
  padding: 0 !important;
}
#vmMainPageOPC #ajaxshipping #accordionShipment > .accordion-item > .accordion-header > .accordion-button,
#vmMainPageOPC #payment_html #accordionPayment > .accordion-item > .accordion-header > .accordion-button,
#vmMainPageOPC .select_address_wrap #shippingAddressAccordion > .accordion-item > .accordion-header > .accordion-button {
  margin-bottom: 0 !important;
}
#vmMainPageOPC #ajaxshipping #accordionShipment > .accordion-item > .accordion-header > .accordion-button:not(.collapsed),
#vmMainPageOPC #payment_html #accordionPayment > .accordion-item > .accordion-header > .accordion-button:not(.collapsed),
#vmMainPageOPC .select_address_wrap #shippingAddressAccordion > .accordion-item > .accordion-header > .accordion-button:not(.collapsed) {
  border-radius: 0 !important;
}
#vmMainPageOPC #ajaxshipping #accordionShipment > .accordion-item:first-of-type > .accordion-header > .accordion-button,
#vmMainPageOPC #payment_html #accordionPayment > .accordion-item:first-of-type > .accordion-header > .accordion-button,
#vmMainPageOPC .select_address_wrap #shippingAddressAccordion > .accordion-item:first-of-type > .accordion-header > .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius) !important;
  border-top-right-radius: var(--bs-accordion-inner-border-radius) !important;
}
#vmMainPageOPC #ajaxshipping #accordionShipment > .accordion-item:not(:has(~ .accordion-item)) > .accordion-header > .accordion-button.collapsed,
#vmMainPageOPC #payment_html #accordionPayment > .accordion-item:not(:has(~ .accordion-item)) > .accordion-header > .accordion-button.collapsed,
#vmMainPageOPC .select_address_wrap #shippingAddressAccordion > .accordion-item:not(:has(~ .accordion-item)) > .accordion-header > .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius) !important;
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius) !important;
}

#vmMainPageOPC #payment_html #accordionPayment > .accordion-item:not(:has(~ .accordion-item)) {
  overflow: hidden;
}

#vmMainPageOPC #ship_to_wrapper .accordion,
#vmMainPageOPC #ajaxshipping .accordion,
#vmMainPageOPC #payment_html .accordion,
#vmMainPageOPC .select_address_wrap .accordion {
  --ndcc-checkout-accordion-font-size: 0.8rem;
  --ndcc-checkout-accordion-padding-x: 1rem;
  --ndcc-checkout-accordion-padding-y: 0.75rem;
  --bs-accordion-btn-padding-x: var(--ndcc-checkout-accordion-padding-x);
  --bs-accordion-btn-padding-y: var(--ndcc-checkout-accordion-padding-y);
  --bs-accordion-body-padding-x: var(--ndcc-checkout-accordion-padding-x);
  --bs-accordion-body-padding-y: var(--ndcc-checkout-accordion-padding-y);
  font-size: var(--ndcc-checkout-accordion-font-size);
}
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-button,
#vmMainPageOPC #ajaxshipping .accordion .accordion-button,
#vmMainPageOPC #payment_html .accordion .accordion-button,
#vmMainPageOPC .select_address_wrap .accordion .accordion-button {
  padding: var(--ndcc-checkout-accordion-padding-y) var(--ndcc-checkout-accordion-padding-x) !important;
  font-size: var(--ndcc-checkout-accordion-font-size) !important;
}
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-button::after,
#vmMainPageOPC #ajaxshipping .accordion .accordion-button::after,
#vmMainPageOPC #payment_html .accordion .accordion-button::after,
#vmMainPageOPC .select_address_wrap .accordion .accordion-button::after {
  flex: 0 0 auto;
  width: 0;
  height: 0;
  margin-left: 0;
  background-image: none !important;
  content: "";
  transform: none !important;
}
#vmMainPageOPC #ship_to_wrapper .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button::after,
#vmMainPageOPC #ajaxshipping .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button::after,
#vmMainPageOPC #payment_html .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button::after,
#vmMainPageOPC .select_address_wrap .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button::after {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  margin-left: 0.75rem;
  color: #535353;
  background-image: none !important;
  font-family: "Font Awesome 5 Pro";
  font-size: 1em;
  line-height: 1;
  content: "\f078";
  transform: none !important;
}
#vmMainPageOPC #ship_to_wrapper .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button:not(.collapsed)::after,
#vmMainPageOPC #ship_to_wrapper .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button[aria-expanded=true]::after,
#vmMainPageOPC #ajaxshipping .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button:not(.collapsed)::after,
#vmMainPageOPC #ajaxshipping .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button[aria-expanded=true]::after,
#vmMainPageOPC #payment_html .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button:not(.collapsed)::after,
#vmMainPageOPC #payment_html .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button[aria-expanded=true]::after,
#vmMainPageOPC .select_address_wrap .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button:not(.collapsed)::after,
#vmMainPageOPC .select_address_wrap .accordion > .accordion-item:has(> .accordion-collapse:not(.d-none) > .accordion-body) > .accordion-header > .accordion-button[aria-expanded=true]::after {
  content: "\f077";
}
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-button input[type=radio],
#vmMainPageOPC #ajaxshipping .accordion .accordion-button input[type=radio],
#vmMainPageOPC #payment_html .accordion .accordion-button input[type=radio],
#vmMainPageOPC .select_address_wrap .accordion .accordion-button input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-button input[type=radio] + .inputfake::before,
#vmMainPageOPC #ajaxshipping .accordion .accordion-button input[type=radio] + .inputfake::before,
#vmMainPageOPC #payment_html .accordion .accordion-button input[type=radio] + .inputfake::before,
#vmMainPageOPC .select_address_wrap .accordion .accordion-button input[type=radio] + .inputfake::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  color: #535353;
  font-family: "bootstrap-icons";
  font-size: 1.4em;
  line-height: 1;
  content: "\f28a";
}
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-button input[type=radio]:checked + .inputfake::before,
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-item.selected .accordion-button .inputfake::before,
#vmMainPageOPC #ajaxshipping .accordion .accordion-button input[type=radio]:checked + .inputfake::before,
#vmMainPageOPC #ajaxshipping .accordion .accordion-item.selected .accordion-button .inputfake::before,
#vmMainPageOPC #payment_html .accordion .accordion-button input[type=radio]:checked + .inputfake::before,
#vmMainPageOPC #payment_html .accordion .accordion-item.selected .accordion-button .inputfake::before,
#vmMainPageOPC .select_address_wrap .accordion .accordion-button input[type=radio]:checked + .inputfake::before,
#vmMainPageOPC .select_address_wrap .accordion .accordion-item.selected .accordion-button .inputfake::before {
  color: rgb(116, 172, 42);
  content: "\f26a";
}
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-button input[type=radio]:focus-visible + .inputfake::before,
#vmMainPageOPC #ajaxshipping .accordion .accordion-button input[type=radio]:focus-visible + .inputfake::before,
#vmMainPageOPC #payment_html .accordion .accordion-button input[type=radio]:focus-visible + .inputfake::before,
#vmMainPageOPC .select_address_wrap .accordion .accordion-button input[type=radio]:focus-visible + .inputfake::before {
  border-radius: 50%;
  outline: 2px solid rgba(116, 172, 42, 0.35);
  outline-offset: 2px;
}
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-body,
#vmMainPageOPC #ajaxshipping .accordion .accordion-body,
#vmMainPageOPC #payment_html .accordion .accordion-body,
#vmMainPageOPC .select_address_wrap .accordion .accordion-body {
  padding: var(--ndcc-checkout-accordion-padding-y) var(--ndcc-checkout-accordion-padding-x);
  font-size: var(--ndcc-checkout-accordion-font-size) !important;
}
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-button .p-2,
#vmMainPageOPC #ajaxshipping .accordion .accordion-button .p-2,
#vmMainPageOPC #payment_html .accordion .accordion-button .p-2,
#vmMainPageOPC .select_address_wrap .accordion .accordion-button .p-2 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#vmMainPageOPC #ship_to_wrapper .accordion .accordion-button .fs-6,
#vmMainPageOPC #ajaxshipping .accordion .accordion-button .fs-6,
#vmMainPageOPC #payment_html .accordion .accordion-button .fs-6,
#vmMainPageOPC .select_address_wrap .accordion .accordion-button .fs-6 {
  font-size: inherit !important;
}

#vmMainPageOPC .is_marketing_allowed.form-check {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
#vmMainPageOPC .is_marketing_allowed.form-check .form-check-input[type=checkbox] {
  flex: 0 0 1.4rem;
  width: 1.4rem;
  height: 1.4rem;
  margin: 0;
  visibility: visible;
  border: 1.5px solid rgb(116, 172, 42);
  border-radius: 0.35rem;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.85rem;
  box-shadow: none;
  cursor: pointer;
}
#vmMainPageOPC .is_marketing_allowed.form-check .form-check-input[type=checkbox]:checked {
  border-color: rgb(116, 172, 42);
  background-color: rgb(116, 172, 42);
}
#vmMainPageOPC .is_marketing_allowed.form-check .form-check-input[type=checkbox]:focus-visible {
  border-color: rgb(116, 172, 42);
  outline: 2px solid rgba(116, 172, 42, 0.35);
  outline-offset: 2px;
}
#vmMainPageOPC .is_marketing_allowed.form-check .form-check-label {
  margin: 0;
  color: #222222;
  font-size: 0.9rem;
  line-height: 1.35;
  cursor: pointer;
}
#vmMainPageOPC .is_marketing_allowed.form-check .form-check-input + .form-check-label::before,
#vmMainPageOPC .is_marketing_allowed.form-check .form-check-input + .form-check-label::after {
  content: none !important;
}

#vmMainPageOPC .ndcc-checkout-section {
  --ndcc-checkout-rule: rgba(34, 34, 34, 0.14);
  --ndcc-checkout-soft: rgba(34, 34, 34, 0.035);
}
#vmMainPageOPC .ndcc-checkout-section .ndcc-section-heading {
  margin-bottom: 1rem;
}
#vmMainPageOPC .ndcc-checkout-section .ndcc-section-heading h2, #vmMainPageOPC .ndcc-checkout-section .ndcc-section-heading .h2 {
  font-size: 1.125rem;
  margin: 0;
  line-height: 1.15;
}
#vmMainPageOPC .ndcc-checkout-section .ndcc-section-heading--compact {
  margin-bottom: 0.85rem;
}
#vmMainPageOPC .ndcc-checkout-section .ndcc-address-panel[hidden],
#vmMainPageOPC .ndcc-checkout-section .ndcc-shipto-fields[hidden] {
  display: none !important;
}

#vmMainPageOPC .ndcc-contact-summary {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(116, 172, 42, 0.3);
  border-radius: 0.7rem;
  background: rgba(116, 172, 42, 0.055);
}
#vmMainPageOPC .ndcc-contact-summary .ndcc-contact-summary__icon {
  display: inline-flex;
  flex: 0 0 2.25rem;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: rgb(116, 172, 42);
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0.15rem 0.45rem rgba(34, 34, 34, 0.09);
}

#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact__avatar {
  display: inline-grid;
  flex: 0 0 2.5rem;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  color: #222222;
  background: rgba(34, 34, 34, 0.025);
  border: 1px solid rgba(34, 34, 34, 0.14);
  border-radius: 50%;
  font-size: 1rem;
  font-weight: 600;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact__identity {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact__identity strong,
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact__identity span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact__identity strong {
  color: #222222;
  font-size: 0.95rem;
  font-weight: 600;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact__identity span {
  color: rgba(34, 34, 34, 0.72);
  font-size: 0.76rem;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact__menu {
  flex: 0 0 auto;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact__menu .dropdown-menu {
  min-width: 11rem;
  padding: 0.4rem;
  border-color: rgba(34, 34, 34, 0.14);
  border-radius: 0.6rem;
  box-shadow: 0 0.55rem 1.5rem rgba(34, 34, 34, 0.12);
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-contact-compact__menu .dropdown-item {
  border-radius: 0.35rem;
  font-size: 0.85rem;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-icon-button {
  display: inline-grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  color: rgba(34, 34, 34, 0.72);
  background: transparent;
  border: 0;
  border-radius: 50%;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-icon-button i {
  color: inherit;
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-icon-button:hover {
  color: #222222;
  background: rgba(34, 34, 34, 0.055);
}
#vmMainPageOPC .ndcc-contact-section--logged .ndcc-icon-button:focus-visible {
  outline: 2px solid rgba(116, 172, 42, 0.38);
  outline-offset: 2px;
}

#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] {
  margin: 0 20px 1rem;
  overflow: hidden;
  color: #222222;
  background: #fff;
  border: 1px solid rgba(34, 34, 34, 0.17);
  border-radius: 0.85rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__section + .ndcc-fulfilment__section {
  border-top: 1px solid rgba(34, 34, 34, 0.14);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__heading {
  margin: 0;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__toggle {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  width: 100%;
  min-height: 3.25rem;
  padding: 0.8rem 1rem;
  color: rgba(34, 34, 34, 0.7);
  background: #fafafa;
  border: 0;
  text-align: left;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__toggle:hover {
  background: rgba(34, 34, 34, 0.035);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__toggle:focus-visible {
  position: relative;
  z-index: 2;
  outline: 2px solid rgba(116, 172, 42, 0.38);
  outline-offset: -2px;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__toggle i {
  grid-column: 3;
  justify-self: end;
  font-size: 0.8rem;
  line-height: 1;
  color: rgba(34, 34, 34, 0.62);
  transition: transform 0.18s ease;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__toggle[aria-expanded=false] i {
  transform: rotate(180deg);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__toggle[aria-expanded=true] .ndcc-fulfilment__summary {
  display: none;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__title {
  grid-column: 1;
  align-self: start;
  padding-top: 0.08rem;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary {
  display: flex;
  grid-column: 2;
  min-width: 0;
  flex-direction: column;
  color: #222222;
  text-align: left;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-primary,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-secondary {
  overflow-wrap: anywhere;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-primary {
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.25;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-pickup-name {
  color: #222222;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.25;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-secondary {
  margin-top: 0.12rem;
  color: rgba(34, 34, 34, 0.74);
  font-size: 0.78rem;
  line-height: 1.3;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-location-label {
  margin-top: 0.34rem;
  color: rgba(34, 34, 34, 0.58);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-collection-address,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-collection-detail {
  color: #222222;
  font-size: 0.76rem;
  line-height: 1.3;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__click-collect-directions {
  align-self: flex-start;
  color: #0d6efd;
  font-size: 0.74rem;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 0.1em;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-click-collect-notice {
  margin-top: 0.28rem;
  color: #b42318;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.35;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__pickup-action {
  display: inline-flex;
  align-self: flex-start;
  width: fit-content;
  margin-top: 0.35rem;
  padding: 0.22rem 0.45rem;
  border-radius: 0.3rem;
  background: rgb(116, 172, 42);
  color: #fff;
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.25;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__body {
  padding: 0 1rem 1rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__section--shipto .ndcc-fulfilment__body,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__section--shipping .ndcc-fulfilment__body {
  padding-top: 0.7rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-saved-addresses,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-list {
  display: grid;
  gap: 0.15rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-option {
  position: relative;
  min-width: 0;
  padding: 0 !important;
  background: #fff;
  border: 1px solid transparent !important;
  border-radius: 0.72rem;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice.is-selected,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-option.is-selected,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-option:has(input[type=radio]:checked) {
  background: rgba(116, 172, 42, 0.07);
  border-color: transparent !important;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__select,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice {
  display: grid;
  align-items: start;
  min-width: 0;
  margin: 0;
  cursor: pointer;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__select {
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.85rem 0.35rem 0.85rem 0.85rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice {
  grid-template-columns: 1.35rem 2.4rem minmax(0, 1fr) auto;
  gap: 0.7rem;
  width: 100%;
  padding: 0.6rem 0.85rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__select input[type=radio],
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__select .inputfake::before,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice .inputfake::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  color: rgba(34, 34, 34, 0.52);
  font-family: "bootstrap-icons";
  font-size: 1.12rem;
  font-weight: 400;
  line-height: 1;
  content: "\f28a";
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__select input[type=radio]:checked + .inputfake::before,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice input[type=radio]:checked + .inputfake::before {
  color: rgb(116, 172, 42);
  content: "\f26a";
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__select input[type=radio]:focus-visible + .inputfake::before,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice input[type=radio]:focus-visible + .inputfake::before {
  border-radius: 50%;
  outline: 2px solid rgba(116, 172, 42, 0.38);
  outline-offset: 2px;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__plus {
  position: relative;
  width: 1.3rem;
  height: 1.3rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__plus::before, #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__plus::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1.5px;
  background: rgb(116, 172, 42);
  content: "";
  transform: translate(-50%, -50%);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__copy,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  margin: 0;
  text-align: left;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__copy strong,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice__copy strong {
  color: #222222;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.35;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__copy > span,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice__copy > span {
  overflow-wrap: anywhere;
  color: rgba(34, 34, 34, 0.7);
  font-size: 0.8rem;
  line-height: 1.4;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__badge {
  align-self: flex-start;
  margin-top: 0.25rem;
  padding: 0.15rem 0.45rem;
  color: #fff;
  background: rgba(34, 34, 34, 0.72);
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__actions {
  position: relative;
  z-index: 3;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__menu-toggle {
  display: inline-grid;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  margin: 0.55rem 0.45rem 0 0;
  padding: 0;
  color: rgba(34, 34, 34, 0.62);
  background: transparent;
  border: 0;
  border-radius: 50%;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__menu-toggle i {
  color: inherit;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__menu-toggle:hover {
  color: #222222;
  background: rgba(34, 34, 34, 0.06);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__menu-toggle:focus-visible {
  outline: 2px solid rgba(116, 172, 42, 0.38);
  outline-offset: 1px;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__menu {
  min-width: 6.5rem;
  padding: 0.35rem;
  border: 1px solid rgba(34, 34, 34, 0.13);
  border-radius: 0.75rem;
  box-shadow: 0 0.75rem 2rem rgba(34, 34, 34, 0.16);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__menu::after {
  position: absolute;
  top: -0.32rem;
  right: 0.92rem;
  width: 0.65rem;
  height: 0.65rem;
  background: #fff;
  border-top: 1px solid rgba(34, 34, 34, 0.13);
  border-left: 1px solid rgba(34, 34, 34, 0.13);
  content: "";
  transform: rotate(45deg);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__edit.dropdown-item {
  position: relative;
  z-index: 1;
  padding: 0.5rem 0.65rem;
  color: #287d39;
  background: transparent;
  border: 0;
  border-radius: 0.45rem;
  font-size: 0.86rem;
  font-weight: 600;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__edit.dropdown-item:hover, #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__edit.dropdown-item:focus {
  color: #1f642d;
  background: rgba(116, 172, 42, 0.08);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-editor-slot,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-panel {
  grid-column: 1/-1;
  width: 100%;
  padding: 1rem;
  background: rgba(34, 34, 34, 0.025);
  border-top: 1px solid rgba(34, 34, 34, 0.11);
  border-radius: 0 0 0.7rem 0.7rem;
  animation: ndcc-checkout-reveal 0.2s ease-out both;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-editor-slot[hidden],
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-panel[hidden] {
  display: none !important;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-summary {
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 0.65rem;
  padding: 0.7rem 0.85rem;
  background: rgba(34, 34, 34, 0.025);
  border: 1px solid rgba(34, 34, 34, 0.1);
  border-radius: 0.65rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-summary__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-summary__copy small, #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-summary__copy .small {
  color: rgba(34, 34, 34, 0.72);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-summary__copy strong {
  overflow: hidden;
  color: #222222;
  font-size: 0.78rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-summary__edit,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-editor-close {
  flex: 0 0 auto;
  padding: 0.35rem 0.6rem;
  color: #287d39;
  background: transparent;
  border: 0;
  border-radius: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-summary__edit:hover,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-editor-close:hover {
  background: rgba(116, 172, 42, 0.08);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-summary__edit:focus-visible,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-editor-close:focus-visible {
  outline: 2px solid rgba(116, 172, 42, 0.38);
  outline-offset: 1px;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-panel {
  margin-top: 0.65rem;
  border: 1px solid rgba(116, 172, 42, 0.28);
  border-radius: 0.7rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-panel .ndcc-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-panel .ndcc-section-heading h3, #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-billing-panel .ndcc-section-heading .h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice__input,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.1rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice__logo img {
  width: auto;
  max-width: 2rem;
  max-height: 2rem;
  object-fit: contain;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .shiplogo.img-fluid {
  border-radius: 0.25rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice__price {
  align-self: center;
  padding-left: 0.4rem;
  color: #222222;
  font-size: 0.88rem;
  white-space: nowrap;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-pickup-support {
  border-radius: 0 0 0.7rem 0.7rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-click-collect-notice {
  margin: 0 0.85rem 0.7rem;
  color: #b42318;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.35;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-more-shipping__content {
  display: grid;
  gap: 0.15rem;
  margin-top: 0.15rem;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-more-shipping__content[hidden] {
  display: none;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-more-shipping__toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.35rem 0 0.15rem 0.85rem;
  padding: 0.25rem 0;
  color: #287d39;
  background: transparent;
  border: 0;
  font-size: 0.78rem;
  font-weight: 700;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-more-shipping__toggle i {
  font-size: 0.68rem;
  transition: transform 0.15s ease;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-more-shipping__toggle[aria-expanded=true] i {
  transform: rotate(180deg);
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-more-shipping__toggle:hover {
  color: #1f642d;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-more-shipping__toggle:focus-visible {
  outline: 2px solid rgba(116, 172, 42, 0.38);
  outline-offset: 2px;
}
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .wholesaleshippingwrap {
  display: block;
  padding: 0 0.85rem 0.8rem;
  color: rgba(34, 34, 34, 0.68);
  font-size: 0.75rem;
}

#vmMainPageOPC .ndcc-billing-choice {
  padding: 0.9rem 1rem;
  border: 1px solid rgba(34, 34, 34, 0.16);
  border-radius: 0.7rem;
  background: rgba(34, 34, 34, 0.025);
  transition: border-color 0.18s ease, background-color 0.18s ease;
}
#vmMainPageOPC .ndcc-billing-choice:has(.form-check-input:checked) {
  border-color: rgba(116, 172, 42, 0.55);
  background: rgba(116, 172, 42, 0.055);
}
#vmMainPageOPC .ndcc-billing-choice .form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  min-height: 0;
  padding-left: 0;
}
#vmMainPageOPC .ndcc-billing-choice .form-check-input {
  flex: 0 0 2.4rem;
  width: 2.4rem;
  height: 1.3rem;
  margin: 0.15rem 0 0;
  cursor: pointer;
}
#vmMainPageOPC .ndcc-billing-choice .form-check-input:checked {
  border-color: rgb(116, 172, 42);
  background-color: rgb(116, 172, 42);
}
#vmMainPageOPC .ndcc-billing-choice .form-check-input:focus-visible {
  border-color: rgb(116, 172, 42);
  outline: 2px solid rgba(116, 172, 42, 0.32);
  outline-offset: 2px;
  box-shadow: none;
}
#vmMainPageOPC .ndcc-billing-choice .form-check-label {
  margin: 0;
  color: #222222;
  font-size: 0.9rem;
  line-height: 1.35;
  cursor: pointer;
}
#vmMainPageOPC .ndcc-billing-choice .form-check-label > .small {
  font-size: 0.875rem;
  line-height: 1.5;
}

#vmMainPageOPC .ndcc-billing-panel {
  padding: 1rem;
  border: 1px solid rgba(116, 172, 42, 0.35);
  border-radius: 0.7rem;
  background: linear-gradient(180deg, rgba(116, 172, 42, 0.045), rgba(34, 34, 34, 0.018));
  animation: ndcc-checkout-reveal 0.2s ease-out both;
}

#vmMainPageOPC .ndcc-saved-addresses .ndcc-address-choice__copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
  margin-left: 0.75rem;
  text-align: left;
}
#vmMainPageOPC .ndcc-saved-addresses .ndcc-address-choice__copy strong {
  color: #222222;
  font-size: 0.88rem;
}
#vmMainPageOPC .ndcc-saved-addresses .ndcc-address-choice__copy span {
  overflow: hidden;
  color: rgba(34, 34, 34, 0.68);
  font-size: 0.78rem;
  line-height: 1.35;
  text-overflow: ellipsis;
}
#vmMainPageOPC .ndcc-saved-addresses .accordion-header {
  margin: 0;
}
#vmMainPageOPC .ndcc-saved-addresses .accordion-button {
  display: flex;
  align-items: center;
  width: 100%;
  cursor: pointer;
}
#vmMainPageOPC .ndcc-saved-addresses .ndcc-address-choice--new .accordion-button {
  color: rgb(116, 172, 42);
}

#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-method {
  position: relative;
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-method .accordion-button {
  width: 100%;
  cursor: pointer;
  font-weight: 400;
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-input-slot {
  position: relative;
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-input-slot .inputfake::before {
  font-weight: 400;
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-choice__copy {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
  text-align: left;
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-choice__copy span {
  color: rgba(34, 34, 34, 0.68);
  font-size: 0.78rem;
  font-weight: 400;
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-price-slot {
  flex: 0 0 auto;
  margin-left: auto;
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-support {
  width: 100%;
  padding: 0.85rem 1rem;
  border-top: 1px solid rgba(34, 34, 34, 0.12);
  background: rgba(34, 34, 34, 0.028);
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-support[hidden] {
  display: none !important;
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-support .dpdpickup_map_link {
  border-radius: 0.45rem;
  font-weight: 700;
}
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-support .opc_zas_place,
#vmMainPageOPC #ndcc-shipping-methods .ndcc-pickup-support .opc_zas_place * {
  font-size: 0.8rem !important;
  line-height: 1.4;
}

#vmMainPageOPC {
  --ndcc-checkout-faux-radio-size: 1.2rem;
  --ndcc-checkout-faux-radio-idle: #535353;
  --ndcc-checkout-faux-radio-selected: rgb(116, 172, 42);
}

#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__select .inputfake::before,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice .inputfake::before,
#vmMainPageOPC #ajaxshipping .opc_ship_wrap input[type=radio] + .inputfake::before,
#vmMainPageOPC #payment_html .accordion-button input[type=radio] + .inputfake::before,
#vmMainPageOPC #payment_html .opc_payment_wrap .inputfake::before {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.2em !important;
  color: var(--ndcc-checkout-faux-radio-idle) !important;
  font-family: "bootstrap-icons" !important;
  font-size: var(--ndcc-checkout-faux-radio-size) !important;
  font-weight: 400 !important;
  line-height: 1;
  content: "\f28a";
}

#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__select input[type=radio]:checked + .inputfake::before,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice input[type=radio]:checked + .inputfake::before,
#vmMainPageOPC #ajaxshipping .opc_ship_wrap input[type=radio]:checked + .inputfake::before,
#vmMainPageOPC #payment_html .accordion-button input[type=radio]:checked + .inputfake::before,
#vmMainPageOPC #payment_html .accordion-item.selected .inputfake::before,
#vmMainPageOPC #payment_html .opc_payment_wrap.selected .inputfake::before {
  color: var(--ndcc-checkout-faux-radio-selected) !important;
  content: "\f26a";
}

@keyframes ndcc-checkout-reveal {
  from {
    opacity: 0;
    transform: translateY(-0.3rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 575.98px) {
  #vmMainPageOPC .ndcc-billing-choice,
#vmMainPageOPC .ndcc-billing-panel {
    padding: 0.8rem;
  }
  #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] {
    margin-right: 10px;
    margin-left: 10px;
  }
  #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__toggle,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__body {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
  #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__toggle {
    grid-template-columns: 4.25rem minmax(0, 1fr) auto;
    gap: 0.55rem;
  }
  #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice {
    grid-template-columns: 1.25rem 2rem minmax(0, 1fr) auto;
    gap: 0.5rem;
    padding: 0.75rem 0.65rem;
  }
  #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice__price {
    font-size: 0.8rem;
  }
  #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-address-choice__copy > span,
#vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-shipment-choice__copy > span {
    font-size: 0.75rem;
  }
  #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-primary {
    font-size: 0.82rem;
  }
  #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__summary-secondary {
    font-size: 0.74rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  #vmMainPageOPC .ndcc-billing-panel,
#vmMainPageOPC .ndcc-address-editor-slot {
    animation: none;
  }
  #vmMainPageOPC #ndcc-address-flow[data-customer-state=logged] .ndcc-fulfilment__toggle i {
    transition: none;
  }
}
.hide_on_delivery {
  display: none !important;
}

#payment_response {
  color: white;
}

#payment_response {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background: rgba(51, 51, 51, 0.8196078431);
  z-index: 99999;
}

#payment_response {
  display: flex;
  justify-content: center;
  align-items: center;
}

#payment_response.modal--show,
#payment_response.modal--hide {
  display: flex;
} /* classes fired by js for animation control */
/* This is on the wrapper for the whole modal */
#payment_response div.payment_wrap_after_checkout > .StripeElement {
  max-width: 400px;
  width: 400px;
}
@media (min-width: 100px) and (max-width: 879px) {
  #payment_response div.payment_wrap_after_checkout > .StripeElement {
    max-width: 360px;
    width: 360px;
  }
}

.payment_wrap_after_checkout {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-flow: column wrap;
}

#payment_response.modal--align {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 999;
}

#payment_response .payment_wrap_after_checkout {
  position: relative;
  width: 100%;
  max-width: 100%;
  max-height: 800px;
  padding: 20px;
  padding-left: 20%;
  padding-right: 20%;
  margin: 0;
  color: white;
}

/* The .modal__close class is used in js but is modified '--x' here */
#payment_response .modal__close--x {
  font-size: 30px; /* this is only because we use unicode for the X in this case */
  position: absolute;
  top: 3px;
  right: 10px;
}

/* As there is no href to avoid the hash being added to the URL when clicked we add a pointer */
/* This 'x' is hidden from screen readers as there is an accessible close button in the modal */
#payment_response .modal__close--x:hover {
  cursor: pointer;
}

/* Animations */
/* Open */
#payment_response .modal.modal--show {
  animation: modal-open 0.3s;
}

@keyframes modal-open {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Close */
#payment_response.modal--hide {
  animation: modal-close 0.3s;
}

@keyframes modal-close {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
#payment_response button {
  min-width: 100px;
  min-height: 30px;
}

@media (min-width: 100px) and (max-width: 879px) {
  #payment_response .payment_wrap_after_checkout {
    padding-left: 20px;
    padding-right: 20px;
  }
}
#payment_response a.cancell {
  line-height: 2em;
}

#payment_response .wait_on_ready {
  display: none;
}

#payment_response a.cancell, #payment_response a.cancell:visited, #payment_response a.cancell:hover {
  color: white;
}

#payment_response a.cancell:hover {
  color: black;
}

#payment_response .spinner.hidden {
  display: none;
}

#payment_response .error {
  font-weight: bold;
  color: red;
}

.productdetails-view,
.category-view {
  /*** custom checkboxes ***/
  /* unchecked icon */
  /* space between checkbox and label */
  /* checked icon */
  /* allow space for check mark */
}
.productdetails-view #desc,
.productdetails-view #reviews,
.category-view #desc,
.category-view #reviews {
  display: block;
  position: relative;
  top: -150px;
  visibility: hidden;
}
.productdetails-view .fractions,
.category-view .fractions {
  font-size: 1rem;
}
.productdetails-view .prod_catdesc div,
.category-view .prod_catdesc div {
  column-count: 4;
}
@media screen and (max-width: 830px) {
  .productdetails-view .prod_catdesc div,
.category-view .prod_catdesc div {
    column-count: 1;
  }
}
.productdetails-view .prod_catdesc p,
.category-view .prod_catdesc p {
  margin-bottom: 0.5rem;
}
.productdetails-view .mainproddesc *:empty,
.category-view .mainproddesc *:empty {
  display: none;
}
.productdetails-view .product-saving,
.category-view .product-saving {
  color: #588320;
}
.productdetails-view label strong.price,
.category-view label strong.price {
  color: #1D1D1B;
}
.productdetails-view input[type=checkbox] + label:before,
.category-view input[type=checkbox] + label:before {
  letter-spacing: 10px;
}
.productdetails-view input[type=checkbox]:checked + label:before,
.category-view input[type=checkbox]:checked + label:before {
  content: "\f14a";
  color: rgb(116, 172, 42);
}
.productdetails-view input[type=checkbox]:checked + label:before,
.category-view input[type=checkbox]:checked + label:before {
  letter-spacing: 10px;
}
.productdetails-view .full-width,
.category-view .full-width {
  background-color: #ffffff;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.productdetails-view .full-width h2, .productdetails-view .full-width .h2,
.category-view .full-width h2,
.category-view .full-width .h2 {
  font-size: 200%;
  font-weight: 100;
  color: rgba(34, 34, 34, 0.7);
}
.productdetails-view .full-width h3, .productdetails-view .full-width .h3,
.category-view .full-width h3,
.category-view .full-width .h3 {
  font-size: 80%;
  font-weight: 600;
}
.productdetails-view p:empty,
.category-view p:empty {
  display: none;
}
.productdetails-view .border-dark,
.category-view .border-dark {
  border-color: rgba(34, 34, 34, 0.3) !important;
}
.productdetails-view .spectable,
.category-view .spectable {
  font-size: 0.8rem;
}
.productdetails-view .spectable p,
.category-view .spectable p {
  margin-bottom: 0px;
}
.productdetails-view .tags,
.category-view .tags {
  font-size: 1.2rem;
}
@media screen and (max-width: 830px) {
  .productdetails-view .text-muted,
.category-view .text-muted {
    font-size: 60%;
  }
}
.productdetails-view .title,
.category-view .title {
  background-color: #222222;
}
.productdetails-view .title h2, .productdetails-view .title .h2,
.category-view .title h2,
.category-view .title .h2 {
  color: #fff !important;
  font-weight: 100;
}
.productdetails-view .specs,
.category-view .specs {
  background-color: #64594f;
  color: rgba(255, 255, 255, 0.9) !important;
}
.productdetails-view .specs h2, .productdetails-view .specs .h2,
.category-view .specs h2,
.category-view .specs .h2 {
  font-weight: 100;
  color: #fff;
}
.productdetails-view .specs h2 span, .productdetails-view .specs .h2 span,
.category-view .specs h2 span,
.category-view .specs .h2 span {
  color: #1D1D1B;
}
.productdetails-view .youtube,
.category-view .youtube {
  background-color: #1D1D1B;
  color: rgba(255, 255, 255, 0.9) !important;
}
.productdetails-view .youtube h4, .productdetails-view .youtube .h4,
.category-view .youtube h4,
.category-view .youtube .h4 {
  color: #1D1D1B;
}
.productdetails-view .reviews,
.category-view .reviews {
  background-color: #ece8e4;
  background-image: url("/images/fullwidthbg/reviews-bg.jpg");
  color: #222222;
}
.productdetails-view .reviews h2, .productdetails-view .reviews .h2,
.category-view .reviews h2,
.category-view .reviews .h2 {
  font-weight: 600;
}
.productdetails-view .reviewsfull,
.category-view .reviewsfull {
  background-color: #fff;
  color: #222222;
}
.productdetails-view .relcarousel,
.category-view .relcarousel {
  background-color: #fff;
  color: #222222;
}
.productdetails-view .cups,
.category-view .cups {
  background-color: rgba(34, 34, 34, 0.1);
  color: #222222;
  text-transform: uppercase;
  font-weight: 100;
}
.productdetails-view .cups h2, .productdetails-view .cups .h2,
.category-view .cups h2,
.category-view .cups .h2 {
  color: rgba(34, 34, 34, 0.7) !important;
}
.productdetails-view .cups ul,
.category-view .cups ul {
  list-style: none;
}
.productdetails-view .cups ul .col,
.category-view .cups ul .col {
  z-index: 1;
}
@media screen and (max-width: 830px) {
  .productdetails-view .cups ul,
.category-view .cups ul {
    padding: 0px;
  }
}
.productdetails-view .cups:before,
.category-view .cups:before {
  content: "";
  float: left;
  position: absolute;
  left: 0px;
  bottom: 0px;
  width: 100%;
  height: 43%;
  z-index: -1;
  background-color: rgba(34, 34, 34, 0.1);
}
@media screen and (max-width: 830px) {
  .productdetails-view .cups:before,
.category-view .cups:before {
    display: none;
  }
}
.productdetails-view .description,
.category-view .description {
  color: #222222;
}
.productdetails-view .topdescwrapper,
.category-view .topdescwrapper {
  font-size: 80%;
}
.productdetails-view .topdescwrapper ul,
.category-view .topdescwrapper ul {
  display: none !important;
}
.productdetails-view .topdescwrapper p,
.category-view .topdescwrapper p {
  margin-bottom: 2px;
}
.productdetails-view .table-sm, .productdetails-view .spectable table,
.category-view .table-sm,
.category-view .spectable table {
  font-size: 80%;
}
.productdetails-view .card .card-header,
.category-view .card .card-header {
  font-size: 80%;
  background-color: transparent;
}
.productdetails-view .input-group-text,
.category-view .input-group-text {
  background-color: #ece8e4;
}
.productdetails-view .countdownwrap,
.category-view .countdownwrap {
  background-color: #ece8e4;
  color: #5d4f41;
}
.productdetails-view .countdownwrap a,
.category-view .countdownwrap a {
  color: #1D1D1B;
}
.productdetails-view .countdownwrap a:hover,
.category-view .countdownwrap a:hover {
  color: #1D1D1B;
}
.productdetails-view .countdownwrap #countdown,
.category-view .countdownwrap #countdown {
  font-size: 110%;
}
.productdetails-view .countdownwrap .smalltext,
.category-view .countdownwrap .smalltext {
  font-size: 14px;
}
.productdetails-view .countdownwrap .icon i,
.category-view .countdownwrap .icon i {
  font-size: 42px;
}
.productdetails-view .countdownwrap #gmctime-countdown1,
.category-view .countdownwrap #gmctime-countdown1 {
  color: #1D1D1B;
}
.productdetails-view table.straptitetable tbody td,
.productdetails-view table.straptitetable tbody th,
.category-view table.straptitetable tbody td,
.category-view table.straptitetable tbody th {
  background-color: #fff !important;
}
.productdetails-view table.straptitetable tr:hover,
.category-view table.straptitetable tr:hover {
  cursor: pointer;
}
.productdetails-view table.straptitetable tr.active td,
.productdetails-view table.straptitetable tr.active th,
.category-view table.straptitetable tr.active td,
.category-view table.straptitetable tr.active th {
  background-color: rgba(0, 152, 68, 0.2) !important;
}
.productdetails-view .childprodwrap .item,
.category-view .childprodwrap .item {
  position: relative;
}
.productdetails-view .childprodwrap .item .rounded.active:before, .productdetails-view .childprodwrap .item #vmMainPageOPC .active.cardInputMollie:before, #vmMainPageOPC .productdetails-view .childprodwrap .item .active.cardInputMollie:before,
.category-view .childprodwrap .item .rounded.active:before,
.category-view .childprodwrap .item #vmMainPageOPC .active.cardInputMollie:before,
#vmMainPageOPC .category-view .childprodwrap .item .active.cardInputMollie:before {
  top: 0px;
  z-index: 1050;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-top-color: rgba(5, 70, 98, 0.2);
  border-width: 10px;
  margin-left: -10px;
}
.productdetails-view .smalldesc,
.category-view .smalldesc {
  font-size: 1rem;
  color: #7b6956;
  padding: 0px;
  margin: 0px;
}
.productdetails-view ul.bullets,
.category-view ul.bullets {
  font-size: 1rem;
  list-style: none;
  padding-left: 20px;
}
.productdetails-view ul.bullets li,
.category-view ul.bullets li {
  text-indent: -21px;
}
.productdetails-view ul.bullets li:before,
.category-view ul.bullets li:before {
  margin-right: 5px;
  margin-top: 2px;
  position: relative;
  top: 2px;
  font-family: bootstrap-icons;
  content: "\f633";
  color: #51b37f;
}
.productdetails-view .multibuytable,
.category-view .multibuytable {
  font-size: 70%;
}
.productdetails-view .multibuytable td,
.productdetails-view .multibuytable th,
.category-view .multibuytable td,
.category-view .multibuytable th {
  text-align: center;
  padding: 2px;
  border: 0px;
}
.productdetails-view .multibuytable thead th,
.category-view .multibuytable thead th {
  background-color: #f8f9fa;
}
.productdetails-view .table-bordered,
.category-view .table-bordered {
  border-top-right-radius: 15px !important;
  border-top-left-radius: 15px !important;
}
.productdetails-view fieldset,
.category-view fieldset {
  border: 1px;
}
.productdetails-view legend,
.category-view legend {
  float: none;
  text-align: center;
}
.productdetails-view .carousel-inner,
.category-view .carousel-inner {
  background-color: #ece8e4;
}
.productdetails-view .compare,
.category-view .compare {
  border: 1px;
}
.productdetails-view .compare table.comparetable,
.category-view .compare table.comparetable {
  border: none;
}
.productdetails-view .compare table.comparetable thead th,
.category-view .compare table.comparetable thead th {
  border-top: none;
}
.productdetails-view .compare table.comparetable thead th + th,
.productdetails-view .compare table.comparetable tr td,
.category-view .compare table.comparetable thead th + th,
.category-view .compare table.comparetable tr td {
  background-color: #ece8e4 !important;
}
.productdetails-view .compare table.comparetable thead th + th + th,
.productdetails-view .compare table.comparetable tr td + td,
.category-view .compare table.comparetable thead th + th + th,
.category-view .compare table.comparetable tr td + td {
  background-color: transparent !important;
}
.productdetails-view .compare table.comparetable thead th + th,
.category-view .compare table.comparetable thead th + th {
  border-top: border #1D1D1B solid;
  border-left: border #1D1D1B solid;
  border-right: border #1D1D1B solid;
}
.productdetails-view .compare table.comparetable tr td,
.category-view .compare table.comparetable tr td {
  border-left: border #1D1D1B solid;
  border-right: border #1D1D1B solid;
}
.productdetails-view .compare table.comparetable tr:last-child td,
.category-view .compare table.comparetable tr:last-child td {
  border-bottom: border #1D1D1B solid;
  padding-bottom: 5px;
}
.productdetails-view .compare table.comparetable tr:last-child td + td,
.category-view .compare table.comparetable tr:last-child td + td {
  border-bottom: none;
}
.productdetails-view .compare table.comparetable tr td + td,
.category-view .compare table.comparetable tr td + td {
  border-left: none;
  border-right: none;
}
.productdetails-view .compare table.comparetable thead th + th + th,
.category-view .compare table.comparetable thead th + th + th {
  border-left: none;
  border-right: none;
  border-top: none;
}
.productdetails-view .compare .table-condensed td,
.category-view .compare .table-condensed td {
  padding: 8px 8px 0px 8px !important;
}
.productdetails-view h3, .productdetails-view .h3,
.category-view h3,
.category-view .h3 {
  color: #009844;
  font-weight: 500;
  font-size: 110%;
}
.productdetails-view h3 a, .productdetails-view .h3 a,
.category-view h3 a,
.category-view .h3 a {
  color: #009844;
}
.productdetails-view .description,
.category-view .description {
  font-size: 100%;
  color: #222222;
}
.productdetails-view .description h2, .productdetails-view .description .h2,
.category-view .description h2,
.category-view .description .h2 {
  color: #1D1D1B;
  font-weight: 500;
  font-size: 150%;
}
.productdetails-view .description p,
.category-view .description p {
  margin-bottom: 15px;
}
.productdetails-view .description table,
.category-view .description table {
  font-size: 90% !important;
}
.productdetails-view .description table td,
.category-view .description table td {
  font-size: 90% !important;
}
.productdetails-view .description table td h5, .productdetails-view .description table td .h5,
.category-view .description table td h5,
.category-view .description table td .h5 {
  font-size: 100% !important;
  font-weight: 700;
}
.productdetails-view .description .whyshopcol,
.category-view .description .whyshopcol {
  font-size: 80%;
}
.productdetails-view .description .whyshopcol ul,
.category-view .description .whyshopcol ul {
  margin-bottom: 10px;
  padding: 0px;
  list-style: none;
}
.productdetails-view .description .whyshopcol ul li,
.category-view .description .whyshopcol ul li {
  font-weight: 600;
  margin-left: 20px;
}
.productdetails-view .description .whyshopcol h2, .productdetails-view .description .whyshopcol .h2,
.category-view .description .whyshopcol h2,
.category-view .description .whyshopcol .h2 {
  color: #1D1D1B !important;
  font-size: 120%;
}
.productdetails-view .description i,
.productdetails-view .description svg,
.category-view .description i,
.category-view .description svg {
  color: #1D1D1B;
}
.productdetails-view .PricepriceWithoutTaxTt,
.productdetails-view .PricesalesPriceTt.NoVAT,
.category-view .PricepriceWithoutTaxTt,
.category-view .PricesalesPriceTt.NoVAT {
  font-size: 3rem;
  line-height: 80% !important;
  font-weight: 600;
}
@media screen and (max-width: 500px) {
  .productdetails-view .PricepriceWithoutTaxTt,
.productdetails-view .PricesalesPriceTt.NoVAT,
.category-view .PricepriceWithoutTaxTt,
.category-view .PricesalesPriceTt.NoVAT {
    font-weight: 500;
    font-size: 420%;
    text-align: center !important;
  }
}
.productdetails-view .pricesmall,
.category-view .pricesmall {
  font-size: 0.8rem;
  color: #e7e4e4;
}
.productdetails-view .additional-images,
.category-view .additional-images {
  top: 0;
  left: 0;
}
.productdetails-view .multibuy .saving,
.category-view .multibuy .saving {
  color: rgb(116, 172, 42);
  font-weight: 500;
}
.productdetails-view .specs .ribbon,
.category-view .specs .ribbon {
  position: absolute;
  left: -5px;
  top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 120px;
  height: 120px;
  text-align: right;
}
.productdetails-view .specs .ribbon span,
.category-view .specs .ribbon span {
  font-size: 120%;
  font-weight: bold;
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  line-height: 30px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  width: 150px;
  display: block;
  background: #79a70a;
  background: linear-gradient(#9bc90d 0%, #79a70a 100%);
  box-shadow: 0 3px 10px -5px rgb(0, 0, 0);
  position: absolute;
  top: 28px;
  left: -32px;
}
.productdetails-view .specs .ribbon span::before,
.category-view .specs .ribbon span::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid #555555;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #555555;
}
.productdetails-view .specs .ribbon span::after,
.category-view .specs .ribbon span::after {
  content: "";
  position: absolute;
  right: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #555555;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #555555;
}
.productdetails-view .specsouterwrap,
.category-view .specsouterwrap {
  column-count: 3;
  column-gap: 0;
  font-size: 80%;
}
.productdetails-view .specsouterwrap .specwrap,
.category-view .specsouterwrap .specwrap {
  break-inside: avoid-column;
  border-color: rgba(236, 232, 228, 0.2) !important;
}
.productdetails-view .specsouterwrap .specwrap .spectitle,
.category-view .specsouterwrap .specwrap .spectitle {
  font-weight: 600;
  color: #1D1D1B;
  font-size: 110%;
}
.productdetails-view .specsouterwrapv2,
.category-view .specsouterwrapv2 {
  column-count: 2;
  column-gap: 0;
  font-size: 80%;
}
.productdetails-view .specsouterwrapv2 .specwrap,
.category-view .specsouterwrapv2 .specwrap {
  break-inside: avoid-column;
  border-color: rgba(236, 232, 228, 0.2) !important;
}
.productdetails-view .specsouterwrapv2 .specwrap .spectitle,
.category-view .specsouterwrapv2 .specwrap .spectitle {
  font-weight: 600;
  color: #1D1D1B;
  font-size: 110%;
}
.productdetails-view .nav-tabs .nav-link.active,
.category-view .nav-tabs .nav-link.active {
  color: #1D1D1B;
}
.productdetails-view .addtocartbar .quantity-container,
.category-view .addtocartbar .quantity-container {
  background-color: #ece8e4;
}
.productdetails-view .addtocartbar .btn-outline-secondary,
.category-view .addtocartbar .btn-outline-secondary {
  border-color: #ced4da !important;
}
.productdetails-view .addcheckbox .pricesmall,
.category-view .addcheckbox .pricesmall {
  font-size: 70%;
  line-height: 100% !important;
  display: inline-block;
}

.performance-facts {
  font-size: 80%;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  background-color: #fff;
  background: white; /* Old browsers */
  background: -moz-linear-gradient(top, white 0%, #ece8e4 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #ece8e4)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, white 0%, #ece8e4 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, white 0%, #ece8e4 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, white 0%, #ece8e4 100%); /* IE10+ */
  background: linear-gradient(to bottom, white 0%, #ece8e4 100%); /* W3C */
  /*position: absolute; right: 20px; top: -30px;*/
  border: 1px solid black;
  /*width: 280px;*/
  padding: 0.5rem;
  z-index: 2;
}
.performance-facts h3, .performance-facts .h3 {
  color: #222222;
  font-size: 200%;
}
.performance-facts table {
  border-collapse: collapse;
}
.performance-facts header {
  color: #222222;
  background-color: #fff;
}

.performance-facts__title {
  font-weight: bold;
  font-size: 2rem;
  margin: 0 0 0.25rem 0;
}

.performance-facts__header {
  border-bottom: 10px solid black;
  padding: 0 0 0.25rem 0;
  margin: 0 0 0.5rem 0;
}
.performance-facts__header p {
  margin: 0;
}

.performance-facts__table {
  width: 100%;
}
.performance-facts__table thead tr th,
.performance-facts__table thead tr td {
  border: 0;
}
.performance-facts__table th,
.performance-facts__table td {
  font-weight: normal;
  text-align: left;
  padding: 0.25rem 0;
  border-top: 1px solid black;
  white-space: nowrap;
}
.performance-facts__table td:last-child {
  text-align: right;
}
.performance-facts__table .blank-cell {
  width: 1rem;
  border-top: 0;
}
.performance-facts__table .thick-row th,
.performance-facts__table .thick-row td {
  border-top-width: 5px;
}

.small-info {
  font-size: 0.7rem;
}

.performance-facts__table {
  color: #222222 !important;
  font-size: 80%;
}

.performance-facts__table--small {
  border-bottom: 1px solid #999;
  margin: 0 0 0.5rem 0;
}
.performance-facts__table--small .performance-facts__table {
  color: #222222;
}
.performance-facts__table--small thead tr {
  border-bottom: 1px solid black;
}
.performance-facts__table--small td:last-child {
  text-align: left;
}
.performance-facts__table--small th,
.performance-facts__table--small td {
  border: 0;
  padding: 0;
}

.performance-facts__table--grid .performance-facts__table {
  margin: 0 0 0.5rem 0;
}
.performance-facts__table--grid .performance-facts__table td:last-child {
  text-align: left;
}
.performance-facts__table--grid .performance-facts__table td:last-child::before {
  content: "•";
  font-weight: bold;
  margin: 0 0.25rem 0 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Jhbm5lci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJfMm92ZXJyaWRlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb250YWluZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS12YXJpYW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19sYWJlbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY29udHJvbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY2hlY2suc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mbG9hdGluZy1sYWJlbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fb2ZmY2FudmFzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BsYWNlaG9sZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2NvbG9yLWJnLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3JlZC1saW5rcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3JhdGlvLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdGFja3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdGV4dC10cnVuY2F0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdnIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3V0aWxpdGllcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYXBpLnNjc3MiLCJfM21peGlucy5zY3NzIiwiXzRnZW5lcmljLnNjc3MiLCJfNWZvbnRzLnNjc3MiLCJfNmhlYWRlci5zY3NzIiwiXzZtZWdhbWVudS5zY3NzIiwiXzdob21lcGFnZS5zY3NzIiwiX2JyZWFkY3J1bWJzLnNjc3MiLCJfYnV0dG9ucy5zY3NzIiwiX2Nhcm91c2VsLnNjc3MiLCJfZm9vdGVyLnNjc3MiLCJfZm9ybXMuc2NzcyIsIl9sZWZ0Y29sLnNjc3MiLCJfbW9iaWxlLnNjc3MiLCJfbW9kdWxlcy5zY3NzIiwiX25hdmJhci5zY3NzIiwiX29mZmNhbnZhcy5zY3NzIiwiX3RhYmxlcy5zY3NzIiwiX3ZtX2Jhc2tldC5zY3NzIiwiX3ZtX2Jyb3dzZS1jYXQuc2NzcyIsIl92bV9vcGNfY2hlY2tvdXQuc2NzcyIsIl92bV9vcGNfc3RyaXBlLnNjc3MiLCJfdm1fcHJvZHVjdF9kZXRhaWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDREY7RUFRSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtF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QUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0VBQ0U7OztBQUtGO0VBQ0U7OztBQU9GO0VBQ0U7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFRRjtFQUNFOzs7QUFRRjtFQUNFOzs7QUdwa0JGO0VKeVFNLFdBTEk7RUlsUVIsYUZ3a0I0Qjs7O0FFbmtCNUI7RUpzUU07RUlsUUosYUZ5akJrQjtFRXhqQmxCLGFGd2lCMEI7O0FGemMxQjtFSXBHRjtJSjZRTTs7OztBSTdRTjtFSnNRTTtFSWxRSixhRnlqQmtCO0VFeGpCbEIsYUZ3aUIwQjs7QUZ6YzFCO0VJcEdGO0lKNlFNOzs7O0FJN1FOO0VKc1FNO0VJbFFKLGFGeWpCa0I7RUV4akJsQixhRndpQjBCOztBRnpjMUI7RUlwR0Y7SUo2UU07Ozs7QUk3UU47RUpzUU07RUlsUUosYUZ5akJrQjtFRXhqQmxCLGFGd2lCMEI7O0FGemMxQjtFSXBHRjtJSjZRTTs7OztBSTdRTjtFSnNRTTtFSWxRSixhRnlqQmtCO0VFeGpCbEIsYUZ3aUIwQjs7QUZ6YzFCO0VJcEdGO0lKNlFNOzs7O0FJN1FOO0VKc1FNO0VJbFFKLGFGeWpCa0I7RUV4akJsQixhRndpQjBCOztBRnpjMUI7RUlwR0Y7SUo2UU07Ozs7QUlyUFI7RUN2REU7RUFDQTs7O0FEMkRGO0VDNURFO0VBQ0E7OztBRDhERjtFQUNFOztBQUVBO0VBQ0UsY0Zna0IwQjs7O0FFdGpCOUI7RUpvTk0sV0FMSTtFSTdNUjs7O0FBSUY7RUFDRSxlRjZSTztFRmhGSCxXQUxJOztBSXJNUjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0EsZUZtUk87RUZoRkgsV0FMSTtFSTVMUixPRnRGUzs7QUV3RlQ7RUFDRTs7O0FFaEdKO0VDSUU7RUFHQTs7O0FEREY7RUFDRSxTSjY4Q2tDO0VJNThDbEMsa0JFRE07RUZFTjtFSEdFO0VJUkY7RUFHQTs7O0FEY0Y7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFTitQTSxXQUxJO0VNeFBSLE9KMUJTOzs7QU9SVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQ0hBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNzREU7RUY1Q0U7SUFDRSxXUDZhZTs7O0FTbFluQjtFRjVDRTtJQUNFLFdQNmFlOzs7QVNsWW5CO0VGNUNFO0lBQ0UsV1A2YWU7OztBU2xZbkI7RUY1Q0U7SUFDRSxXUDZhZTs7O0FTbFluQjtFRjVDRTtJQUNFLFdQNmFlOzs7QVU1YnJCO0VDQUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FESkU7RUNhRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQStDSTtFQUNFOzs7QUFHRjtFQXBDSjtFQUNBOzs7QUFjQTtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUErQkU7RUFoREo7RUFDQTs7O0FBcURRO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBdUVRO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQW1FTTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUNySFY7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxlWm9XTztFWW5XUDtFQUNBLGdCWnFvQjRCO0VZcG9CNUI7O0FBT0E7QUFBQTtFQUNFO0VBQ0E7RUFDQSxxQlppYzBCO0VZaGMxQjs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOzs7QUFJSjtFQUNFOzs7QUFPRjtFQUNFOzs7QUFVQTtBQUFBO0VBQ0U7OztBQWVGO0VBQ0U7O0FBR0E7RUFDRTs7O0FBT0o7RUFDRTs7QUFHRjtFQUNFOzs7QUFVRjtFQUNFO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTs7O0FBUUo7RUFDRTtFQUNBOzs7QUFRQTtFQUNFO0VBQ0E7OztBQ3JJRjtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQWxCRjtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQWxCRjtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQWxCRjtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQWxCRjtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQWxCRjtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQWxCRjtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQWxCRjtBQUFBO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FEMElBO0VBQ0U7RUFDQTs7O0FIcEZGO0VHa0ZBO0lBQ0U7SUFDQTs7O0FIcEZGO0VHa0ZBO0lBQ0U7SUFDQTs7O0FIcEZGO0VHa0ZBO0lBQ0U7SUFDQTs7O0FIcEZGO0VHa0ZBO0lBQ0U7SUFDQTs7O0FIcEZGO0VHa0ZBO0lBQ0U7SUFDQTs7O0FFNUpOO0VBQ0UsZWQ4eEJzQzs7O0FjcnhCeEM7RUFDRTtFQUNBO0VBQ0E7RWhCb1JJLFdBTEk7RWdCM1FSLGFkK2hCNEI7OztBYzNoQjlCO0VBQ0U7RUFDQTtFaEIwUUksV0FMSTs7O0FnQmpRVjtFQUNFO0VBQ0E7RWhCb1FJLFdBTEk7OztBaUI1UlY7RUFDRSxZZnN4QnNDO0VGdGZsQyxXQUxJO0VpQnZSUixPZktTOzs7QWdCVlg7RUFDRTtFQUNBO0VBQ0E7RWxCOFJJLFdBTEk7RWtCdFJSLGFoQm1pQjRCO0VnQmxpQjVCLGFoQnlpQjRCO0VnQnhpQjVCLE9oQktTO0VnQkpULGtCVkNNO0VVQU47RUFDQTtFQUNBO0VmR0U7RWdCSEUsWURNSjs7QUNGSTtFRGhCTjtJQ2lCUTs7O0FER047RUFDRTs7QUFFQTtFQUNFOztBQUtKO0VBQ0UsT2hCakJPO0VnQmtCUCxrQlZyQkk7RVVzQkosY2hCcXlCb0M7RWdCcHlCcEM7RUFLRSxZaEI2cUIwQjs7QWdCdHFCOUI7RUFFRTs7QUFJRjtFQUNFLE9oQjFDTztFZ0I0Q1A7O0FBUUY7RUFFRSxrQmhCMURPO0VnQjZEUDs7QUFJRjtFQUNFO0VBQ0E7RUFDQSxtQmhCZ29CMEI7RWdCL25CMUIsT2hCOURPO0VrQmJULGtCbEJNUztFZ0J1RVA7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhCMFkwQjtFZ0J6WTFCO0VDdEVFLFlEdUVGOztBQ25FRTtFRHVESjtJQ3RETTs7O0FEcUVOO0VBQ0Usa0JoQnM0QjhCOzs7QWdCNzNCbEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFoQjJjNEI7RWdCMWM1QixPaEJ6RlM7RWdCMEZUO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBRUU7RUFDQTs7O0FBV0o7RUFDRSxZaEJzdEJzQztFZ0JydEJ0QztFbEJrS0ksV0FMSTtFRzdRTjs7QWVvSEY7RUFDRTtFQUNBO0VBQ0EsbUJoQmdsQjBCOzs7QWdCNWtCOUI7RUFDRSxZaEIwc0JzQztFZ0J6c0J0QztFbEJxSkksV0FMSTtFRzdRTjs7QWVpSUY7RUFDRTtFQUNBO0VBQ0EsbUJoQnVrQjBCOzs7QWdCL2pCNUI7RUFDRSxZaEJ1ckJvQzs7QWdCcHJCdEM7RUFDRSxZaEJvckJvQzs7QWdCanJCdEM7RUFDRSxZaEJpckJvQzs7O0FnQjVxQnhDO0VBQ0UsT2hCK3FCc0M7RWdCOXFCdEMsUWhCd3FCc0M7RWdCdnFCdEMsU2hCNmhCNEI7O0FnQjNoQjVCO0VBQ0U7O0FBR0Y7RUFDRTtFZnBLQTs7QWV3S0Y7RWZ4S0U7O0FlNEtGO0VBQW9CLFFoQnlwQmtCOztBZ0J4cEJ0QztFQUFvQixRaEJ5cEJrQjs7O0FtQnAxQnhDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RXJCNFJJLFdBTEk7RXFCcFJSLGFuQmlpQjRCO0VtQmhpQjVCLGFuQnVpQjRCO0VtQnRpQjVCLE9uQkdTO0VtQkZULGtCYkRNO0VhRU47RUFDQTtFQUNBLHFCbkJ3NUJrQztFbUJ2NUJsQyxpQm5CdzVCa0M7RW1CdjVCbEM7RWxCREU7RWdCSEUsWUVPSjtFQUNBOztBRkpJO0VFZk47SUZnQlE7OztBRUtOO0VBQ0UsY25COHlCb0M7RW1CN3lCcEM7RUFLRSxZbkJ5NUI0Qjs7QW1CcjVCaEM7RUFFRSxlbkJ1cUIwQjtFbUJ0cUIxQjs7QUFHRjtFQUVFLGtCbkJuQ087O0FtQndDVDtFQUNFO0VBQ0E7OztBQUlKO0VBQ0UsYW5CZ3FCNEI7RW1CL3BCNUIsZ0JuQitwQjRCO0VtQjlwQjVCLGNuQitwQjRCO0VGcmJ4QixXQUxJO0VHN1FOOzs7QWtCNkNKO0VBQ0UsYW5CNHBCNEI7RW1CM3BCNUIsZ0JuQjJwQjRCO0VtQjFwQjVCLGNuQjJwQjRCO0VGemJ4QixXQUxJO0VHN1FOOzs7QW1CZko7RUFDRTtFQUNBLFlwQjQxQndDO0VvQjMxQnhDLGNwQjQxQndDO0VvQjMxQnhDLGVwQjQxQndDOztBb0IxMUJ4QztFQUNFO0VBQ0E7OztBQUlKO0VBQ0UsZXBCazFCd0M7RW9CajFCeEM7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRSxPcEJvMEJ3QztFb0JuMEJ4QyxRcEJtMEJ3QztFb0JsMEJ4QztFQUNBO0VBQ0Esa0JkbkJNO0Vjb0JOO0VBQ0E7RUFDQTtFQUNBLFFwQnUwQndDO0VvQnQwQnhDO0VBQ0E7O0FBR0E7RW5CdkJFOztBbUIyQkY7RUFFRSxlcEI4ekJzQzs7QW9CM3pCeEM7RUFDRSxRcEJxekJzQzs7QW9CbHpCeEM7RUFDRSxjcEJpeEJvQztFb0JoeEJwQztFQUNBLFlwQjZwQjRCOztBb0IxcEI5QjtFQUNFLGtCZDlETTtFYytETixjZC9ETTs7QWNpRU47RUFJSTs7QUFJSjtFQUlJOztBQUtOO0VBQ0Usa0JkbkZNO0Vjb0ZOLGNkcEZNO0VjeUZKOztBQUlKO0VBQ0U7RUFDQTtFQUNBLFNwQjZ4QnVDOztBb0J0eEJ2QztFQUNFO0VBQ0EsU3BCb3hCcUM7OztBb0J0d0IzQztFQUNFLGNwQit3QmdDOztBb0I3d0JoQztFQUNFLE9wQjJ3QjhCO0VvQjF3QjlCO0VBQ0E7RUFDQTtFbkIzR0E7RWdCSEUsWUdnSEY7O0FINUdFO0VHc0dKO0lIckdNOzs7QUc2R0o7RUFDRTs7QUFHRjtFQUNFLHFCcEIwd0I0QjtFb0Jyd0IxQjs7QUFLTjtFQUNFLGVwQnF2QjhCO0VvQnB2QjlCOztBQUVBO0VBQ0U7RUFDQTs7O0FBS047RUFDRTtFQUNBLGNwQm11QmdDOzs7QW9CaHVCbEM7RUFDRTtFQUNBO0VBQ0E7O0FBSUU7RUFDRTtFQUNBO0VBQ0EsU3BCb2xCd0I7OztBcUJ6dkI5QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJQTtFQUEwQixZckJxOEJhOztBcUJwOEJ2QztFQUEwQixZckJvOEJhOztBcUJqOEJ6QztFQUNFOztBQUdGO0VBQ0UsT3JCczdCdUM7RXFCcjdCdkMsUXJCcTdCdUM7RXFCcDdCdkM7RUh6QkYsa0JaSlE7RWUrQk4sUXJCcTdCdUM7RUNqOEJ2QztFZ0JIRSxZSWtCRjtFQUNBOztBSmZFO0VJTUo7SUpMTTs7O0FJZ0JKO0VIakNGLGtCbEJxOUJ5Qzs7QXFCLzZCekM7RUFDRSxPckIrNUI4QjtFcUI5NUI5QixRckIrNUI4QjtFcUI5NUI5QjtFQUNBLFFyQjg1QjhCO0VxQjc1QjlCLGtCckJwQ087RXFCcUNQO0VwQjdCQTs7QW9Ca0NGO0VBQ0UsT3JCMjVCdUM7RXFCMTVCdkMsUXJCMDVCdUM7RWtCNzhCekMsa0JaSlE7RWV5RE4sUXJCMjVCdUM7RUNqOEJ2QztFZ0JIRSxZSTRDRjtFQUNBOztBSnpDRTtFSWlDSjtJSmhDTTs7O0FJMENKO0VIM0RGLGtCbEJxOUJ5Qzs7QXFCcjVCekM7RUFDRSxPckJxNEI4QjtFcUJwNEI5QixRckJxNEI4QjtFcUJwNEI5QjtFQUNBLFFyQm80QjhCO0VxQm40QjlCLGtCckI5RE87RXFCK0RQO0VwQnZEQTs7QW9CNERGO0VBQ0U7O0FBRUE7RUFDRSxrQnJCdEVLOztBcUJ5RVA7RUFDRSxrQnJCMUVLOzs7QXNCYlg7RUFDRTs7QUFFQTtBQUFBO0FBQUE7RUFHRSxRdEIrOUI4QjtFc0I5OUI5QixhdEIrOUI4Qjs7QXNCNTlCaEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUxORSxZS09GOztBTEhFO0VLVko7SUxXTTs7O0FLS047QUFBQTtFQUVFOztBQUVBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFFRSxhdEJxOEI0QjtFc0JwOEI1QixnQnRCcThCNEI7O0FzQmw4QjlCO0FBQUE7RUFDRSxhdEJnOEI0QjtFc0IvN0I1QixnQnRCZzhCNEI7O0FzQjU3QmhDO0VBQ0UsYXRCMDdCOEI7RXNCejdCOUIsZ0J0QjA3QjhCOztBc0JuN0I5QjtBQUFBO0FBQUE7QUFBQTtFQUNFLFN0Qm03QjRCO0VzQmw3QjVCLFd0Qm03QjRCOztBc0I5NkI5QjtFQUNFLFN0QjQ2QjRCO0VzQjM2QjVCLFd0QjQ2QjRCOztB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O0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR1RUE7RUNwRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEdUVBO0VDcEZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHVFQTtFQ3BGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR1RUE7RUNwRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEdUVBO0VDcEZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHVFQTtFQ3BGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR1RUE7RUNwRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEdUVBO0VDcEZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHVFQTtFQ3BGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR1RUE7RUNwRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEaUdBO0VDckZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHdFQTtFQ3JGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR3RUE7RUNyRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEd0VBO0VDckZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHdFQTtFQ3JGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR3RUE7RUNyRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEd0VBO0VDckZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHdFQTtFQ3JGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR3RUE7RUNyRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEd0VBO0VDckZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHdFQTtFQ3JGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR3RUE7RUNyRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEd0VBO0VDckZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHdFQTtFQ3JGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR3RUE7RUNyRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEd0VBO0VDckZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHdFQTtFQ3JGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR3RUE7RUNyRkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEd0VBO0VDckZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHdFQTtFQ3JGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURvRkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxpQnpCNlB3Qzs7QXlCdFB4QztFQUNFOztBQUdGO0VBQ0U7OztBQVdKO0VDbkhFO0VBQ0E7RTVCb09JLG9CQUxJO0U0QjdOUjs7O0FEb0hGO0VDdkhFO0VBQ0E7RTVCb09JLG9CQUxJO0U0QjdOUjs7O0FDbkVGO0VWZ0JNLFlVZko7O0FWbUJJO0VVcEJOO0lWcUJROzs7QVVsQk47RUFDRTs7O0FBTUY7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VWREks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RUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Eb0wyQjtFQ25MM0Isa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q4S3VCO0VDN0t2Qjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHdLdUI7RUN2S3ZCLGNEdUt1Qjs7O0FDckw3QjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Eb0wyQjtFQ25MM0Isa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q4S3VCO0VDN0t2Qjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHdLdUI7RUN2S3ZCLGNEdUt1Qjs7O0FDckw3QjtFQUNFLE9Eb0wyQjtFQ25MM0Isa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q4S3VCO0VDN0t2Qjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHdLdUI7RUN2S3ZCLGNEdUt1Qjs7O0FDckw3QjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Eb0wyQjtFQ25MM0Isa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q4S3VCO0VDN0t2Qjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHdLdUI7RUN2S3ZCLGNEdUt1Qjs7O0FDckw3QjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Ea0x5QjtFQ2pMekIsa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q0S3FCO0VDM0tyQjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHNLcUI7RUNyS3JCLGNEcUtxQjs7O0FDbkwzQjtFQUNFLE9Eb0wyQjtFQ25MM0Isa0JEZ0xzQjs7QUM3S3BCO0VBRUUsT0Q4S3VCO0VDN0t2Qjs7QUFHRjtFQUNFLE9yQ0ZBO0VxQ0dBLGtCRHdLdUI7RUN2S3ZCLGNEdUt1Qjs7O0FDckw3QjtF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RTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0E3Q0RKO0U2Q0lFO0lBRUU7OztBN0NOSjtFNkNTRTtJQUdFOzs7QTdDekJKO0U2Q2xDRjtJQWlFTTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7Ozs7QTdDaENOO0U2Qy9DRjtJQUVJO0lBQ0E7SUFDQSxTdERxL0I4QjtJc0RwL0I5QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lyQ3pCQSxZcUMyQkE7OztBckN2QkE7RXFDU0o7SXJDUk07OztBUnVESjtFNkMvQkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QTdDMEJKO0U2Q3ZCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBN0NrQko7RTZDZkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0E3Q1FKO0U2Q0xFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QTdDREo7RTZDSUU7SUFFRTs7O0E3Q05KO0U2Q1NFO0lBR0U7OztBN0N6Qko7RTZDbENGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBN0NoQ047RTZDL0NGO0lBRUk7SUFDQTtJQUNBLFN0RHEvQjhCO0lzRHAvQjlCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXJDekJBLFlxQzJCQTs7O0FyQ3ZCQTtFcUNTSjtJckNSTTs7O0FSdURKO0U2Qy9CRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBN0MwQko7RTZDdkJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0E3Q2tCSjtFNkNmRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QTdDUUo7RTZDTEU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBN0NESjtFNkNJRTtJQUVFOzs7QTdDTko7RTZDU0U7SUFHRTs7O0E3Q3pCSjtFNkNsQ0Y7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0E3Q2hDTjtFNkMvQ0Y7SUFFSTtJQUNBO0lBQ0EsU3REcS9COEI7SXNEcC9COUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJckN6QkEsWXFDMkJBOzs7QXJDdkJBO0VxQ1NKO0lyQ1JNOzs7QVJ1REo7RTZDL0JFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0E3QzBCSjtFNkN2QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QTdDa0JKO0U2Q2ZFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBN0NRSjtFNkNMRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0E3Q0RKO0U2Q0lFO0lBRUU7OztBN0NOSjtFNkNTRTtJQUdFOzs7QTdDekJKO0U2Q2xDRjtJQWlFTTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7Ozs7QUEvRVI7RUFFSTtFQUNBO0VBQ0EsU3REcS9COEI7RXNEcC9COUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFckN6QkEsWXFDMkJBOztBckN2QkE7RXFDU0o7SXJDUk07OztBcUN3QkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBRUU7O0FBR0Y7RUFHRTs7O0FBMkJSO0VQakhFO0VBQ0E7RUFDQTtFQUNBLFMvQ2doQ2tDO0UrQy9nQ2xDO0VBQ0E7RUFDQSxrQi9DVVM7O0ErQ1BUO0VBQVM7O0FBQ1Q7RUFBUyxTL0NxM0N5Qjs7O0FzRDF3Q3BDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBLGF0RDZhNEI7OztBc0QxYTlCO0VBQ0U7RUFDQTtFQUNBOzs7QUM3SUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsU3ZEc3NDa0M7O0F1RHBzQ2xDO0VBQ0U7RUFDQTs7O0FBS0o7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBS0E7RUFDRTs7O0FBSUo7RUFDRTtJQUNFLFN2RHlxQ2dDOzs7QXVEcnFDcEM7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7O0FIOUNGO0VBQ0U7RUFDQTtFQUNBOzs7QUlBRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FDTkY7RUFDRTs7QUFHRTtFQUVFOzs7QUFOTjtFQUNFOztBQUdFO0VBRUU7OztBQU5OO0VBQ0U7O0FBR0U7RUFFRTs7O0FBTk47RUFDRTs7QUFHRTtFQUVFOzs7QUFOTjtFQUNFOztBQUdFO0VBRUU7OztBQU5OO0VBQ0U7O0FBR0U7RUFFRTs7O0FBTk47RUFDRTs7QUFHRTtFQUVFOzs7QUFOTjtFQUNFOztBQUdFO0VBRUU7OztBQU5OO0VBQ0U7O0FBR0U7RUFFRTs7O0FBTk47RUFDRTs7QUFHRTtFQUVFOzs7QUFOTjtFQUNFOztBQUdFO0VBRUU7OztBQU5OO0VBQ0U7O0FBR0U7RUFFRTs7O0FBTk47RUFDRTs7QUFHRTtFQUVFOzs7QUFOTjtFQUNFOztBQUdFO0VBRUU7OztBQU5OO0VBQ0U7O0FBR0U7RUFFRTs7O0FBTk47RUFDRTs7QUFHRTtFQUVFOzs7QUFOTjtFQUNFOztBQUdFO0VBRUU7OztBQU5OO0VBQ0U7O0FBR0U7RUFFRTs7O0FBTk47RUFDRTs7QUFHRTtFQUVFOzs7QUFOTjtFQUNFOztBQUdFO0VBRUU7OztBQ0xSO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQ3JCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUzNENmdDa0M7OztBMkQxZ0NwQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUzNEcWdDa0M7OztBMkQ3L0JoQztFQUNFO0VBQ0E7RUFDQSxTM0R5L0I4Qjs7O0EyRHQvQmhDO0VBQ0U7RUFDQTtFQUNBLFMzRG0vQjhCOzs7QVNwOUJoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzNEeS9COEI7O0UyRHQvQmhDO0lBQ0U7SUFDQTtJQUNBLFMzRG0vQjhCOzs7QVNwOUJoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzNEeS9COEI7O0UyRHQvQmhDO0lBQ0U7SUFDQTtJQUNBLFMzRG0vQjhCOzs7QVNwOUJoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzNEeS9COEI7O0UyRHQvQmhDO0lBQ0U7SUFDQTtJQUNBLFMzRG0vQjhCOzs7QVNwOUJoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzNEeS9COEI7O0UyRHQvQmhDO0lBQ0U7SUFDQTtJQUNBLFMzRG0vQjhCOzs7QVNwOUJoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzNEeS9COEI7O0UyRHQvQmhDO0lBQ0U7SUFDQTtJQUNBLFMzRG0vQjhCOzs7QTREbGhDcEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FDUkY7QUFBQTtFQ0lFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDWEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUy9Eb1pzQztFK0RuWnRDOzs7QUNSSjtFQ0FFO0VBQ0E7RUFDQTs7O0FDTkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsU2xFeW5CNEI7OztBbUU3akJ0QjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFyQko7QUFjQTtFQU9JO0VBQUE7OztBQW1CSjtBQTFCQTtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQWpCSjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFTRjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0FDdERaO0VEK0NRO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7OztBQ25DWjtFRDRCUTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QUUxQlo7QUFBQTtBQUFBO0FBQUE7QUFB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Q0E7O0FBRUE7RUFDQTtFQUNBOztBQUlBO0VBQ0E7RUFDQTtFQUNBLE9oRW5uQ0E7RWdFb25DQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0EsWWhFeG9DQTs7QWdFMm9DQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JoRWhwQ0E7RWdFaXBDQTs7QUFHQTtFQUNBLE9oRWxwQ0E7RWdFbXBDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNBO0VBQ0E7O0FBSUE7RUFDQTtFQUNBOztBQUVBO0VBQ0E7RUFDQTs7QUFJQTtFQUNBOztBQUdBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQSxPaEV0dENBO0VnRXV0Q0E7O0FBSUE7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBLE9oRWp2Q0E7RWdFa3ZDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTtFQUNBLE9oRXp2Q0E7RWdFMHZDQTtFQUNBOztBQUVBO0VBQ0E7RUFDQSxPaEUvdkNBO0VnRWd3Q0E7RUFDQTs7QUFFQTtFQUNBOztBQUlBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUVBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7O0FBSUE7RUFDQTtJQUNBOztFQUdBO0lBQ0E7SUFDQTs7OztBQzl5Q0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7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QTtFQUVBOztBQU5BO0VBSkE7SUFLQTs7OztBQVNBO0VBR0E7O0FBRUE7RUFDQTs7QUFFQTtFQWlCQTs7QUFoQkE7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFFQTs7QUFHQTtFQUNBOztBQU1BO0VBQ0E7RUFDQTs7QUFJQTtFQUNBO0VBQ0EsT0FqQ0E7RUFrQ0E7O0FBRUE7RUFMQTtJQU1BOzs7QUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBTUE7RUFTQTs7QUFiQTtFQU5BO0lBT0E7OztBQUtBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUE7RUFDQTtFQUNBOztBQUlBO0VBQ0E7O0FBS0E7RUFDQTtFQUNBLE81RXpHQTtFNEUwR0E7O0FBV0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBU0E7O0FBUEE7RUFOQTtJQU9BOzs7O0FBVUE7RUFJQTs7QUFFQTtFQUNBOztBQUdBO0VBRUEsT0FWQTs7QUFhQTtFQUNBOztBQUNBO0VBRkE7SUFHQTs7O0FBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTs7QUFLQTtFQWlCQTs7QUFoQkE7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFFQTs7QUFHQTtFQUNBOztBQU1BO0VBQ0E7RUFDQTs7QUFLQTtFQUNBO0VBQ0E7RUFDQTtFQWFBOztBQVBBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUE7RUFDQTtFQUNBOztBQUlBO0VBQ0E7O0FBS0E7RUFDQTtFQUVBO0VBQ0E7O0FBV0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7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QTtBQUFBO0FBQUE7QUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUEsT2xGdHBDQTtFa0Z1cENBOztBQUdBO0FBQUE7QUFBQTtBQUFBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0FBQUE7QUFBQTtBQUFBO0VBQ0E7RUFDQTs7QUFNQTtBQUFBO0FBQUE7QUFBQTtFQUNBO0VBQ0E7O0FBR0E7QUFBQTtBQUFBO0FBQUE7RUFDQTs7O0FBTUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCbEZyc0NBO0VrRnNzQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNBLGNsRnpzQ0E7RWtGMHNDQSxrQmxGMXNDQTs7QWtGNnNDQTtFQUNBLGNsRjlzQ0E7RWtGK3NDQTtFQUNBOztBQUlBO0VBQ0E7RUFDQSxPbEZ2dENBO0VrRnd0Q0E7RUFDQTtFQUNBOztBQUlBO0FBQUE7RUFFQTs7O0FBTUE7RUFDQTtFQUNBOztBQUVBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTs7QUFJQTtBQUFBO0VBRUE7OztBQUlBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPbEY3d0NBO0VrRjh3Q0EsWWxGbHhDQTtFa0ZteENBO0VBQ0E7OztBQU9BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT2xGcnlDQTtFa0ZzeUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBRUE7RUFDQTtFQUNBOztBQUdBO0VBQ0EsT2xGM3pDQTtFa0Y0ekNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBOztBQUlBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTs7QUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNBOztBQUdBO0VBQ0EsT2xGdjJDQTtFa0Z3MkNBOztBQUdBO0VBQ0E7RUFDQTs7O0FBS0E7RUFDQTtFQUNBO0VBQ0EsT2xGcjNDQTtFa0ZzM0NBLFlsRnozQ0E7RWtGMDNDQTtFQUNBOztBQUVBO0VBQ0E7O0FBR0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0E7O0FBR0E7RUFDQTs7QUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT2xGMTdDQTtFa0YyN0NBOztBQUdBO0FBQUE7RUFFQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBLE9sRjE4Q0E7RWtGMjhDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0FBQUE7RUFFQSxPbEZuK0NBO0VrRm8rQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZbEYvL0NBO0VrRmdnREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBOztBQUdBO0FBQUE7RUFFQTs7QUFHQTtBQUFBO0VBRUE7RUFDQTs7QUFHQTtBQUFBO0VBRUE7RUFDQTtFQUNBO0VBQ0EsWWxGL2hEQTtFa0ZnaURBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtBQUFBO0FBQUE7RUFHQTtFQUNBOztBQUdBO0FBQUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7QUFBQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0FBQUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtBQUFBO0VBRUEsT2xGcG1EQTtFa0ZxbURBOztBQUdBO0FBQUE7RUFFQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWWxGM25EQTtFa0Y0bkRBO0VBQ0E7O0FBR0E7RUFDQTs7QUFJQTtBQUFBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDQSxPbEZocERBO0VrRmlwREE7RUFDQTtFQUNBOztBQUdBO0FBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9sRnJxREE7RWtGc3FEQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0E7O0FBR0E7RUFDQSxPbEZoc0RBO0VrRmlzREE7O0FBR0E7RUFDQTtFQUNBOztBQUlBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZbEYxdERBO0VrRjJ0REE7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFQTtFQUNBOztBQUlBO0FBQUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtBQUFBO0VBRUE7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQSxPbEY1eERBO0VrRjZ4REE7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7QUFBQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNBOztBQUdBO0FBQUE7RUFDQTtFQUNBOztBQUlBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7QUFBQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUE7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQSxPbEZyMkRBO0VrRnMyREE7RUFDQTs7QUFHQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBOztBQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQTtFQUNBOztBQUdBO0VBQ0E7O0FBR0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7O0FBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0E7RUFDQTs7QUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0EsY2xGbDhEQTtFa0ZtOERBLGtCbEZuOERBOztBa0ZzOERBO0VBQ0EsY2xGdjhEQTtFa0Z3OERBO0VBQ0E7RUFDQTs7QUFJQTtFQUNBO0VBQ0EsT2xGajlEQTtFa0ZrOURBO0VBQ0E7RUFDQTs7QUFFQTtFQUNBO0VBQ0E7OztBQUtBO0VBQ0E7RUFD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QTtFb0Y0cUJBOztBQWVBO0VBQ0E7O0FBR0E7RUFDQSxPcEZoc0JBO0VvRmlzQkEsa0JwRnBzQkE7OztBb0Z3c0JBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNBOzs7QUFJQTtFQUNBOztBQUdBO0FBQUE7RUFFQTs7QUFJQTtBQUFBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNBOztBQUlBO0VBQ0E7RUFDQTs7QUFJQTtBQUFBO0VBRUE7OztBQUtBO0VBQ0E7OztBQUdBO0VBQ0E7RUFDQTs7O0FBR0E7RUFLQTtFQUNBOztBQUxBO0VBQ0EsT3BGdHdCQTs7QW9GNndCQTtFQUNBOztBQUtBO0VBQ0E7O0FBSUE7QUFBQTtFQUVBO0VBQ0E7OztBQUlBO0VBQ0E7O0FBR0E7RUFDQTs7QUFFQTtFQUNBO0VBQ0E7RUFDQSIsImZpbGUiOiJhbGxzdHlsZXMubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiBic0Jhbm5lcigkZmlsZSwgJHN1ZmZpeDpcIlwiKSB7XG4gIC8qIVxuICAgKiBCb290c3RyYXAgI3skZmlsZX0gdjUuMi4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICAgKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICAgKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFR3aXR0ZXIsIEluYy5cbiAgICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gICAqL1xufVxuXG4iLCI6cm9vdCB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzLlxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9d2hpdGUtcmdiOiAje3RvLXJnYigkd2hpdGUpfTtcbiAgLS0jeyRwcmVmaXh9YmxhY2stcmdiOiAje3RvLXJnYigkYmxhY2spfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZyl9O1xuXG4gIC8vIEZvbnRzXG5cbiAgLy8gTm90ZTogVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7JGZvbnQtZmFtaWx5LWJhc2V9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIEBpZiAkYm9keS10ZXh0LWFsaWduICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbjogI3skYm9keS10ZXh0LWFsaWdufTtcbiAgfVxuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvZHktdmFyaWFibGVzXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9yZGVyLXZhclxuICAtLSN7JHByZWZpeH1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdHlsZTogI3skYm9yZGVyLXN0eWxlfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudH07XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc206ICN7JGJvcmRlci1yYWRpdXMtc219O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnOiAjeyRib3JkZXItcmFkaXVzLWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bDogI3skYm9yZGVyLXJhZGl1cy14bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtMnhsOiAjeyRib3JkZXItcmFkaXVzLTJ4bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbDogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvcmRlci12YXJcblxuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnfTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogJyc7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogJyc7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArICcgY2FsYygnICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsICcgLSAnLCAnICsgJykgKyAkdmFyaWFibGUtd2lkdGggKyAnKSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkVmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkVmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWRWYWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWRWYWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vLyBSb290XG4vL1xuLy8gQWJpbGl0eSB0byB0aGUgdmFsdWUgb2YgdGhlIHJvb3QgZm9udCBzaXplcywgYWZmZWN0aW5nIHRoZSB2YWx1ZSBvZiBgcmVtYC5cbi8vIG51bGwgYnkgZGVmYXVsdCwgdGh1cyBub3RoaW5nIGlzIGdlbmVyYXRlZC5cblxuOnJvb3Qge1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemUpKTtcbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXNtb290aC1zY3JvbGwge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuLy8gNC4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gIHRleHQtYWxpZ246IHZhcigtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAzXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA0XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlYm9vdC1ib2R5LXJ1bGVzXG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG5cbmhyIHtcbiAgbWFyZ2luOiAkaHItbWFyZ2luLXkgMDtcbiAgY29sb3I6ICRoci1jb2xvcjsgLy8gMVxuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbiAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG59XG5cblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIDEuIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vLyAgICBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gICAgbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuXG4laGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtc3R5bGU6ICRoZWFkaW5ncy1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbn1cblxuaDIge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG59XG5cbmgzIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xufVxuXG5oNCB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbn1cblxuaDUge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG59XG5cbmg2IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xufVxuXG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMi4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gMy4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAxXG4gIGN1cnNvcjogaGVscDsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDNcbn1cblxuXG4vLyBBZGRyZXNzXG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpc3RzXG5cbm9sLFxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG4vLyAxLiBVbmRvIGJyb3dzZXIgZGVmYXVsdFxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gMVxufVxuXG5cbi8vIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gU3Ryb25nXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG59XG5cblxuLy8gU21hbGxcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbn1cblxuXG4vLyBNYXJrXG5cbm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnKTtcbn1cblxuXG4vLyBTdWIgYW5kIFN1cFxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc3ViLXN1cC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICAmLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBDb2RlXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1jb2RlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICBvdmVyZmxvdzogYXV0bzsgLy8gM1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y29kZS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cblxuLy8gRm9ybXNcbi8vXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbiAgd29yZC13cmFwOiBub3JtYWw7XG5cbiAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcblxuW2xpc3RdOm5vdChbdHlwZT1cImRhdGVcIl0pOm5vdChbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdKTpub3QoW3R5cGU9XCJtb250aFwiXSk6bm90KFt0eXBlPVwid2Vla1wiXSk6bm90KFt0eXBlPVwidGltZVwiXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBsZWZ0OyAvLyAxXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGVnZW5kLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVnZW5kLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICArICoge1xuICAgIGNsZWFyOiBsZWZ0OyAvLyAyXG4gIH1cbn1cblxuLy8gRml4IGhlaWdodCBvZiBpbnB1dHMgd2l0aCBhIHR5cGUgb2YgZGF0ZXRpbWUtbG9jYWwsIGRhdGUsIG1vbnRoLCB3ZWVrLCBvciB0aW1lXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg0MlxuXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbi8vIDIuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMlxufVxuXG4vLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbi8vIFNlZSBodHRwczovL3J0bHN0eWxpbmcuY29tL3Bvc3RzL3J0bC1zdHlsaW5nI2Zvcm0taW5wdXRzXG4vLyAyLiBSVEwgb25seSBvdXRwdXRcbi8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyAxLiBJbmhlcml0IGZvbnQgZmFtaWx5IGFuZCBsaW5lIGhlaWdodCBmb3IgZmlsZSBpbnB1dCBidXR0b25zXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU3VtbWFyeVxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRib2R5LXRleHQtYWxpZ246ICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG5cbiRib3JkZXItc3R5bGU6ICAgICAgICAgICAgICAgIHNvbGlkICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogICAgcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1waWxsOiAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJveC1zaGFkb3ctdmFyaWFibGVzXG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWluc2V0OiAgICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJveC1zaGFkb3ctdmFyaWFibGVzXG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtdmFyaWFibGVzXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC12YXJpYWJsZXNcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtdHJhbnNpdGlvblxuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtdHJhbnNpdGlvblxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbi8vIHNjc3MtZG9jcy1zdGFydCBhc3BlY3QtcmF0aW9zXG4kYXNwZWN0LXJhdGlvczogKFxuICBcIjF4MVwiOiAxMDAlLFxuICBcIjR4M1wiOiBjYWxjKDMgLyA0ICogMTAwJSksXG4gIFwiMTZ4OVwiOiBjYWxjKDkgLyAxNiAqIDEwMCUpLFxuICBcIjIxeDlcIjogY2FsYyg5IC8gMjEgKiAxMDAlKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYXNwZWN0LXJhdGlvc1xuLy8gc3R5bGVsaW50LWVuYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC12YXJpYWJsZXNcbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1jb2RlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZSkgIWRlZmF1bHQ7XG5cbi8vICRmb250LXNpemUtcm9vdCBhZmZlY3RzIHRoZSB2YWx1ZSBvZiBgcmVtYCwgd2hpY2ggaXMgdXNlZCBmb3IgYXMgd2VsbCBmb250IHNpemVzLCBwYWRkaW5ncywgYW5kIG1hcmdpbnNcbi8vICRmb250LXNpemUtYmFzZSBhZmZlY3RzIHRoZSBmb250IHNpemUgb2YgdGhlIGJvZHkgdGV4dFxuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgICAgICA2MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAyICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXNpemVzXG4kZm9udC1zaXplczogKFxuICAxOiAkaDEtZm9udC1zaXplLFxuICAyOiAkaDItZm9udC1zaXplLFxuICAzOiAkaDMtZm9udC1zaXplLFxuICA0OiAkaDQtZm9udC1zaXplLFxuICA1OiAkaDUtZm9udC1zaXplLFxuICA2OiAkaDYtZm9udC1zaXplXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXNpemVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1zdHlsZTogICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaGVhZGluZ3MtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkaXNwbGF5LWhlYWRpbmdzXG4kZGlzcGxheS1mb250LXNpemVzOiAoXG4gIDE6IDVyZW0sXG4gIDI6IDQuNXJlbSxcbiAgMzogNHJlbSxcbiAgNDogMy41cmVtLFxuICA1OiAzcmVtLFxuICA2OiAyLjVyZW1cbikgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5LWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC1zdHlsZTogIG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZGlzcGxheS1oZWFkaW5nc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdHlwZS12YXJpYWJsZXNcbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIC44NzVlbSAhZGVmYXVsdDtcblxuJHN1Yi1zdXAtZm9udC1zaXplOiAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAkeWVsbG93LTEwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdHlwZS12YXJpYWJsZXNcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYWJsZXNcbiR0YWJsZS1jZWxsLXBhZGRpbmcteTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXktc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXgtc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduOiAgIHRvcCAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnLWZhY3RvcjogICAgICAgLjA3NSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXI6IGV2ZW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I6IGN1cnJlbnRjb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1zY2FsZTogICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtbG9vcFxuJHRhYmxlLXZhcmlhbnRzOiAoXG4gIFwicHJpbWFyeVwiOiAgICBzaGlmdC1jb2xvcigkcHJpbWFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzZWNvbmRhcnlcIjogIHNoaWZ0LWNvbG9yKCRzZWNvbmRhcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic3VjY2Vzc1wiOiAgICBzaGlmdC1jb2xvcigkc3VjY2VzcywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJpbmZvXCI6ICAgICAgIHNoaWZ0LWNvbG9yKCRpbmZvLCAkdGFibGUtYmctc2NhbGUpLFxuICBcIndhcm5pbmdcIjogICAgc2hpZnQtY29sb3IoJHdhcm5pbmcsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiZGFuZ2VyXCI6ICAgICBzaGlmdC1jb2xvcigkZGFuZ2VyLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmssXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1sb29wXG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1idG4tdmFyaWFibGVzXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAwICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1idG4tdmFyaWFibGVzXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhYmxlc1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDUwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tY29sb3Itd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0taW5wdXQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuJGZvcm0tY2hlY2staW5wdXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWluLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0OiAgICAgICAgICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyOiAgICAgICAgICBicmlnaHRuZXNzKDkwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgIDFweCBzb2xpZCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nbTYgMTAgMyAzIDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzInIGZpbGw9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwaDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk6ICAgICRidG4tZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ6ICAgIDFyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tY2hlY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcbiRmb3JtLXN3aXRjaC1jb2xvcjogICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZTogICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1czogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXRyYW5zaXRpb246ICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yOiAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2U6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZTogICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgICRib3gtc2hhZG93LWluc2V0ICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHNoYWRlLWNvbG9yKCRmb3JtLWZpbGUtYnV0dG9uLWJnLCA1JSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmlsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG4kZm9ybS1mbG9hdGluZy1oZWlnaHQ6ICAgICAgICAgICAgYWRkKDMuNXJlbSwgJGlucHV0LWhlaWdodC1ib3JkZXIpICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ6ICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg6ICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10OiAgIDEuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iOiAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5OiAgICAgLjY1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtOiAgIHNjYWxlKC44NSkgdHJhbnNsYXRlWSgtLjVyZW0pIHRyYW5zbGF0ZVgoLjE1cmVtKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKFxuICBcInZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdmFyaWFibGVzXG5cblxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdmFyaWFibGVzXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogICAgICAgICRidG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogICAgICAgICBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci10aGVtZS12YXJpYWJsZXNcbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNTUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItdGhlbWUtdmFyaWFibGVzXG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tdmFyaWFibGVzXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBzaGFkZS1jb2xvcigkZHJvcGRvd24tbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXkgJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4vLyBmdXN2LWVuYWJsZVxuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG4kZHJvcGRvd24tZGFyay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1iZzogICAgICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3I6ICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstZGl2aWRlci1iZzogICAgICAgICAgJGRyb3Bkb3duLWRpdmlkZXItYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1ib3gtc2hhZG93OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1jb2xvcjogICAgICAgICAgJGRyb3Bkb3duLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yOiAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnOiAgICAgICByZ2JhKCR3aGl0ZSwgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWNvbG9yOiAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnOiAgICAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcjogICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcblxuXG4vLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgICgkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggKiAtMSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuXG5cbi8vIFBsYWNlaG9sZGVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGxhY2Vob2xkZXJzXG4kcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjogICAgICAgICAgIC4yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwbGFjZWhvbGRlcnNcblxuLy8gQ2FyZHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtdmFyaWFibGVzXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLXNwYWNlci15OiAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggKiAuNSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZC12YXJpYWJsZXNcblxuLy8gQWNjb3JkaW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tdmFyaWFibGVzXG4kYWNjb3JkaW9uLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICBzdWJ0cmFjdCgkYWNjb3JkaW9uLWJvcmRlci1yYWRpdXMsICRhY2NvcmRpb24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRhY2NvcmRpb24tY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA5MCUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDEwJSkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLWJ1dHRvbi1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNmb3JtOiAgICAgICAgICAgICAgICByb3RhdGUoLTE4MGRlZykgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWljb246ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb246ICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yfSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tdmFyaWFibGVzXG5cbi8vIFRvb2x0aXBzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLXZhcmlhYmxlc1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgc2hhZGUtY29sb3IoJHBvcG92ZXItYmcsIDYlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuXG4vLyBUb2FzdHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LXZhcmlhYmxlc1xuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvYXN0LXZhcmlhYmxlc1xuXG5cbi8vIEJhZGdlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYmFkZ2UtdmFyaWFibGVzXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjM1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAkYm94LXNoYWRvdy1zbSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLWZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLXZhcmlhYmxlc1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtdmFyaWFibGVzXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0O1xuJGFsZXJ0LWRpc21pc3NpYmxlLXBhZGRpbmctcjogICAkYWxlcnQtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gM3ggY292ZXJzIHdpZHRoIG9mIHggcGx1cyBkZWZhdWx0IHBhZGRpbmcgb24gZWl0aGVyIHNpZGVcbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtdmFyaWFibGVzXG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLXZhcmlhYmxlc1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtdmFyaWFibGVzXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLWJnLXNjYWxlOiAgICAgICAgICAtODAlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZTogICAgICAgNDAlICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJGJveC1zaGFkb3ctc20gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtc2hhZG93OiAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkbW9kYWwtY29udGVudC1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHJlbW92aW5nIGluIHY2XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLW1peGluc1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtbWl4aW5zXG4iLCIvL1xuLy8gSGVhZGluZ3Ncbi8vXG4uaDEge1xuICBAZXh0ZW5kIGgxO1xufVxuXG4uaDIge1xuICBAZXh0ZW5kIGgyO1xufVxuXG4uaDMge1xuICBAZXh0ZW5kIGgzO1xufVxuXG4uaDQge1xuICBAZXh0ZW5kIGg0O1xufVxuXG4uaDUge1xuICBAZXh0ZW5kIGg1O1xufVxuXG4uaDYge1xuICBAZXh0ZW5kIGg2O1xufVxuXG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbkBlYWNoICRkaXNwbGF5LCAkZm9udC1zaXplIGluICRkaXNwbGF5LWZvbnQtc2l6ZXMge1xuICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGZvbnQtZmFtaWx5OiAkZGlzcGxheS1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkZGlzcGxheS1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG4gIH1cbn1cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuLnNtYWxsIHtcbiAgQGV4dGVuZCBzbWFsbDtcbn1cblxuLm1hcmsge1xuICBAZXh0ZW5kIG1hcms7XG59XG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGluaXRpYWxpc20tZm9udC1zaXplKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogLSRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG4iLCIkcHJpbWFyeTogIzFEMUQxQjtcbiRzZWNvbmRhcnk6ICMwMDk4NDQ7XG4vLyAkc2Vjb25kYXJ5OiAjOGE4YThhO1xuLy8gJHNlY29uZGFyeW11dGVkOiBsaWdodGVuKGRlc2F0dXJhdGUoJHNlY29uZGFyeSwyMCUpLDIwJSk7XG4kY29tcGxpbWVudDogIzJkMzYzZDtcbiRibHVlOiByZ2IoNSwgNzAsIDk4KTtcbiRncmV5OiAjZTdlNGU0O1xuXG4kZGFya2dyZXk6ICM0MDQwNDA7XG4kbGlnaHRvcmFuZ2U6IGxpZ2h0ZW4oJHByaW1hcnksIDIwJSk7XG4kaGlnaGxpZ2h0OiAjNTFiMzdmO1xuJHN1Y2Nlc3M6ICM2NWJhMTA7XG4vLyAkc3VjY2VzczogJHNlY29uZGFyeTtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiR3aGl0ZTogI2ZmZjtcbiRjcmVhbTogI2VjZThlNDtcbiRnb2xkOiAjZGZjZmEzO1xuJG9mZmJsYWNrOiAjMjIyMjIyO1xuJGdyZWVuOiByZ2IoMTE2LCAxNzIsIDQyKTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6IDBweDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogMTBweDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZzogcmdiYSgkc2Vjb25kYXJ5LCAwLjgpO1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogcmdiYSgkc2Vjb25kYXJ5LCAwLjgpO1xuXG4kdGhlbWUtY29sb3JzOiAoXG4gICAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnksXG4gICAgXCJzZWNvbmRhcnlkYXJrXCI6IGRhcmtlbigkc2Vjb25kYXJ5LDIwJSksXG4gICAgXCJzZWNvbmRhcnltdXRlZFwiOiBsaWdodGVuKGRlc2F0dXJhdGUoJHNlY29uZGFyeSw5MCUpLDYwJSksXG4gICAgXCJjb21wbGltZW50XCI6ICRjb21wbGltZW50LFxuICAgIFwiaGlnaGxpZ2h0XCI6ICRoaWdobGlnaHQsXG4gICAgXCJ3aGl0ZVwiOiR3aGl0ZSxcbiAgICBcImNyZWFtXCI6JGNyZWFtLFxuICAgIFwiZ3JlZW5cIjokc2Vjb25kYXJ5LFxuICAgIFwiZ3JleVwiOiAkZ3JleSxcbiAgICBcImRhcmtncmV5XCI6ICRkYXJrZ3JleSxcbiAgICBcInN0cmlwZVwiOiAkcHJpbWFyeSxcbiAgICBcImRhbmdlclwiOiByZ2IoMTg3LCAyLCAyKSxcbiAgICBcImNoYXJjb2FsXCI6IHJnYig1NCwgNTQsIDU4KSxcbiAgICBcIm11dGVkXCI6IHJnYigxNTQsIDE1NCwgMTYxKSxcbiAgICBcImJsdWVcIjogJGJsdWUsXG4gICAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLFxuICAgIFwiY2hlY2tvdXRcIjogJHN1Y2Nlc3MsXG4gICAgXCJsaWdodFwiOiByZ2IoMjMxLCAyMzUsIDI0MCksXG4gICAgXCJkYXJrXCI6ICRvZmZibGFja1xuKTtcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW07XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW07XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbTtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW07XG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAycmVtO1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW07XG5cblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8gTm90ZTogRGVwcmVjYXRlZCAkc2NyZWVuLXhzIGFuZCAkc2NyZWVuLXBob25lIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogNDgwcHg7XG4kc2NyZWVuLXhzLW1pbjogJHNjcmVlbi14cztcbiRzY3JlZW4tcGhvbmU6ICRzY3JlZW4teHMtbWluO1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vIE5vdGU6IERlcHJlY2F0ZWQgJHNjcmVlbi1zbSBhbmQgJHNjcmVlbi10YWJsZXQgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXNtOiA3NjhweDtcbiRzY3JlZW4tc20tbWluOiAkc2NyZWVuLXNtO1xuJHNjcmVlbi10YWJsZXQ6ICRzY3JlZW4tc20tbWluO1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuLy8gTm90ZTogRGVwcmVjYXRlZCAkc2NyZWVuLW1kIGFuZCAkc2NyZWVuLWRlc2t0b3AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiA5OTJweDtcbiRzY3JlZW4tbWQtbWluOiAkc2NyZWVuLW1kO1xuJHNjcmVlbi1kZXNrdG9wOiAkc2NyZWVuLW1kLW1pbjtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyBOb3RlOiBEZXByZWNhdGVkICRzY3JlZW4tbGcgYW5kICRzY3JlZW4tbGctZGVza3RvcCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6IDEyMDBweDtcbiRzY3JlZW4tbGctbWluOiAkc2NyZWVuLWxnO1xuJHNjcmVlbi1sZy1kZXNrdG9wOiAkc2NyZWVuLWxnLW1pbjtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogKCRzY3JlZW4tc20tbWluIC0gMSk7XG4kc2NyZWVuLXNtLW1heDogKCRzY3JlZW4tbWQtbWluIC0gMSk7XG4kc2NyZWVuLW1kLW1heDogKCRzY3JlZW4tbGctbWluIC0gMSk7XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1jb250YWluZXItY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250YWluZXIgbWl4aW5zXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkY29udGFpbmVyLXBhZGRpbmcteCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG5cbiAgICA+ICoge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHkoKTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtY3NzZ3JpZCB7XG4gIC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1yb3dzLCAxKSwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9Y29sdW1ucywgI3skZ3JpZC1jb2x1bW5zfSksIDFmcik7XG4gICAgZ2FwOiB2YXIoLS0jeyRwcmVmaXh9Z2FwLCAjeyRncmlkLWd1dHRlci13aWR0aH0pO1xuXG4gICAgQGluY2x1ZGUgbWFrZS1jc3NncmlkKCk7XG4gIH1cbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8vIFRPRE86IFJldmlzaXQgY2FsYyBvcmRlciBhZnRlciBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtYm9vdHN0cmFwL3JlYWN0LWJvb3RzdHJhcC9pc3N1ZXMvNjAzOSBpcyBmaXhlZFxuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgpIHtcbiAgLy8gQWRkIGJveCBzaXppbmcgaWYgb25seSB0aGUgZ3JpZCBpcyBsb2FkZWRcbiAgYm94LXNpemluZzogaWYodmFyaWFibGUtZXhpc3RzKGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcpIGFuZCAkaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZywgYm9yZGVyLWJveCwgbnVsbCk7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSBzZXQgdGhlIHdpZHRoXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFByZXZlbnQgYC5jb2wtYXV0b2AsIGAuY29sYCAoJiByZXNwb25zaXZlIHZhcmlhbnRzKSBmcm9tIGJyZWFraW5nIG91dCB0aGUgZ3JpZFxuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tdG9wOiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemU6IGZhbHNlLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgJHNpemUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcblxuICB9IEBlbHNlIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyIG9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwJTsgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW5kIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyR0YWJsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyR0YWJsZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnOiAjeyR0YWJsZS1hY2NlbnQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAjeyR0YWJsZS1zdHJpcGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skdGFibGUtc3RyaXBlZC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3skdGFibGUtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyR0YWJsZS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3skdGFibGUtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skdGFibGUtaG92ZXItYmd9O1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgdmVydGljYWwtYWxpZ246ICR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduO1xuICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuXG4gIC8vIFRhcmdldCB0aCAmIHRkXG4gIC8vIFdlIG5lZWQgdGhlIGNoaWxkIGNvbWJpbmF0b3IgdG8gcHJldmVudCBzdHlsZXMgbGVha2luZyB0byBuZXN0ZWQgdGFibGVzIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIGAudGFibGVgIGNsYXNzLlxuICAvLyBXZSB1c2UgdGhlIHVuaXZlcnNhbCBzZWxlY3RvcnMgaGVyZSB0byBzaW1wbGlmeSB0aGUgc2VsZWN0b3IgKGVsc2Ugd2Ugd291bGQgbmVlZCA2IGRpZmZlcmVudCBzZWxlY3RvcnMpLlxuICAvLyBBbm90aGVyIGFkdmFudGFnZSBpcyB0aGF0IHRoaXMgZ2VuZXJhdGVzIGxlc3MgY29kZSBhbmQgbWFrZXMgdGhlIHNlbGVjdG9yIGxlc3Mgc3BlY2lmaWMgbWFraW5nIGl0IGVhc2llciB0byBvdmVycmlkZS5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteSAkdGFibGUtY2VsbC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OTlweCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnKTtcbiAgfVxuXG4gID4gdGJvZHkge1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICB9XG5cbiAgPiB0aGVhZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxufVxuXG4udGFibGUtZ3JvdXAtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6ICgkdGFibGUtYm9yZGVyLXdpZHRoICogMikgc29saWQgJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjtcbn1cblxuLy9cbi8vIENoYW5nZSBwbGFjZW1lbnQgb2YgY2FwdGlvbnMgd2l0aCBhIGNsYXNzXG4vL1xuXG4uY2FwdGlvbi10b3Age1xuICBjYXB0aW9uLXNpZGU6IHRvcDtcbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbSAkdGFibGUtY2VsbC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuLy9cbi8vIFdoZW4gYm9yZGVycyBhcmUgYWRkZWQgb24gYWxsIHNpZGVzIG9mIHRoZSBjZWxscywgdGhlIGNvcm5lcnMgY2FuIHJlbmRlciBvZGQgd2hlblxuLy8gdGhlc2UgYm9yZGVycyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBjb2xvciBvciBpZiB0aGV5IGFyZSBzZW1pLXRyYW5zcGFyZW50LlxuLy8gVGhlcmVmb3Igd2UgYWRkIHRvcCBhbmQgYm9yZGVyIGJvdHRvbXMgdG8gdGhlIGB0cmBzIGFuZCBsZWZ0IGFuZCByaWdodCBib3JkZXJzXG4vLyB0byB0aGUgYHRkYHMgb3IgYHRoYHNcblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgPiA6bm90KGNhcHRpb24pID4gKiB7XG4gICAgYm9yZGVyLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoIDA7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICAgID4gKiB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLy8gRm9yIHJvd3Ncbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSA+ICoge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gIH1cbn1cblxuLy8gRm9yIGNvbHVtbnNcbi50YWJsZS1zdHJpcGVkLWNvbHVtbnMge1xuICA+IDpub3QoY2FwdGlvbikgPiB0ciA+IDpudGgtY2hpbGQoI3skdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyfSkge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHRhYmxlXG4vL1xuLy8gVGhlIGAudGFibGUtYWN0aXZlYCBjbGFzcyBjYW4gYmUgYWRkZWQgdG8gaGlnaGxpZ2h0IHJvd3Mgb3IgY2VsbHNcblxuLnRhYmxlLWFjdGl2ZSB7XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yKTtcbn1cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFudFxuQG1peGluIHRhYmxlLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KG9wYXF1ZSgkYm9keS1iZywgJGJhY2tncm91bmQpKTtcbiAgICAkaG92ZXItYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpKTtcbiAgICAkYm9yZGVyLWNvbG9yOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuXG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JGNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHN0cmlwZWQtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJHN0cmlwZWQtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skaG92ZXItYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRob3Zlci1iZyl9O1xuXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYW50XG4iLCIvL1xuLy8gTGFiZWxzXG4vL1xuXG4uZm9ybS1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbn1cbiIsIi8vXG4vLyBGb3JtIHRleHRcbi8vXG5cbi5mb3JtLXRleHQge1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLXRleHQtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXRleHQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xufVxuIiwiLy9cbi8vIEdlbmVyYWwgZm9ybSBjb250cm9scyAocGx1cyBhIGZldyBzcGVjaWZpYyBoaWdoLWxldmVsIGludGVydmVudGlvbnMpXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImZpbGVcIl0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIHByZXZlbnQgcHNldWRvIGVsZW1lbnQgYnV0dG9uIG92ZXJsYXBcblxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHNvbWUgaGVpZ2h0IHRvIGRhdGUgaW5wdXRzIG9uIGlPU1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzIzMzA3XG4gIC8vIFRPRE86IHdlIGNhbiByZW1vdmUgdGhpcyB3b3JrYXJvdW5kIG9uY2UgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1OSBpcyByZXNvbHZlZFxuICAmOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIC8vIE11bHRpcGx5IGxpbmUtaGVpZ2h0IGJ5IDFlbSBpZiBpdCBoYXMgbm8gdW5pdFxuICAgIGhlaWdodDogaWYodW5pdCgkaW5wdXQtbGluZS1oZWlnaHQpID09IFwiXCIsICRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LWxpbmUtaGVpZ2h0KTtcbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRmlsZSBpbnB1dCBidXR0b25zIHRoZW1pbmdcbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteSkgKC0kaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogJGZvcm0tZmlsZS1idXR0b24tY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tZmlsZS1idXR0b24tYmcpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc7XG4gIH1cbn1cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktc20pICgtJGlucHV0LXBhZGRpbmcteC1zbSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LWxnKSAoLSRpbnB1dC1wYWRkaW5nLXgtbGcpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LWxnO1xuICB9XG59XG5cbi8vIE1ha2Ugc3VyZSB0ZXh0YXJlYXMgZG9uJ3Qgc2hyaW5rIHRvbyBtdWNoIHdoZW4gcmVzaXplZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjkxMjRcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxudGV4dGFyZWEge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogJGZvcm0tY29sb3Itd2lkdGg7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjo6LW1vei1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20geyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207IH1cbiAgJi5mb3JtLWNvbnRyb2wtbGcgeyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1iZy1taXhpblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcjogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LWJnLW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1taXhpbnNcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiBudWxsLCAkZW5kLXBlcmNlbnQ6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtbWl4aW5zXG4iLCIvLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuXG4uZm9ybS1zZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgLW1vei1wYWRkaW5nLXN0YXJ0OiBzdWJ0cmFjdCgkZm9ybS1zZWxlY3QtcGFkZGluZy14LCAzcHgpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8zMjYzNlxuICBmb250LWZhbWlseTogJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplO1xuICBib3JkZXI6ICRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXNlbGVjdC10cmFuc2l0aW9uKTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmZvcm0tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLXNlbGVjdC1sZyB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuIiwiLy9cbi8vIENoZWNrL3JhZGlvXG4vL1xuXG4uZm9ybS1jaGVjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9ybS1jaGVjay1taW4taGVpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b207XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHdpZHRoOiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgaGVpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjU7IC8vIGxpbmUtaGVpZ2h0IG1pbnVzIGNoZWNrIGhlaWdodFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1iZztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWNoZWNrLXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGZpbHRlcjogJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuXG4gICAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSksIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3R5cGU9XCJjaGVja2JveFwiXTppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG5cbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSk7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cblxuICAvLyBVc2UgZGlzYWJsZWQgYXR0cmlidXRlIGluIGFkZGl0aW9uIG9mIDpkaXNhYmxlZCBwc2V1ZG8tY2xhc3NcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yO1xuICBjdXJzb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjtcbn1cblxuLy9cbi8vIFN3aXRjaFxuLy9cblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgd2lkdGg6ICRmb3JtLXN3aXRjaC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbik7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlKTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb247XG5cbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpLCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kO1xufVxuXG4uYnRuLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgKyAuYnRuIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5mb3JtLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCwgJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQgLSAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgPiBsYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgLy8gYWxsb3cgdGV4dGFyZWFzXG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyBSZXF1aXJlZCBmb3IgYWxpZ25pbmcgbGFiZWwncyB0ZXh0IHdpdGggdGhlIGlucHV0IGFzIGl0IGFmZmVjdHMgaW5uZXIgYm94IG1vZGVsXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbik7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIH4gbGFiZWwge1xuICAgICAgb3BhY2l0eTogJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwOyAvLyBSZXF1aXJlZCB0byBwcm9wZXJseSBwb3NpdGlvbiBsYWJlbCB0ZXh0IC0gYXMgZXhwbGFpbmVkIGFib3ZlXG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tc2VsZWN0LFxuICA+IC5mb3JtLWZsb2F0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5pbnB1dC1ncm91cCB7XG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gOm50aC1sYXN0LWNoaWxkKG4gKyAzKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuICAgID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuICsgNCksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiO1xuICBAZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMpIHtcbiAgICAkdmFsaWRhdGlvbi1tZXNzYWdlczogJHZhbGlkYXRpb24tbWVzc2FnZXMgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItdG9vbHRpcClcIiArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi1mZWVkYmFjaylcIjtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSN7JHZhbGlkYXRpb24tbWVzc2FnZXN9LFxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZSxcbiAgJGNvbG9yLFxuICAkaWNvbixcbiAgJHRvb2x0aXAtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICR0b29sdGlwLWJnLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KSxcbiAgJGZvY3VzLWJveC1zaGFkb3c6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpXG4pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksXG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3IpLCBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb24sICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemUsICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgd2lkdGg6IGFkZCgkZm9ybS1jb2xvci13aWR0aCwgJGlucHV0LWhlaWdodC1pbm5lcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cblxuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAgLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9IEBlbHNlIGlmICRzdGF0ZSA9PSBcImludmFsaWRcIiB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRidG4tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skYnRuLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseTogI3skYnRuLWZvbnQtZmFtaWx5fTtcbiAgQGluY2x1ZGUgcmZzKCRidG4tZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRidG4tZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQ6ICN7JGJ0bi1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGg6ICN7JGJ0bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJ0bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6ICN7JGJ0bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnRuLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXgpO1xuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogaWYoJGVuYWJsZS1idXR0b24tcG9pbnRlcnMsIHBvaW50ZXIsIG51bGwpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuYnRuLWNoZWNrOmZvY3VzICsgJixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gIC5idG4tY2hlY2s6YWN0aXZlICsgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmLnNob3cge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpKTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldDpkaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LWxvb3BzXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpZiAkY29sb3IgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRjb2xvciA9PSBcImRhcmtcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LWxvb3BzXG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtbm9ybWFsfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiBub25lO1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRwcmltYXJ5KSwgJHByaW1hcnksIDE1JSkpfTtcblxuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoXG4gICRiYWNrZ3JvdW5kLFxuICAkYm9yZGVyLFxuICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpLFxuICAkZGlzYWJsZWQtYmFja2dyb3VuZDogJGJhY2tncm91bmQsXG4gICRkaXNhYmxlZC1ib3JkZXI6ICRib3JkZXIsXG4gICRkaXNhYmxlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGRpc2FibGVkLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGhvdmVyLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRob3Zlci1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSl9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6ICN7JGRpc2FibGVkLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRkaXNhYmxlZC1ib3JkZXJ9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoXG4gICRjb2xvcixcbiAgJGNvbG9yLWhvdmVyOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvcixcbiAgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skY29sb3ItaG92ZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYigkY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogbm9uZTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXNpemUtbWl4aW5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXNpemUtbWl4aW5cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLWNsYXNzZXNcbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG5cbiAgJi5jb2xsYXBzZS1ob3Jpem9udGFsIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtY2xhc3Nlc1xuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3BlbmQsXG4uZHJvcGRvd24sXG4uZHJvcHN0YXJ0LFxuLmRyb3B1cC1jZW50ZXIsXG4uZHJvcGRvd24tY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoOiAjeyRkcm9wZG93bi1taW4td2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteTogI3skZHJvcGRvd24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyOiAjeyRkcm9wZG93bi1zcGFjZXJ9O1xuICBAaW5jbHVkZSByZnMoJGRyb3Bkb3duLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICN7JGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24taGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBtaW4td2lkdGg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14KTtcbiAgbWFyZ2luOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IG1hcmdpbiBvZiB1bFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3cpKTtcblxuICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICA+IC5kcm9wZG93bi1pdGVtOmZpcnN0LWNoaWxkLFxuICAgID4gbGk6Zmlyc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gICAgPiAuZHJvcGRvd24taXRlbTpsYXN0LWNoaWxkLFxuICAgID4gbGk6bGFzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG4vLyBXZSBkZWxpYmVyYXRlbHkgaGFyZGNvZGUgdGhlIGBicy1gIHByZWZpeCBiZWNhdXNlIHdlIGNoZWNrXG4vLyB0aGlzIGN1c3RvbSBwcm9wZXJ0eSBpbiBKUyB0byBkZXRlcm1pbmUgUG9wcGVyJ3MgcG9zaXRpb25pbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tZW5kIHtcbiAgICAgIC0tYnMtcG9zaXRpb246IGVuZDtcblxuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcGVuZCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChlbmQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcHN0YXJ0IHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChzdGFydCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgb3BhY2l0eTogMTsgLy8gUmV2aXNpdCBpbiB2NiB0byBkZS1kdXBlIHN0eWxlcyB0aGF0IGNvbmZsaWN0IHdpdGggPGhyPiBlbGVtZW50XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnKSk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmcpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xufVxuXG4vLyBEYXJrIGRyb3Bkb3duc1xuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWRhcmstYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tZGFyay1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC1taXhpbnNcbkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LWVuZCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1zdGFydCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZW5kKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gc3RhcnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXN0YXJ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LW1peGluc1xuIiwiLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuICA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuICA+IC5idG46aG92ZXIsXG4gID4gLmJ0bjpmb2N1cyxcbiAgPiAuYnRuOmFjdGl2ZSxcbiAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6Zmlyc3QtY2hpbGQsXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyBUaGUgbGVmdCByYWRpdXMgc2hvdWxkIGJlIDAgaWYgdGhlIGJ1dHRvbiBpczpcbiAgLy8gLSB0aGUgXCJ0aGlyZCBvciBtb3JlXCIgY2hpbGRcbiAgLy8gLSB0aGUgc2Vjb25kIGNoaWxkIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCBpc24ndCBgLmJ0bi1jaGVja2AgKG1ha2luZyBpdCB0aGUgZmlyc3QgY2hpbGQgdmlzdWFsbHkpXG4gIC8vIC0gcGFydCBvZiBhIGJ0bi1ncm91cCB3aGljaCBpc24ndCB0aGUgZmlyc3QgY2hpbGRcbiAgPiAuYnRuOm50aC1jaGlsZChuICsgMyksXG4gID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wZW5kICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wc3RhcnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0biB+IC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogI3skbmF2LWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogI3skbmF2LWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogI3skbmF2LWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRuYXYtbGluay10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXRhYnMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdGFicy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi10YWJzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXRhYnMtY3NzLXZhcnNcblxuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUHJldmVudHMgYWN0aXZlIC5uYXYtbGluayB0YWIgb3ZlcmxhcHBpbmcgZm9jdXMgb3V0bGluZSBvZiBwcmV2aW91cy9uZXh0IC5uYXYtbGlua1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpICogLTEpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXBpbGxzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1waWxscy1jc3MtdmFyc1xuXG4gIC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpKTtcblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1maWxsLFxuLm5hdi1qdXN0aWZpZWQge1xuICAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gTWFrZSBzdXJlIGJ1dHRvbiB3aWxsIGdyb3dcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy14OiAje2lmKCRuYXZiYXItcGFkZGluZy14ID09IG51bGwsIDAsICRuYXZiYXItcGFkZGluZy14KX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXk6ICN7JG5hdmJhci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItY29sb3I6ICN7JG5hdmJhci1saWdodC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteTogI3skbmF2YmFyLWJyYW5kLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAjeyRuYXZiYXItYnJhbmQtbWFyZ2luLWVuZH07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemU6ICN7JG5hdmJhci1icmFuZC1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICN7JG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICN7JG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogI3skbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAjeyRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gIC8vIFRoZSBgZmxleC13cmFwYCBwcm9wZXJ0eSBpcyBpbmhlcml0ZWQgdG8gc2ltcGxpZnkgdGhlIGV4cGFuZGVkIG5hdmJhcnNcbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBpbmhlcml0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgPiAuY29udGFpbmVyLFxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXkpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXkpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1uYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAwO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1uYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5zaG93ID4gLm5hdi1saW5rLFxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuXG4gIGEsXG4gIGE6aG92ZXIsXG4gIGE6Zm9jdXMgIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yKTsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbikpO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aCk7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsLWhlaWdodCwgNzV2aCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZXhwYW5kLWxvb3Bcbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL3NlbGVjdG9yLW5vLXVuaW9uLWNsYXNzLW5hbWVcbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcyB7XG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihub25lKTtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWJvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZXhwYW5kLWxvb3BcblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLm5hdmJhci1saWdodCB7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAubmF2YmFyLWxpZ2h0YFwiLCBcInY1LjIuMFwiLCBcInY2LjAuMFwiLCB0cnVlKTtcbn1cblxuLm5hdmJhci1kYXJrIHtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15OiAjeyRjYXJkLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteDogI3skY2FyZC1zcGFjZXIteH07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXk6ICN7JGNhcmQtdGl0bGUtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aDogI3skY2FyZC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcjogI3skY2FyZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdzogI3skY2FyZC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXk6ICN7JGNhcmQtY2FwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteDogI3skY2FyZC1jYXAtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmc6ICN7JGNhcmQtY2FwLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3I6ICN7JGNhcmQtY2FwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQ6ICN7JGNhcmQtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcjogI3skY2FyZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYmc6ICN7JGNhcmQtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICN7JGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZ307XG4gIC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luOiAjeyRjYXJkLWdyb3VwLW1hcmdpbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgY2FyZC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1jYXJkLWhlaWdodCk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93KSk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBEdWUgdG8gc3BlY2lmaWNpdHkgb2YgdGhlIGFib3ZlIHNlbGVjdG9yIChgLmNhcmQgPiAubGlzdC1ncm91cGApLCB3ZSBtdXN0XG4gIC8vIHVzZSBhIGNoaWxkIHNlbGVjdG9yIGhlcmUgdG8gcHJldmVudCBkb3VibGUgYm9yZGVycy5cbiAgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbiAgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY29sb3IpO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15KTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW4pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hY2NvcmRpb24ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkYWNjb3JkaW9uLWJnKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1iZzogI3skYWNjb3JkaW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yOiAjeyRhY2NvcmRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGg6ICN7JGFjY29yZGlvbi1pY29uLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zZm9ybTogI3skYWNjb3JkaW9uLWljb24tdHJhbnNmb3JtfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb259O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAjeyRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLWNzcy12YXJzXG59XG5cbi5hY2NvcmRpb24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gUmVzZXQgYnV0dG9uIHN0eWxlXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uKSk7XG5cbiAgJjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkgKiAtMSkgMCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbik7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY2NvcmRpb24gaWNvblxuICAmOjphZnRlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb24pKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG59XG5cbi5hY2NvcmRpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNldCBhIGJvcmRlci1yYWRpdXMgb24gdGhlIGxhc3QgaXRlbSBpZiB0aGUgYWNjb3JkaW9uIGlzIGNvbGxhcHNlZFxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24tYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXgpO1xufVxuXG5cbi8vIEZsdXNoIGFjY29yZGlvbiBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgYWNjb3JkaW9uIGl0ZW1zIGVkZ2UtdG8tZWRnZS5cblxuLmFjY29yZGlvbi1mbHVzaCB7XG4gIC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH1cblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogI3skYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tfTtcbiAgQGluY2x1ZGUgcmZzKCRicmVhZGNydW1iLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnOiAjeyRicmVhZGNydW1iLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAjeyRicmVhZGNydW1iLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICN7JGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAjeyRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSkpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIGNvbnRlbnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcikpICN7XCIvKiBydGw6XCJ9IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkKSkgI3tcIiovXCJ9O1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcGFnaW5hdGlvbi1mb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcjogI3skcGFnaW5hdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmc6ICN7JHBhZ2luYXRpb24tYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci13aWR0aDogI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogI3skcGFnaW5hdGlvbi1mb2N1cy1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmc6ICN7JHBhZ2luYXRpb24tZm9jdXMtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICN7JHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwYWdpbmF0aW9uLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gIC5hY3RpdmUgPiAmIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAuZGlzYWJsZWQgPiAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCkgLnBhZ2UtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDtcbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQgPT0gKGNhbGMoJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoICogLTEpKSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBBZGQgYm9yZGVyLXJhZGl1cyB0byBhbGwgcGFnZUxpbmtzIGluIGNhc2UgdGhleSBoYXZlIGxlZnQgbWFyZ2luXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tbWl4aW5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLW1peGluXG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYmFkZ2UtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14OiAjeyRiYWRnZS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXk6ICN7JGJhZGdlLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkYmFkZ2UtZm9udC1zaXplLCAtLSN7JHByZWZpeH1iYWRnZS1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1iYWRnZS1mb250LXdlaWdodDogI3skYmFkZ2UtZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1jb2xvcjogI3skYmFkZ2UtY29sb3J9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItcmFkaXVzOiAjeyRiYWRnZS1ib3JkZXItcmFkaXVzfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCk7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXg6ICN7JGFsZXJ0LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteTogI3skYWxlcnQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbTogI3skYWxlcnQtbWFyZ2luLWJvdHRvbX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yOiBpbmhlcml0O1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXI6ICN7JGFsZXJ0LWJvcmRlci13aWR0aH0gc29saWQgdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcik7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXM6ICN7JGFsZXJ0LWJvcmRlci1yYWRpdXN9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b20pO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1cykpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleCArIDE7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAqIDEuMjUgJGFsZXJ0LXBhZGRpbmcteDtcbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1tb2RpZmllcnNcbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRzdGF0ZSwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAkYWxlcnQtYmFja2dyb3VuZDogc2hpZnQtY29sb3IoJHZhbHVlLCAkYWxlcnQtYmctc2NhbGUpO1xuICAkYWxlcnQtYm9yZGVyOiBzaGlmdC1jb2xvcigkdmFsdWUsICRhbGVydC1ib3JkZXItc2NhbGUpO1xuICAkYWxlcnQtY29sb3I6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGFsZXJ0LWNvbG9yLXNjYWxlKTtcblxuICBAaWYgKGNvbnRyYXN0LXJhdGlvKCRhbGVydC1iYWNrZ3JvdW5kLCAkYWxlcnQtY29sb3IpIDwgJG1pbi1jb250cmFzdC1yYXRpbykge1xuICAgICRhbGVydC1jb2xvcjogbWl4KCR2YWx1ZSwgY29sb3ItY29udHJhc3QoJGFsZXJ0LWJhY2tncm91bmQpLCBhYnMoJGFsZXJ0LWNvbG9yLXNjYWxlKSk7XG4gIH1cbiAgLmFsZXJ0LSN7JHN0YXRlfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtYmFja2dyb3VuZCwgJGFsZXJ0LWJvcmRlciwgJGFsZXJ0LWNvbG9yKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1tb2RpZmllcnNcbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYW50LW1peGluXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9O1xuXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogc2hhZGUtY29sb3IoJGNvbG9yLCAyMCUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhbnQtbWl4aW5cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAkcHJvZ3Jlc3MtaGVpZ2h0OyB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5cbi5wcm9ncmVzcyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQ6ICN7JHByb2dyZXNzLWhlaWdodH07XG4gIEBpbmNsdWRlIHJmcygkcHJvZ3Jlc3MtZm9udC1zaXplLCAtLSN7JHByZWZpeH1wcm9ncmVzcy1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iZzogI3skcHJvZ3Jlc3MtYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAjeyRwcm9ncmVzcy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdzogI3skcHJvZ3Jlc3MtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcjogI3skcHJvZ3Jlc3MtYmFyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnOiAjeyRwcm9ncmVzcy1iYXItYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogI3skcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdykpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpIHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nIHByb2dyZXNzLWJhci1zdHJpcGVzO1xuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24ge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcjogI3skbGlzdC1ncm91cC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6ICN7JGxpc3QtZ3JvdXAtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aDogI3skbGlzdC1ncm91cC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAjeyRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6ICN7JGxpc3QtZ3JvdXAtaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICN7JGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZzogI3skbGlzdC1ncm91cC1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5saXN0LWdyb3VwLW51bWJlcmVkIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgICAvLyBJbmNyZW1lbnRzIG9ubHkgdGhpcyBpbnN0YW5jZSBvZiB0aGUgc2VjdGlvbiBjb3VudGVyXG4gICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcbiAgfVxufVxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZyk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmcpO1xuICB9XG59XG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWJnKTtcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpICogLTEpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpICogLTEpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4vLyBMaXN0IGdyb3VwIGNvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJHN0YXRlLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICRsaXN0LWdyb3VwLXZhcmlhbnQtYmc6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZSk7XG4gICRsaXN0LWdyb3VwLXZhcmlhbnQtY29sb3I6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZSk7XG4gIEBpZiAoY29udHJhc3QtcmF0aW8oJGxpc3QtZ3JvdXAtdmFyaWFudC1iZywgJGxpc3QtZ3JvdXAtdmFyaWFudC1jb2xvcikgPCAkbWluLWNvbnRyYXN0LXJhdGlvKSB7XG4gICAgJGxpc3QtZ3JvdXAtdmFyaWFudC1jb2xvcjogbWl4KCR2YWx1ZSwgY29sb3ItY29udHJhc3QoJGxpc3QtZ3JvdXAtdmFyaWFudC1iZyksIGFicygkbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlKSk7XG4gIH1cblxuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRsaXN0LWdyb3VwLXZhcmlhbnQtYmcsICRsaXN0LWdyb3VwLXZhcmlhbnQtY29sb3IpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuIiwiLy8gTGlzdCBHcm91cHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbWl4aW5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1peGluXG4iLCIvLyBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgcHJvcGVydGllcyBpbmNsdWRlZCBmb3IgYnV0dG9uIHZlcnNpb24uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi5idG4tY2xvc2Uge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6ICRidG4tY2xvc2Utd2lkdGg7XG4gIGhlaWdodDogJGJ0bi1jbG9zZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRidG4tY2xvc2UtcGFkZGluZy15ICRidG4tY2xvc2UtcGFkZGluZy14O1xuICBjb2xvcjogJGJ0bi1jbG9zZS1jb2xvcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgZXNjYXBlLXN2ZygkYnRuLWNsb3NlLWJnKSBjZW50ZXIgLyAkYnRuLWNsb3NlLXdpZHRoIGF1dG8gbm8tcmVwZWF0OyAvLyBpbmNsdWRlIHRyYW5zcGFyZW50IGZvciBidXR0b24gZWxlbWVudHNcbiAgYm9yZGVyOiAwOyAvLyBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbiAgb3BhY2l0eTogJGJ0bi1jbG9zZS1vcGFjaXR5O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkYnRuLWNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAkYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tY2xvc2UtZm9jdXMtc2hhZG93O1xuICAgIG9wYWNpdHk6ICRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6ICRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxufVxuXG4uYnRuLWNsb3NlLXdoaXRlIHtcbiAgZmlsdGVyOiAkYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXg6ICN7JHRvYXN0LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteTogI3skdG9hc3QtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZzogI3skdG9hc3Qtc3BhY2luZ307XG4gIC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aDogI3skdG9hc3QtbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCR0b2FzdC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXRvYXN0LWNvbG9yOiAjeyR0b2FzdC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJnOiAjeyR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoOiAjeyR0b2FzdC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3I6ICN7JHRvYXN0LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXM6ICN7JHRvYXN0LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93OiAjeyR0b2FzdC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmc6ICN7JHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtY3NzLXZhcnNcblxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b2FzdC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpKTtcblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b2FzdDtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nKTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSkpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KSAqIC0uNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB9XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1tb2RhbC16aW5kZXg6ICN7JHppbmRleC1tb2RhbH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1tZH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmc6ICN7JG1vZGFsLWlubmVyLXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1jb2xvcjogI3skbW9kYWwtY29udGVudC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJnOiAjeyRtb2RhbC1jb250ZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aDogI3skbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteTogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nOiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZ307IC8vIFRvZG8gaW4gdjY6IFNwbGl0IHRoaXMgcGFkZGluZyBpbnRvIHggYW5kIHlcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogI3skbW9kYWwtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwOiAjeyRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmc6ICN7JG1vZGFsLWZvb3Rlci1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRofTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKTtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93KSk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXg6ICN7JHppbmRleC1tb2RhbC1iYWNrZHJvcH07XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLWJnOiAjeyRtb2RhbC1iYWNrZHJvcC1iZ307XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHk6ICN7JG1vZGFsLWJhY2tkcm9wLW9wYWNpdHl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1iYWNrZHJvcCh2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4KSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLWJnKSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHkpKTtcbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKiAtLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLS41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSAqIC0uNSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKTtcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZykgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7IC8vIFRvZG8gaW4gdjY6IHJlcGxhY2Ugd2l0aCBnYXAgb24gcGFyZW50IGNsYXNzXG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9O1xuICAgIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cH07XG4gIH1cblxuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubW9kYWwtc20ge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1zbX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLWxnfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXhsfTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJHBvc3RmaXg6IGlmKCRpbmZpeCAhPSBcIlwiLCAkaW5maXggKyBcIi1kb3duXCIsIFwiXCIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC5tb2RhbC1mdWxsc2NyZWVuI3skcG9zdGZpeH0ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG4iLCIvLyBTaGFyZWQgYmV0d2VlbiBtb2RhbHMgYW5kIG9mZmNhbnZhc2VzXG5AbWl4aW4gb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LCAkYmFja2Ryb3AtYmcsICRiYWNrZHJvcC1vcGFjaXR5KSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRiYWNrZHJvcC1vcGFjaXR5OyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4OiAjeyR6aW5kZXgtdG9vbHRpcH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoOiAjeyR0b29sdGlwLW1heC13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14OiAjeyR0b29sdGlwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15OiAjeyR0b29sdGlwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luOiAjeyR0b29sdGlwLW1hcmdpbn07XG4gIEBpbmNsdWRlIHJmcygkdG9vbHRpcC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcjogI3skdG9vbHRpcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6ICN7JHRvb2x0aXAtYmd9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXM6ICN7JHRvb2x0aXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eTogI3skdG9vbHRpcC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aDogI3skdG9vbHRpcC1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAjeyR0b29sdGlwLWFycm93LWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAkdG9vbHRpcC1tYXJnaW5gXCIsIFwidjVcIiwgXCJ2NS54XCIsIHRydWUpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eSk7IH1cblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy10b29sdGlwLWVuZCAudG9vbHRpcC1hcnJvdyB7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcblxuICAmOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy10b29sdGlwLWJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogMDtcblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3cge1xuICByaWdodDogMDtcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtc3RhcnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1heC13aWR0aCk7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYm9yZGVyLXJhZGl1cykpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIG92ZXJmbG93LXdyYXAgLyB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4OiAjeyR6aW5kZXgtcG9wb3Zlcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoOiAjeyRwb3BvdmVyLW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1iZzogI3skcG9wb3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoOiAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3c6ICN7JHBvcG92ZXItYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3I6ICN7JHBvcG92ZXItaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmc6ICN7JHBvcG92ZXItaGVhZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteDogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3I6ICN7JHBvcG92ZXItYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGg6ICN7JHBvcG92ZXItYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodDogI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93KSk7XG5cbiAgLnBvcG92ZXItYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBib3R0b206IGNhbGMoKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgKiAtMSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLWVuZCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGxlZnQ6IGNhbGMoKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgKiAtMSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogY2FsYygodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSAqIC0xKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAtLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLXN0YXJ0IHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgcmlnaHQ6IGNhbGMoKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgKiAtMSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItc3RhcnQ7XG4gIH1cbn1cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yKTtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLWVuZCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kXG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLXN0YXJ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLWVuZCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLyogcnRsOm9wdGlvbnM6IHtcbiAgXCJhdXRvUmVuYW1lXCI6IHRydWUsXG4gIFwic3RyaW5nTWFwXCI6WyB7XG4gICAgXCJuYW1lXCIgICAgOiBcInByZXYtbmV4dFwiLFxuICAgIFwic2VhcmNoXCIgIDogXCJwcmV2XCIsXG4gICAgXCJyZXBsYWNlXCIgOiBcIm5leHRcIlxuICB9IF1cbn0gKi9cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHMvY29udHJvbHNcbi8vXG4vLyBBZGQgYSBjb250YWluZXIgKHN1Y2ggYXMgYSBsaXN0KSB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhbiBpdGVtIChpZGVhbGx5IGEgZm9jdXNhYmxlIGNvbnRyb2wsXG4vLyBsaWtlIGEgYnV0dG9uKSB3aXRoIGRhdGEtYnMtdGFyZ2V0IGZvciBlYWNoIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBbZGF0YS1icy10YXJnZXRdIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDA7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHBhZGRpbmctdG9wOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBEYXJrIG1vZGUgY2Fyb3VzZWxcblxuLmNhcm91c2VsLWRhcmsge1xuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gICAgZmlsdGVyOiAkY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyO1xuICB9XG5cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxuXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjtcbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNsZWFyZml4XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG4uc3Bpbm5lci1ncm93LFxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodCk7XG4gIHZlcnRpY2FsLWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbik7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZCkgbGluZWFyIGluZmluaXRlIHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lKTtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLWtleWZyYW1lc1xuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSAje1wiLyogcnRsOmlnbm9yZSAqL1wifTsgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGg6ICN7JHNwaW5uZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ib3JkZXI7XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXItY3NzLXZhcnNcblxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aCkgc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXItc20tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aC1zbX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXItc20tY3NzLXZhcnNcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWtleWZyYW1lc1xuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcblxuLnNwaW5uZXItZ3JvdyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWdyb3ctY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ246ICN7JHNwaW5uZXItdmVydGljYWwtYWxpZ259O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWdyb3c7XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG5cbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodC1zbX07XG59XG5cbkBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWQgKiAyfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4lb2ZmY2FudmFzLWNzcy12YXJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG9mZmNhbnZhcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGg6ICN7JG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodDogI3skb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXg6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15OiAjeyRvZmZjYW52YXMtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWNvbG9yOiAjeyRvZmZjYW52YXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYmc6ICN7JG9mZmNhbnZhcy1iZy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICN7JG9mZmNhbnZhcy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAjeyRvZmZjYW52YXMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3c6ICN7JG9mZmNhbnZhcy1ib3gtc2hhZG93fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtY3NzLXZhcnNcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAub2ZmY2FudmFzI3skaW5maXh9IHtcbiAgICBAZXh0ZW5kICVvZmZjYW52YXMtY3NzLXZhcnM7XG4gIH1cbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAub2ZmY2FudmFzI3skaW5maXh9IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtb2ZmY2FudmFzO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcik7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3cpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCk7XG5cbiAgICAgICYub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtYm90dG9tIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuc2hvdzpub3QoLmhpZGluZykge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuaGlkaW5nLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLS41KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLS41KTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSAqIC0uNSk7XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4ub2ZmY2FudmFzLWJvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4iLCIucGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiB3YWl0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDtcblxuICAmLmJ0bjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi5wbGFjZWhvbGRlci14cyB7XG4gIG1pbi1oZWlnaHQ6IC42ZW07XG59XG5cbi5wbGFjZWhvbGRlci1zbSB7XG4gIG1pbi1oZWlnaHQ6IC44ZW07XG59XG5cbi5wbGFjZWhvbGRlci1sZyB7XG4gIG1pbi1oZWlnaHQ6IDEuMmVtO1xufVxuXG4vLyBBbmltYXRpb25cbi5wbGFjZWhvbGRlci1nbG93IHtcbiAgLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyLWdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci1nbG93IHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1taW47XG4gIH1cbn1cblxuLnBsYWNlaG9sZGVyLXdhdmUge1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCAkYmxhY2sgNTUlLCByZ2JhKDAsIDAsIDAsICgxIC0gJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluKSkgNzUlLCAkYmxhY2sgOTUlKTtcbiAgbWFzay1zaXplOiAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItd2F2ZSAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItd2F2ZSB7XG4gIDEwMCUge1xuICAgIG1hc2stcG9zaXRpb246IC0yMDAlIDAlO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1uYW1lLWNhc2VcblxuLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICRjb2xvci1yZ2I6IHRvLXJnYigkdmFsdWUpO1xuICAudGV4dC1iZy0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBjb2xvci1jb250cmFzdCgkdmFsdWUpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSgkY29sb3ItcmdiLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIH1cbn1cbiIsIkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAubGluay0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogaWYoY29sb3ItY29udHJhc3QoJHZhbHVlKSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSksIHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4ucmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW8pO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQGVhY2ggJGtleSwgJHJhdGlvIGluICRhc3BlY3QtcmF0aW9zIHtcbiAgLnJhdGlvLSN7JGtleX0ge1xuICAgIC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbzogI3skcmF0aW99O1xuICB9XG59XG4iLCIvLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLy8gUmVzcG9uc2l2ZSBzdGlja3kgdG9wIGFuZCBib3R0b21cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5zdGlja3kjeyRpbmZpeH0tdG9wIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LWJvdHRvbSB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgc3RhY2tzXG4uaHN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnZzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBzdGFja3NcbiIsIi8vXG4vLyBWaXN1YWxseSBoaWRkZW5cbi8vXG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBIaWRlIGNvbnRlbnQgdmlzdWFsbHkgd2hpbGUga2VlcGluZyBpdCBhY2Nlc3NpYmxlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjojeyRzdHJldGNoZWQtbGluay1wc2V1ZG8tZWxlbWVudH0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFRleHQgdHJ1bmNhdGlvblxuLy9cblxuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDFweDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuIiwiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGVnLiB3aXRoIHNoYWRvdyBjbGFzcylcbiAgICAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXI6IGlmKCRrZXksIGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCAkaW5maXggPT0gXCJcIiwgXCJcIiwgXCItXCIpICsgJGtleSwgXCJcIik7XG5cbiAgICBAaWYgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSB7XG4gICAgICAvLyBJbnNpZGUgdGhlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgJGlzLXJmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWUpO1xuXG4gICAgICAgIC8vIERvIG5vdCByZW5kZXIgYW55dGhpbmcgaWYgZmx1aWQgYW5kIG5vbiBmbHVpZCB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgICAgICR2YWx1ZTogaWYoJHZhbCA9PSByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKSwgbnVsbCwgJHZhbCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2YWx1ZTogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGlzLWNzcy12YXI6IG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXIpO1xuICAgICRpcy1sb2NhbC12YXJzOiBtYXAtZ2V0KCR1dGlsaXR5LCBsb2NhbC12YXJzKTtcbiAgICAkaXMtcnRsOiBtYXAtZ2V0KCR1dGlsaXR5LCBydGwpO1xuXG4gICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmJlZ2luOnJlbW92ZSAqL1xuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLWNzcy12YXIge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6ZW5kOnJlbW92ZSAqL1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTG9vcCBvdmVyIGVhY2ggYnJlYWtwb2ludFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcblxuICAvLyBHZW5lcmF0ZSBtZWRpYSBxdWVyeSBpZiBuZWVkZWRcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJGUyByZXNjYWxpbmdcbkBtZWRpYSAobWluLXdpZHRoOiAkcmZzLW1xLXZhbHVlKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAaWYgKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSA8ICRyZnMtYnJlYWtwb2ludCkge1xuICAgICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgLy8gVGhlbiBjaGVjayBpZiB0aGUgdXRpbGl0eSBuZWVkcyBwcmludCBzdHlsZXNcbiAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcHJpbnQpID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgXCItcHJpbnRcIik7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZnVsbHdpZHRoYmdpbWcge1xuXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbkBtaXhpbiBzZXJpZmZvbnRzIHtcblxuICAgIGZvbnQtZmFtaWx5Okdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBUaW1lcywgc2VyaWZcbiAgfVxuXG4gQG1peGluIGJsdXIoJHJhZGl1czo1cHgpIHtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoJHJhZGl1cyk7XG4gIC1tb3otZmlsdGVyOiBibHVyKCRyYWRpdXMpO1xuICAtby1maWx0ZXI6IGJsdXIoJHJhZGl1cyk7XG4gIC1tcy1maWx0ZXI6IGJsdXIoJHJhZGl1cyk7XG4gIGZpbHRlcjogYmx1cigkcmFkaXVzKTtcbn1cbiBAbWl4aW4gdGV4dHNoYWRvdyAoJHNoYWRjb2xvdXI6ZmFkZW91dCgjMmYzYjUxLDIwJSkpIHtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMnB4ICRzaGFkY29sb3VyO1xufVxuXG4gQG1peGluIHRleHQtc20ge1xuICBmb250LXNpemU6IDE0cHg7XG59XG4gQG1peGluIHRleHQtbWQge1xuICBmb250LXNpemU6IDExMCU7XG59XG4gQG1peGluIHRleHQtbGcge1xuICBmb250LXNpemU6IDEyMCU7XG59XG4gQG1peGluIHRleHQteGwge1xuICBmb250LXNpemU6IDIwMCU7XG59XG5cbiBAbWl4aW4gZmEge1xuIGZvbnQtZmFtaWx5OiBcImJvb3RzdHJhcC1pY29uc1wiICFpbXBvcnRhbnQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcblxuXG59XG4uZmEsXG4uZmFiLFxuLmZhZCxcbi5mYWwsXG4uZmFyLFxuLmZhcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbkBtaXhpbiByYWRpdXMoJHJhZGl1czo1cHgpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG4gQG1peGluIHNoYWRvdygkc2hhZG93OjJweCkge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAkc2hhZG93ICRzaGFkb3cgMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC42KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggJHNoYWRvdyAkc2hhZG93IDBweCByZ2JhKDUwLCA1MCwgNTAsIDAuNik7XG4gIGJveC1zaGFkb3c6IDBweCAkc2hhZG93ICRzaGFkb3cgMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC42KTtcblxuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSkgIWltcG9ydGFudDtcbn1cblxuIEBtaXhpbiB3ZWxsY2xyICgkd2VsbGNscikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2VsbGNscjtcbn1cbiBAbWl4aW4gcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3JlYW07XG4gIGNvbG9yOiBkYXJrZW4oJGNyZWFtLCA2MCUpO1xuICBhIHtcbiAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgfVxuICB9XG59XG5cbiBAbWl4aW4gZ3JhZGllbnQoJGdyYWRjb2xvdXIpIHtcbiAgJGdyYWR0b3A6IGxpZ2h0ZW4oJGdyYWRjb2xvdXIsIDIwJSk7XG4gICRncmFkYnRtOiBkYXJrZW4oJGdyYWRjb2xvdXIsIDAlKTtcbiAgYmFja2dyb3VuZDogJGdyYWR0b3A7IC8qIE9sZCBicm93c2VycyAqL1xuXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KFxuICAgIHRvcCxcbiAgICAkZ3JhZHRvcCAwJSxcbiAgICAkZ3JhZGJ0bSAxMDAlXG4gICk7IC8qIEZGMy42KyAqL1xuXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgbGluZWFyLFxuICAgIGxlZnQgdG9wLFxuICAgIGxlZnQgYm90dG9tLFxuICAgIGNvbG9yLXN0b3AoMCUsICRncmFkdG9wKSxcbiAgICBjb2xvci1zdG9wKDEwMCUsICRncmFkYnRtKVxuICApOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cblxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICB0b3AsXG4gICAgJGdyYWR0b3AgMCUsXG4gICAgJGdyYWRidG0gMTAwJVxuICApOyAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChcbiAgICB0b3AsXG4gICAgJGdyYWR0b3AgMCUsXG4gICAgJGdyYWRidG0gMTAwJVxuICApOyAvKiBPcGVyYSAxMS4xMCsgKi9cblxuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgJGdyYWR0b3AgMCUsICRncmFkYnRtIDEwMCUpOyAvKiBJRTEwKyAqL1xuXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRncmFkdG9wIDAlLCAkZ3JhZGJ0bSAxMDAlKTsgLyogVzNDICovXG59XG4iLCJodG1sIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG5ib2R5IHtcbiAgICAvL2ZvbnQtZmFtaWx5OiBhdmVuaXIsXCJMdWNpZGEgR3JhbmRlXCIsXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsXCJMdWNpZGEgU2Fuc1wiLFwiRGVqYVZ1IFNhbnNcIixWZXJkYW5hLHNhbnMtc2VyaWY7XG4gICAgLy8gZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgLy8gICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgLy8gZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIHNhbnMtc2VyaWY7XG4gICAgLy8gICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5icmVhay1vdXQge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBsZWZ0OiBjYWxjKC0xICogKDEwMHZ3IC0gMTAwJSkgLyAyKTtcbn1cblxuLmJnY292ZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG4uYWZmaXgge1xuICAgIHRvcDogMDtcbn1cblxuLmhvdmVyc2NhbGUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDM1MG1zIGN1YmljLWJlemllcigwLjM4LCAxLjI1LCAwLjc5LCAwLjk5KTtcbiAgICAvLyB0cmFuc2l0aW9uOiAxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbn1cblxuYSB7XG4gICAgY29sb3I6ICRvZmZibGFjaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cbn1cbmEubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbiNtb2RhbGFkZEpTIHtcbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgIH1cbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG5cbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmNsb3NlIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4udm0td3JhcCB7XG4gICAgZmllbGRzZXQge1xuICAgICAgICBib3JkZXI6ICRwcmltYXJ5IDJweCBzb2xpZDtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCk7XG5cbiAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFyYWxsYXgtYmFja2dyb3VuZCB7XG59XG4udmlkZW8tcmVzcG9uc2l2ZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG59XG4udmlkZW8tcmVzcG9uc2l2ZSBpZnJhbWUge1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5iaWdjYXJkIHtcbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgQGluY2x1ZGUgc2VyaWZmb250cztcbiAgICAgICAgY29sb3I6ICNkMzkwNDg7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIEBpbmNsdWRlIHNlcmlmZm9udHM7XG4gICAgfVxuICAgIC5idG4tb3V0bGluZS1kYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogJG9mZmJsYWNrIDJweCBzb2xpZDtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICB9XG59XG5cbi5pZnJhbWUtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBNYWtlIHRoZSBpZnJhbWUga2VlcCBhbiBhc3BlY3QgcmF0aW8sIGFuZFxuICBwb3NpdGlvbiBpdCBpbiB0aGUgbWlkZGxlIG9mIGl0cyBwYXJlbnQgd3JhcHBlciovXG5cbi5pZnJhbWUtd3JhcHBlciBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDU2LjI1dnc7IC8qIEdpdmVuIGEgMTY6OSBhc3BlY3QgcmF0aW8sIDkvMTYqMTAwID0gNTYuMjUgKi9cbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4td2lkdGg6IDE3Ny43N3ZoOyAvKiBHaXZlbiBhIDE2OjkgYXNwZWN0IHJhdGlvLCAxNi85KjEwMCA9IDE3Ny43NyAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi5md2N0YXZpZGVvIHtcbiAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyAmOjphZnRlcnsgY29udGVudDogJyc7ICBkaXNwbGF5OiBibG9jazsgYmFja2dyb3VuZC1jb2xvcjogIzA5MWEzNDczOyB6LWluZGV4OiAxOyBwb3NpdGlvbjogYWJzb2x1dGU7ICB0b3A6IDBweDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgfVxuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDI2LjI1dnc7IC8qIEdpdmVuIGEgMTY6OSBhc3BlY3QgcmF0aW8sIDkvMTYqMTAwID0gNTYuMjUgKi9cbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIG1pbi13aWR0aDogMTc3Ljc3dmg7IC8qIEdpdmVuIGEgMTY6OSBhc3BlY3QgcmF0aW8sIDE2LzkqMTAwID0gMTc3Ljc3ICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxufVxuXG4ucG9wb3Zlci5sb2dpbiB7XG4gICAgbWF4LXdpZHRoOiA2MDBweCAhaW1wb3J0YW50O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICAgIGxlZnQ6IC0xNjBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxNzAlO1xuICAgIH1cblxuICAgIGgzLFxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgfVxuXG4gICAgYS5idG4ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gICAgd2lkdGg6IDMwMHB4O1xufVxuXG4ucG9wb3Zlci1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBvcG92ZXItYm9keSB7XG4gICAgZm9udC1zaXplOiA5MCU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQobGlnaHRlbigkY3JlYW0sIDUlKSk7XG4gICAgQGluY2x1ZGUgcmFkaXVzKCk7XG4gICAgQGluY2x1ZGUgc2hhZG93KCk7XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmYTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgIH1cbn1cblxuLnRyZW5kaW5nIHtcbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLnZtLXByb2R1Y3QtZGVzY3ItY29udGFpbmVyLTEge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKkdlbmVyaWMgUHJpY2Ugc3R5bGluZyovXG4uUHJpY2VwcmljZVdpdGhvdXRUYXhUdCxcbi5QcmljZXNhbGVzUHJpY2VUdC5Ob1ZBVCB7XG4gICAgY29sb3I6ICRibHVlO1xufVxuXG4ucHJpY2VzbWFsbCxcbi5QcmljZXNhbGVzUHJpY2VUdC5wcmljZXNtYWxsIHtcbiAgICBjb2xvcjogbGlnaHRlbigkb2ZmYmxhY2ssIDMwJSkgIWltcG9ydGFudDtcbn1cblxuLypHZW5lcmljIFByaWNlIHN0eWxpbmcqL1xuXG4uYmFja2dyb3VuZGltZ3dyYXAge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xufVxuXG5kaXYubWFpbi5jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuZGl2Lm1haW4uY29udGFpbmVyIHtcbiAgICAmLmNhcnQsXG4gICAgJi5jaGVja291dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uc2VhcmNob3V0ZXJ3cmFwIHtcbiAgICBAaW5jbHVkZSBzaGFkb3coKTtcbn1cblxuLnNlYXJjaGlubmVyd3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuI2NhdHNlYXJjaHJlc3VsdHMge1xuICAgIGEuY2F0ZWdvcnkge1xuICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiNzZWFyY2hyZXN1bHRzIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuXG4gICAgI3ZtMi1zZWFyY2gge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZtMl9zZWFyY2hfYWRkX2ltYWdlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDc1cHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mYXN0YnV5IHtcbiAgICAuUHJpY2VwcmljZVdpdGhvdXRUYXhUdCB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAxNTAlO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZXNtYWxsIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0bixcbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4ge1xuICAgIHotaW5kZXg6IDAgIWltcG9ydGFudDtcbn1cblxuLm1haW5wcm9kcm93IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLm1haW5wcm9kcm93ID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxudWwubXlhY2NvdW50d3JhcCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luOiAwcHg7XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgdG9wOiA0NCU7XG59XG5cbi5zbGljay1wcmV2OmJlZm9yZSxcbi5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyMDAlO1xuICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG59XG5cbi5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmE7XG4gICAgY29udGVudDogXCJcXEYyODRcIjtcbn1cblxuLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmYTtcbiAgICBjb250ZW50OiBcIlxcRjI4NVwiO1xufVxuXG4ucHJvZC1tb2Qtd3JhcCB7XG4gICAgLmFkZHRvY2FydGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIH1cblxuICAgIGZvbnQtc2l6ZTogOTAlO1xuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgfVxuXG4gICAgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMTAlO1xuICAgIH1cblxuICAgIC5QcmljZXByaWNlV2l0aG91dFRheFR0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKlByaWNlcyBTdHlsZXMqL1xuXG4ucHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzLFxuLnlvdW1heWFsc29uZWVkLFxuLmNoaWxkcHJvZHdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gICAgaDUge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnZtLXByb2R1Y3QtbWVkaWEtY29udGFpbmVyIGEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDgwJSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5xdHl3cmFwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mbGV4LWdyb3ctMSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJ1dHRvbi5idG4tYWRkdG9jYXJ0LFxuICAgIC5idG4tZGFuZ2VyIHtcbiAgICAgICAgZm9udC1zaXplOiA3MCU7XG4gICAgICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucHJpY2V3cmFwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIC5QcmljZXByaWNlV2l0aG91dFRheFR0LFxuICAgIC5QcmljZXNhbGVzUHJpY2VUdC5Ob1ZBVCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxMjAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnByaWNlc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDcwJSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgJi56ZXJvdmF0LFxuICAgICAgICAmLmluY3ZhdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLlByaWNldmFyaWFudE1vZGlmaWNhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5QcmljZXZhcmlhbnRNb2RpZmljYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLypQcmljZXMgU3R5bGVzKi9cblxuLmNvdW50ZG93bndyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG1pbi13aWR0aDogMjYwcHg7XG5cbiAgICAjY291bnRkb3duIHtcbiAgICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLnRpbWUge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zbWFsbHRleHQge1xuICAgICAgICBmb250LXNpemU6IDcwJTtcbiAgICB9XG5cbiAgICAuaWNvbiBpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMjAlO1xuICAgIH1cblxuICAgIC8vICAgI2dtY3RpbWUtY291bnRkb3duMSB7XG4gICAgLy8gICAgIGNvbG9yOiAjZmZmO1xuICAgIC8vICAgfVxuICAgIC8vICAgI2NvdW50ZG93bi1tb2JpbGUge1xuICAgIC8vICAgICBmb250LXNpemU6IDgwJTtcbiAgICAvLyAgICAgc3Ryb25nIHtcbiAgICAvLyAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgYSBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMjAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2JpbGUtY291bnRkb3duIHtcbiAgICB6LWluZGV4OiAxMDE5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG4uY2Zfd3JhcHBfYWxsIHtcbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5jZkxpTGV2ZWwwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpLmNmTGlMZXZlbDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkb2ZmYmxhY2ssIDMwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaS5jZkxpTGV2ZWwyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJG9mZmJsYWNrO1xuICAgIH1cbn1cblxuLm1pbmljYXJ0aGRyIHtcbiAgICBwIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICB9XG59XG5cbi5taW5pLWNhcnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcblxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnZtX2NhcnRfcHJvZHVjdHMge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNtO1xuICAgIH1cblxuICAgIC5zaG9wcGluZy1jYXJ0LWhlYWRlciB7XG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkb2ZmYmxhY2ssIDc1JSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvcHBpbmctY2FydC10b3RhbCB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtbWQ7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAjdHRfdG90YWxfYmFza2V0X2Rpdl9iYXNrZXQge1xuICAgICAgICBmb250LXNpemU6IDE1MCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuXG4uc3RpY2t5YmFza2V0d3JhcCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5zdGlja3liYXNrZXQge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmNhcmQge1xufVxuXG4uc21hbGxkZXNjLFxuLnByb2R1Y3QtZGVzY3JpcHRpb24td3JhcCxcbnVsLnRpY2tlZCB7XG4gICAgdWwge1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgJjo6bWFya2VyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZhO1xuICAgICAgICAgICAgY29udGVudDogXCJcXEYyNzBcIjtcbiAgICAgICAgICAgIGNvbG9yOiAkaGlnaGxpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAmOmJlZm9yZSB7XG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBmYTtcbiAgICAgICAgLy8gICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgIC8vICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAvLyB9XG4gICAgfVxufVxuXG51bC50aWNrZWQge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNmYW5jeWJveC13cmFwIHtcbiAgICAjZmFuY3lib3gtdGl0bGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNmYW5jeWJveC1jb250ZW50IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvcHVwaGVhZGVyIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZibGFjaztcblxuICAgICAgICAgICAgaSxcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jZmFuY3lib3gtb3V0ZXIsXG4jZmFuY3lib3gtd3JhcCB7XG4gICAgQGluY2x1ZGUgcmFkaXVzKCk7XG5cbiAgICAucHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgIH1cbn1cblxuI2ZhbmN5Ym94LWNvbnRlbnQge1xuICAgIGJvcmRlci13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNyZWFtLCA1MCUpO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWZpZWxkLWRpc3BsYXkge1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXNtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wb3B1cHdyYXBwZXIge1xuICAgIHdpZHRoOiA1MDBweDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnBvcHVwaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgY29sb3I6ICRvZmZibGFjaztcbiAgICBAaW5jbHVkZSB0ZXh0LW1kO1xufVxuXG4vKkJhc2tldCBzdHlsZXMqL1xuXG4vKkZvcm0gV2l6YXJkJGdyZWVuKi9cbi5icy13aXphcmQge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZTBlMGUwO1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7XG59XG5cbi5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwICsgLmJzLXdpemFyZC1zdGVwIHtcbn1cblxuLmJzLXdpemFyZCA+IC5icy13aXphcmQtc3RlcCAuYnMtd2l6YXJkLXN0ZXBudW0ge1xuICAgIGNvbG9yOiAjNTk1OTU5O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAgLmJzLXdpemFyZC1pbmZvIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAgPiAuYnMtd2l6YXJkLWRvdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRncmVlbiwgMzAlKTtcbiAgICB0b3A6IDQ1cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAgPiAuYnMtd2l6YXJkLWRvdDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQ6ICRncmVlbjtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDhweDtcbiAgICBsZWZ0OiA4cHg7XG59XG5cbi5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAgPiAucHJvZ3Jlc3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmJzLXdpemFyZCA+IC5icy13aXphcmQtc3RlcCA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICAgIHdpZHRoOiAwcHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRncmVlbiwgMzAlKTtcbn1cblxuLmJzLXdpemFyZCA+IC5icy13aXphcmQtc3RlcC5jb21wbGV0ZSA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwLmFjdGl2ZSA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbi5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXA6Zmlyc3QtY2hpbGQuYWN0aXZlID4gLnByb2dyZXNzID4gLnByb2dyZXNzLWJhciB7XG4gICAgd2lkdGg6IDAlO1xufVxuXG4uYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwOmxhc3QtY2hpbGQuYWN0aXZlID4gLnByb2dyZXNzID4gLnByb2dyZXNzLWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAuZGlzYWJsZWQgPiAuYnMtd2l6YXJkLWRvdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLmJzLXdpemFyZCA+IC5icy13aXphcmQtc3RlcC5kaXNhYmxlZCA+IC5icy13aXphcmQtZG90OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwOmZpcnN0LWNoaWxkID4gLnByb2dyZXNzIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLmJzLXdpemFyZCA+IC5icy13aXphcmQtc3RlcDpsYXN0LWNoaWxkID4gLnByb2dyZXNzIHtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4uYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwLmRpc2FibGVkIGEuYnMtd2l6YXJkLWRvdCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qRU5EIEZvcm0gV2l6YXJkKi9cblxuLypCYXNrZXQgTmF2Ki9cblxuI2ZpcnN0X25hbWVfaW5wdXQsXG4jc2hpcHRvX2ZpcnN0X25hbWVfaW5wdXQge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogNDklICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmdyZXl3cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjcmVhbSwgNSUpO1xuICAgIC8qYmFja2dyb3VuZC1jb2xvcjogI2U1ZDljYjsqL1xufVxuXG4vKiBNb3ZlIHJlQ0FQVENIQSB2MyBiYWRnZSB0byB0aGUgbGVmdCAqL1xuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgd2lkdGg6IDcwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDRweCAhaW1wb3J0YW50O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgICBsZWZ0OiAtOTk5OXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmdyZWNhcHRjaGEtYmFkZ2U6aG92ZXIge1xuICAgIHdpZHRoOiAyNTZweCAhaW1wb3J0YW50O1xufVxuXG4uY29udGFpbmVyLmNoZWNrb3V0IHtcbiAgICB3aWR0aDogMTIwMHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb3VudGRvd253cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvdW50ZG93bndyYXAgI2NvdW50ZG93biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuY291bnRkb3dud3JhcCAuaWNvbiBpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbn1cblxuLmNvbnRhaW5lci5vcmRlcnMsXG4uY29udGFpbmVyLnVzZXIsXG4uY29udGFpbmVyLmFydGljbGUge1xuICAgIHdpZHRoOiAxMjAwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKkZvcm1zKi9cblxuLmZvcm0tY29udHJvbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY3JlYW0sIDclKTtcbiAgICBib3JkZXI6IGRhcmtlbigkY3JlYW0sIDUlKSAxcHggc29saWQ7XG4gICAgLy8gQGluY2x1ZGUgcmFkaXVzKDBweCk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gICAgJi5yZXF1aXJlZCB7XG4gICAgICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgIC8vZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCJcXCpcIjtcbiAgICAgICAgICAgIGNvbG9yOiAjZDM0OTRjO1xuXG4gICAgICAgICAgICBmb250LXZhcmlhbnQtcG9zaXRpb246IHN1cGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLmZvcm0tZ3JvdXAuYmFua19hY2NvdW50X25yLFxuLmZvcm0tZ3JvdXAucG9fY29tcHVsc2FyeSxcbi5mb3JtLWdyb3VwLmFkbWluX2N1c3Rfbm90ZSxcbiNhZG1pbl9jdXN0X25vdGVfZGl2LFxuI2FkbWluX2N1c3Rfbm90ZV9pbnB1dCxcbi5mb3JtLWdyb3VwLm1hcmtlZF9mb3Jfc29jaWFsLFxuI21hcmtlZF9mb3Jfc29jaWFsX2RpdixcbiNtYXJrZWRfZm9yX3NvY2lhbF9pbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKkZvcm1zKi9cblxuaW5wdXQuZm9ybWNvbnRyb2xbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uZnJlZXNoaXBwaW5nIHtcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qUmFkaW9zKi9cblxuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50aGljay1lbmQge1xuICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgYmxhY2s7XG59XG5cbi50aGluLWVuZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xufVxuXG4uZm9ybUNvbnRhaW5lciB7XG4gICAgLmZvcm1SZXF1aXJlZCB7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgfVxuXG4gICAgZmllbGRzZXQ6bnRoLWNoaWxkKG4gKyAyKSB7XG4gICAgICAgIGJvcmRlcjogJHByaW1hcnkgMnB4IHNvbGlkO1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoKTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDgwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZy1yZWNhcHRjaGEge1xuICAgIG1hcmdpbjogMTVweCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiAtd2Via2l0LWNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiAtbW96LWNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiAtby1jZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogLW1zLWNlbnRlcjtcbn1cblxuZGl2Lmljb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5kaXYuYmxvZyB7XG59XG5cbi5pdGVtLXBhZ2UsXG5kaXYuYmxvZyB7XG4gICAgaDEge1xuICAgIH1cblxuICAgIHAge1xuICAgIH1cbn1cbi5zbHVnX2Jsb2cge1xuICAgIC5hcnRpY2xldGV4dCB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmludHJvdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG59XG5cbi5qb2JhcHAge1xuICAgIGZpZWxkc2V0IHtcbiAgICAgICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tY29udHJvbC1maWxlIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLnplbmRlc2stYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDBweDtcbiAgICByaWdodDogMHB4O1xufVxuLnplbmRlc2stYnV0dG9uIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDBweDtcbiAgICByaWdodDogMHB4O1xufVxuXG4ubXlhY2NvdW50LXdyYXAge1xuICAgIC5jYXJkIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9naW4tbXlhY2NvdW50LXdyYXAge1xuICAgIGEge1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRvZmZibGFjaywgODAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLCAyMCUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRvZmZibGFjaywgNTAlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbn1cblxuLy8gVGhlIGRlc2t0b3AgbG9naW4gbW9kdWxlIHJlbmRlcnMgdGhlIGNvbXBsZXRlIEJvb3RzdHJhcCBtb2RhbC4gS2VlcCB0aGVcbi8vIGFjY291bnQgZXhwZXJpZW5jZSBzY29wZWQgdG8gdGhhdCBtb2R1bGUgc28gZXhpc3RpbmcgcHJvZHVjdCBtb2RhbHMgYXJlIG5vdFxuLy8gYWZmZWN0ZWQuXG4uc3RyYXB0aXRlLWFjY291bnQtbW9kYWwge1xuICAgIC0tc3RyYXB0aXRlLWFjY291bnQtcGFuZWw6ICNmMmYyZjI7XG4gICAgLS1zdHJhcHRpdGUtYWNjb3VudC1hY2NlbnQ6ICMwY2ExNTE7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmX19hc2lkZSxcbiAgICAmX19tYWluIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgfVxuXG4gICAgJl9fYXNpZGUge1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgzcmVtLCA4dncsIDlyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdHJhcHRpdGUtYWNjb3VudC1wYW5lbCk7XG4gICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgfVxuXG4gICAgJl9fYXNpZGUtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogbWluKDEwMCUsIDMxcmVtKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgICZfX2JyYW5kIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBtaW4oMTlyZW0sIDEwMCUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgyLjVyZW0sIDd2aCwgNXJlbSk7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZXllYnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogMTFjaDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjI1cmVtLCA0dncsIDQuNzVyZW0pO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDU1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk4O1xuICAgIH1cblxuICAgICZfX2ludHJvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyN3JlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkb2ZmYmxhY2ssIDIwJSk7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMS4yNXZ3LCAxLjE1cmVtKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtaW4taGVpZ2h0OiA1Ljc1cmVtO1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgxLjI1cmVtLCAydncsIDJyZW0pIGNsYW1wKDEuNXJlbSwgNXZ3LCA2cmVtKSAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjJyZW0sIDEuNXZ3LCAxLjU1cmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDJyZW0sIDV2dywgNnJlbSk7XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIHdpZHRoOiBtaW4oMTAwJSwgMzByZW0pO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgJl9fbW9iaWxlLWJyYW5kIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHdpZHRoOiBtaW4oMTJyZW0sIDYwdncpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMuNHJlbTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC4yOCk7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXN0cmFwdGl0ZS1hY2NvdW50LWFjY2VudCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMzMsIDEzMSwgMjEsIDAuMTgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tZmxvYXRpbmcgPiBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRvZmZibGFjaywgMjUlKTtcbiAgICB9XG5cbiAgICAuYnRuLXN1Y2Nlc3Mge1xuICAgICAgICBtaW4taGVpZ2h0OiAzLjI1cmVtO1xuICAgIH1cblxuICAgICZfX3Bhc3N3b3JkLWhlbHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLCAyNSUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZC1sb2dpbl9fdXNlcmRhdGEgPiBociB7XG4gICAgICAgIG1hcmdpbjogMS43NXJlbSAwO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjE2KTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAubW9kLWxvZ2luX19zdWJtaXQgPiBidXR0b25bdHlwZT0nYnV0dG9uJ10ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC42NXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMy4xcmVtO1xuICAgICAgICBjb2xvcjogJG9mZmJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGVmZWQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjBlZmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBjb2xvcjogJG9mZmJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlMWRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNlNGUxZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWtlZWJhLXNvY2lhbGxvZ2luLWxpbmstYnV0dG9uLWo0LWFwcGxlID4gc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dvb2dsZS1tYXJrIHtcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICB9XG5cbiAgICAmX19ncmVldGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgICZfX2FjY291bnQtY2FyZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJG9mZmJsYWNrLCAwLjE0KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjQ1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE1MG1zIGVhc2UsIGJveC1zaGFkb3cgMTUwbXMgZWFzZSwgdHJhbnNmb3JtIDE1MG1zIGVhc2U7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42NXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMDVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc3RyYXB0aXRlLWFjY291bnQtYWNjZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLCAyOCUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc3RyYXB0aXRlLWFjY291bnQtYWNjZW50KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwLjc1cmVtIDEuNzVyZW0gcmdiYSgkb2ZmYmxhY2ssIDAuMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXN0cmFwdGl0ZS1hY2NvdW50LWFjY2VudCk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMC4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAgICAgJl9fbWFpbiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDJyZW0sIDEwdmgsIDVyZW0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG5cblxuXG4vLyBTZWxmLWhvc3RlZCB2YXJpYWJsZSBNb250c2VycmF0IGtlZXBzIHRoZSB0ZW1wbGF0ZSBpbmRlcGVuZGVudCBvZiBHb29nbGUgRm9udHMuXG4vLyBgYmxvY2tgIHByZXZlbnRzIGEgdmlzaWJsZSBmYWxsYmFjay1mb250IGZsYXNoOyB0aGUgcHJpbWFyeSBsYXRpbiBmaWxlIGlzXG4vLyBwcmVsb2FkZWQgZnJvbSBpbmRleC5waHAgZm9yIHRoZSBmaXJzdCByZW5kZXIuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICAgIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtbGF0aW4tdmFyaWFibGUud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gICAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7XG4gICAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1sYXRpbi12YXJpYWJsZS1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gICAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7XG4gICAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1sYXRpbi1leHQtdmFyaWFibGUud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gICAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7XG4gICAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1sYXRpbi1leHQtdmFyaWFibGUtaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICAgIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xufVxuXG4vLyBCb290c3RyYXAgSWNvbnMgaXMgc2VydmVkIGxvY2FsbHkuIFRoZXNlIGFyZSB0aGUgZ2x5cGhzIGN1cnJlbnRseSB1c2VkIGJ5XG4vLyB0aGUgdGVtcGxhdGUsIHNvIHdlIGF2b2lkIGRvd25sb2FkaW5nIHRoZSBmdWxsIHRoaXJkLXBhcnR5IGljb24gc3R5bGVzaGVldC5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcImJvb3RzdHJhcC1pY29uc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9ib290c3RyYXAtaWNvbnMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5cbi5iaTo6YmVmb3JlLFxuW2NsYXNzXj1cImJpLVwiXTo6YmVmb3JlLFxuW2NsYXNzKj1cIiBiaS1cIl06OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImJvb3RzdHJhcC1pY29uc1wiICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmJpLWFsYXJtLWZpbGw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTAxXCI7IH1cbi5iaS1hcnJvdy1jbG9ja3dpc2U6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE3XCI7IH1cbi5iaS1hcnJvdy1yZXBlYXQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTMwXCI7IH1cbi5iaS1iYXNrZXQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTgwXCI7IH1cbi5iaS1ib3gtZmlsbDo6YmVmb3JlIHsgY29udGVudDogXCJcXGY3ZDJcIjsgfVxuLmJpLWJveGVzOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjY4NVwiOyB9XG4uYmktYnJvYWRjYXN0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkNlwiOyB9XG4uYmktYnVpbGRpbmc6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRkXCI7IH1cbi5iaS1jaGF0LWRvdHM6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjRhXCI7IH1cbi5iaS1jaGF0LWxlZnQtdGV4dC1maWxsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1MVwiOyB9XG4uYmktY2hlY2s6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjZlXCI7IH1cbi5iaS1jaGVjay1hbGw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjY5XCI7IH1cbi5iaS1kYXNoLWxnOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjYzYlwiOyB9XG4uYmktZHJvcGxldDo6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMGRcIjsgfVxuLmJpLWVudmVsb3BlOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMyZlwiOyB9XG4uYmktZmFjZWJvb2s6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzQ0XCI7IH1cbi5iaS1maW5nZXJwcmludDo6YmVmb3JlIHsgY29udGVudDogXCJcXGY2NzFcIjsgfVxuLmJpLWhlYWRzZXQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDE0XCI7IH1cbi5iaS1pbmZvLWNpcmNsZS1maWxsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQzMFwiOyB9XG4uYmktaW5zdGFncmFtOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQzN1wiOyB9XG4uYmktbGlnaHRuaW5nLWNoYXJnZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NmRcIjsgfVxuLmJpLWxpbmtlZGluOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ3MlwiOyB9XG4uYmktbGlzdDo6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NzlcIjsgfVxuLmJpLWxvY2s6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDdiXCI7IH1cbi5iaS1wZXJzb246OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGUxXCI7IH1cbi5iaS1waG9uZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY0ZTdcIjsgfVxuLmJpLXBpZ2d5LWJhbms6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNjRhXCI7IH1cbi5iaS1wbHVzLWxnOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjY0ZFwiOyB9XG4uYmktcXVlc3Rpb24tY2lyY2xlLWZpbGw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNTA0XCI7IH1cbi5iaS1zZWFyY2g6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNTJhXCI7IH1cbi5iaS1zaWducG9zdC0yOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjU0NlwiOyB9XG4uYmktdGFnLWZpbGw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNWFmXCI7IH1cbi5iaS10aHJlZS1kb3RzLXZlcnRpY2FsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjVkNFwiOyB9XG4uYmktdHJ1Y2s6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNWVhXCI7IH1cbi5iaS10d2l0dGVyOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjVlZlwiOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gICAgaHRtbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIGh0bWwge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICB9XG59XG5cbi50ZXh0LWdyYWRpZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgyNzBkZWcsICRzZWNvbmRhcnkgMjAlLCAkY29tcGxpbWVudCA3MCUpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG59XG5cblxuaDEge1xuICAgIEBpbmNsdWRlIHRleHQteGw7XG4gICAgLy8gQGV4dGVuZCAudGV4dC1ncmFkaWVudDtcbn1cblxuaDIsaDMge1xuICAgIGNvbG9yOiAkb2ZmYmxhY2tcbn1cblxuaDIge1xuICAgICBAaW5jbHVkZSB0ZXh0LWxnXG59XG5cbmgzIHtcbiAgICAgQGluY2x1ZGUgdGV4dC1tZFxufVxuIiwiLnRvcG1lbnUge1xuICBmb250LXNpemU6IDE0cHg7XG5cbiAgYSB7XG4gICAgY29sb3I6IGRhcmtlbigkd2hpdGUsIDMwJSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgJi5zaWduaW4tb3V0LWJ0biB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbn1cblxuYS5idG4uam1vZGVkaXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGNvbG9yOiBkYXJrZW4oJGdyZXksNTAlKTtcblxuICBhLC5idG4sIGkge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgLmJpIHsgZm9udC1zaXplOiAycmVtO31cbiAgLmJpLXNlYXJjaCB7Zm9udC1zaXplOiAxLjNyZW07IH1cblxuICAvKmJhY2tncm91bmQtaW1hZ2U6dXJsKFwiY29mZmVlaGVhZGVyLmpwZ1wiKTsqL1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIC5sb2dvYmFyLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIH1cblxuICAucG9wb3Zlci1idG4ge1xuXG4gIH1cbiAgLmN0YWJhciB7IGZvbnQtc2l6ZTogMC44cmVtO2l7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAycHg7Zm9udC1zaXplOiAxLjJyZW07IH19XG5cbiAgLy9AaW5jbHVkZSBmYTtcblxuICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xuICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIC5jZi1zZWFyY2htb2Qtd3JhcHBlciB7XG4gICAgYm9yZGVyOiAwcHg7XG4gIH1cblxuICAubG9naW5ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5sb2dpbmZsb2F0Ym94IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvdHRvbTogMHB4O1xuICB9XG5cbiAgLmJ0bi1wb3BvdmVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cbiAgfVxuXG4gIC5idG4tcG9wb3Zlci1jb250YWluZXIgLmJ0bi1wb3BvdmVyLXRpdGxlLFxuICAuYnRuLXBvcG92ZXItY29udGFpbmVyIC5idG4tcG9wb3Zlci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgI2xvZ2luLWZvcm0ge1xuICAgIGxhYmVsIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaG91dGVyd3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgI3NlYXJjaHJlc3VsdHMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgLmNvbC5wcm9kdWN0e1xuXG4gICAgICAgIGltZ3sgd2lkdGg6IDUwJTsgYWxpZ24tc2VsZjogY2VudGVyO31cbi8vICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICAudm0tcHJvZHVjdC1tZWRpYS1jb250YWluZXIge31cbi8vIGF7XG4vLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgaGVpZ2h0OiAxMDAlO1xuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuXG4vLyAgICAgICAgICY6OmFmdGVyIHtcbi8vICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4vLyAgICAgICAgICAgICB0b3A6IDA7XG4vLyAgICAgICAgICAgICBsZWZ0OiAwO1xuLy8gICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4vLyAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMTQzLCAxNDMsIDE0MykgIWltcG9ydGFudDtcbi8vICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDg7XG4vLyAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbi8vICAgICAgICAgICAgIC8vIGJvcmRlcjogIzEzMTMxMyBzb2xpZCAxcHggIWltcG9ydGFudCA7XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICAgICY6aG92ZXI6OmFmdGVyIHtcbi8vICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYigwLCAwLCAwKSAhaW1wb3J0YW50O1xuLy8gICAgICAgICAgIH1cbi8vICAgICB9XG59XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgdG9wOiAxMjBweDtcbiAgICB9XG4gIH1cbn1cbiIsImRpdi5vdmVybGF5LFxuLm1vZGFsIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgZWFzZTtcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3A0LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC41KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbn1cblxuZGl2Lm92ZXJsYXkuYWN0aXZlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi8vLm1lZ2Fjb250ZW50IHsgei1pbmRleDogM31cbiNTdHJhcHBpbmdMb2FkU2VjdXJpbmcgLm1lZ2Fjb250ZW50IHtcbiAgICAgICAgLy8gbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIGxlZnQ6IDA7XG4gICAgICAgIC8vIHJpZ2h0OiAwO1xuICAgICAgICAvLyBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgLy8gdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XG59XG4jU2VjdXJpdHlTZWFscyAubWVnYWNvbnRlbnQge1xuICAgIC8vIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xufVxuI1N0YWlubGVzc1N0ZWVsU3RyYXBwaW5nIC5tZWdhY29udGVudCB7XG4gICAgLy8gbGVmdDogMDtcbiAgICAvLyByaWdodDogMDtcbiAgICAvLyBtYXJnaW46IDAgYXV0bztcblxufVxuLm1lZ2FtZW51IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxpIHtcblxuXG4gICAgICAgIGF7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDAuMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkcHJpbWFyeSwgMTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudG9wbGV2ZWx7XG4gICAgICAgICAgICAmOmhvdmVyID4gYSxcbiAgICAgICAgICAgICYuY3VycmVudCA+IGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB9fVxuXG4gICAgICAgIC8vSG92ZXIgQXJyb3dzXG4gICAgICAgIC8vICYudG9wbGV2ZWwge1xuICAgICAgICAvLyAgICAgJjpob3ZlciA+IGEge1xuICAgICAgICAvLyAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAvLyAgICAgICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICAvLyAgICAgICAgICAgICB6LWluZGV4OiAxMDUwO1xuICAgICAgICAvLyAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIC8vICAgICAgICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAvLyAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIC8vICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAvLyAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIC8vICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgIC8vICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgICAgLy8gICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vICYudG9wbGV2ZWwuY3VycmVudCBhIHtcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjEpO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgLm1lZ2Fjb250ZW50IHtcbiAgICAgICAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwcyBlYXNlO1xuICAgICAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IDQ1cHg7XG5cblxuXG4gICAgICAgICAgICAuY29sc2VwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgc3Bhbi5uYXYtaGVhZGVyIGEsXG4gICAgICAgICAgICAgICAgc3Bhbi5uYXYtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIC5tZW51c3VmZml4IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGRhcmtncmV5LCA1JSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcblxuICAgICAgICAgICAgICAgIC5tZW51c3VmZml4IHtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmFxd3JhcHtcbiAgICAgICAgICAgICAgICB1bCB7cGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaXsgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29tcGxpbWVudCwwLjYpICFpbXBvcnRhbnQ7fVxuXG4gICAgICAgICAgICAgICAgYSB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgZm9udC1zaXplOiAwLjlyZW07ICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O319XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxpOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAvLyAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgICAgLy8gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC8vICB0b3A6IDJweDtcbiAgICAgICAgICAgIC8vICBmb250LWZhbWlseTogYm9vdHN0cmFwLWljb25zO1xuICAgICAgICAgICAgLy8gICAgICBjb250ZW50OiAnXFxGMjg3JztcbiAgICAgICAgICAgIC8vICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIC8vICAgICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgICAgICAgICAvLyAgICB9XG4gICAgICAgICAgICB9fVxuXG4gICAgICAgICAgICAuYnRuLWJyYW5kcyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggJHByaW1hcnkgc29saWQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVnYWZvb3RlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbXBsaW1lbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRoaWdobGlnaHQ7XG4gICAgICAgICAgICAgICAgYXtjb2xvcjogJGhpZ2hsaWdodCAhaW1wb3J0YW50O31cblxuICAgICAgICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC42KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpOmhvdmVyIHtcbiAgICAgICAgLm1lZ2Fjb250ZW50IHtcbiAgICAgICAgICAgIC8vIGxlZnQ6IDA7XG4gICAgICAgICAgICAvLyByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XG5cblxuICAgICAgICB9XG4gICAgfVxuXG5cbi8vICAgICAubWVnYWNvbnRlbnQge1xuLy8gICAgICAgICAmOmJlZm9yZXsgY29udGVudDogJyc7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgd2lkdGg6IGF1dG87IGhlaWdodDogMTAwJTsgfVxuXG4vLyB9XG5cbn1cbi8vIC5tZWdhY29udGVudDpoYXMoLmlubmVyd3JhcCl7XG4vLyAgICAgLmlubmVyd3JhcDpob3Zlcntcbi8vICAgICAgICAgICAgIGxlZnQ6IC05OTllbSAhaW1wb3J0YW50O1xuXG4vLyB9XG4vLyB9XG5cblxuXG5cbi8vI0NvZmZlZSAubWVnYWNvbnRlbnR7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvbWVudWJnL21lZ2FiZy1jb2ZmZWUuanBnXCIpfVxuXG4vLyAgI1N0cmFwcGluZyAubWVnYWNvbnRlbnQgIHsgbGVmdDogMHB4ICFpbXBvcnRhbnR9XG5cbmxpLmNvbCB7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cblxuLy8jU2FsZSAubWVnYWNvbnRlbnR7IGxlZnQ6IDBweCAgIWltcG9ydGFudDt9XG4jQ3VwcyAubWVnYWNvbnRlbnQge1xuICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDcwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL0hvbWVwYWdlIFN0dWZmIC8vXG5cbi5ocGN0YWRhcmt2YW4ge1xuICAgIGgxe2ZvbnQtc2l6ZTogMi41cmVtO31cbiAgICBoMSxoM3sgY29sb3I6ICRzZWNvbmRhcnk7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtd2VpZ2h0OiAxMDA7fVxuICAgIGgzeyBmb250LXNpemU6IDEuNXJlbTt9XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB9XG4gICAgLmltZ3dyYXAgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAyMDBweDt9XG4gICAgLnNwZWNvZmZlcnN3cmFwIHsgei1pbmRleDogMTAxNTsgdG9wOi0yNzBweH1cbiAgICAuc3BhY2VkaW5mb2JhciB7XG4gICAgICAgIGNvbG9yOiAkZGFya2dyZXk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAuYmk6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHsgY29sb3I6IHJnYmEoJGRhcmtncmV5LDAuNSk7fVxuXG4gICAgfVxuXG4gICAgLmhwY2F0c3dyYXBwZXIge1xuICAgICAgICAuaXRlbXdyYXBwZXIge1xuICAgICAgICAgICAgLnRleHQtd3JhcCB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXJ7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGRhcmtncmV5LDAuMSk7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdldGhlbHB3cmFwIHtcbiAgICAgICAgdWx7IGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICB9XG4gICAgYSxoM3sgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50fVxuICAgIH1cblxuICAgIC5ibG9naXRlbXsgaDMgYSwgYXsgY29sb3I6ICRjb21wbGltZW50OyAmOmhvdmVyeyBjb2xvcjogJHNlY29uZGFyeTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fX0gcHtmb250LXNpemU6IDAuOXJlbTt9fVxuICAgIC5mdWxsd2lkdGhiZ3tcbiAgICAgICAgQGluY2x1ZGUgZnVsbHdpZHRoYmdpbWc7XG4gICAgfVxuICAgIC5md2N0YSB7XG5cbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSBmdWxsd2lkdGhiZ2ltZztcblxuICAgICAgICBpbWcuYmFja2dyb3VuZCB7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNsaXAtcGF0aDogaW5zZXQoMCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDU1dmggIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAvLyAgIEBpbmNsdWRlIHNlcmlmZm9udHM7XG4gICAgICAgIH1cbiAgICAgICAgcC5sZWFkIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA5MWEzNDlmO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW1hZ2ViZ3dyYXAuZndjdGEge1xuICAgICAgICBjb2xvcjogJGNyZWFtO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMDAlO1xuICAgICAgICAgIEBpbmNsdWRlIHNlcmlmZm9udHM7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxODAlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMSxcbiAgICAgICAgaDIsXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIC5ocGJyYW5kcyB7XG4gICAgICAgIGEgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzgsIDEuMjUsIDAuNzksIDAuOTkpO1xuICAgICAgICAgICAgLy8gdHJhbnNpdGlvbjogMTUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBoMiB7XG4gICAgICAgICAgICAvLyAgIGNvbG9yOiBsaWdodGVuKCRvZmZibGFjaywzMCUpO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXJpZmZvbnRzO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbnRyb2N0YSB7XG4gICAgICAgIEBpbmNsdWRlIGZ1bGx3aWR0aGJnaW1nO1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgLy8gICBjb2xvcjogbGlnaHRlbigkb2ZmYmxhY2ssMzAlKTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VyaWZmb250cztcbiAgICAgICAgfVxuXG4gICAgICAgIHAubGVhZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjllbTtcbiAgICAgICAgfVxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgc2VjdGlvbi5icmFuZGJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoZGFya2VuKCRzZWNvbmRhcnksIDEwJSksIDAuOTMpO1xuICAgIH1cblxuICAgIHNlY3Rpb24udHJ1c3RwaWxvdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoZGFya2VuKCRzZWNvbmRhcnksIDIwJSksIDAuOTUpO1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHggODBweDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmFuZ2Uge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRwaGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJldmlld3dyYXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlY3Rpb24uYmxvZyB7XG4gICAgICAgIC8qYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9ub3YtMjAxNi9ibG9nLWJnLmpwZyk7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Ki9cbiAgICAgICAgcGFkZGluZzogNDBweCAwcHg7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvZ3Bvc3R3cmFwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3coNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL0hvbWVwYWdlIFN0dWZmIC8vXG4iLCJcbm5hdi5icmVhZGNydW1iIHtcbiAgICBwYWRkaW5nOiA1cHggMHB4IDNweDtcblxuICAgIG9sLmJyZWFkY3J1bWIge1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGRhcmtncmV5LDMwJSk7XG4gICAgICAgIGF7IGNvbG9yOiBsaWdodGVuKCRkYXJrZ3JleSwzMCUpO31cbiAgICB9XG5cbn1cblxuLmJyZWFkY3J1bWIge1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy9mYWRlb3V0KCRjcmVhbSwxMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG5cbiAgICBzdmcuc2VwYXJhdG9yIHtcblxuICAgICAgICBmaWxsOiBkYXJrZW4oJGNyZWFtLCAyMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmE7XG5cbiAgICAvL2NvbnRlbnQ6IFwiXFxmMDU0XCI7XG5cbn1cblxuXG4uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn0iLCIuYnRuLFxuLmlucHV0Z3JvdXAsXG4uZm9ybS1jb250cm9sIHtcbiAgICAvLyAgIEBpbmNsdWRlIHJhZGl1cygxNXB4KTtcbn1cblxuLmJ0bi1zdWNjZXNzIHtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5idG4teHMge1xuICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIHBhZGRpbmc6IDJweCA1cHg7XG59XG5cbi5idG4teGwge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbn1cblxuLmJ0bi14eGwge1xuICAgIGZvbnQtc2l6ZTogNTJweDtcbn1cbi5idG4tb3V0bGluZS1vcmFuZ2Uge1xuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xufVxuXG4uYnRuLW9yYW5nZSB7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkc2Vjb25kYXJ5LCAwLjIpO1xufVxuXG4uYnRuIHtcbiAgICAuc3VidGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc207XG4gICAgfVxufVxuLmJ0bi1zdHJpcGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAycHggJHByaW1hcnkgc29saWQ7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgfVxufVxuXG4uYnRuLW91dGxpbmUtbGlnaHQge1xuICAgIGNvbG9yOiBsaWdodGVuKCRwcmltYXJ5LCA1JSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMmQyZDIyO1xuICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbn1cbi5idG4tb3V0bGluZS1kYXJrIHtcbiAgICBjb2xvcjogbGlnaHRlbigkcHJpbWFyeSwgNSUpO1xuICAgIGJvcmRlci1jb2xvcjogJG9mZmJsYWNrO1xufVxuXG4uY2hlY2tvdXRidXR0b24sXG4udm1DYXJ0TW9kdWxlIC5idG4tc3VjY2Vzcyxcbi5jaGVja291dF9zdGVwXzEgLmJ0bi1zdWNjZXNzIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG59XG4jcGF5bWVudF90b3Bfd3JhcHBlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xufVxuIiwiLmNhcm91c2VsLWlubmVye1xyXG5cclxuICAgIC8vIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmNhcm91c2VsLWl0ZW0ge1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgLyogQWxpZ24gaG9yaXpvbnRhbGx5ICovXHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7ICAgICAvKiBBbGlnbiB2ZXJ0aWNhbGx5ICovXHJcbiAgICAvLyBoZWlnaHQ6IDQ1MHB4ICFpbXBvcnRhbnQ7ICAgICAgICAgICAgLyogVGFrZSBmdWxsIGhlaWdodCBvZiB0aGUgY29udGFpbmVyICovXHJcbiAgICAvLyBtYXgtaGVpZ2h0OiA0NTBweDtcclxufVxyXG4uaGVybyB7XHJcbiAgICB3aWR0aDogMTAwJTsgLyogRW5zdXJlIGZ1bGwgd2lkdGggKi9cclxufSIsImZvb3Rlci5mb290ZXIge1xuY29sb3I6ICR3aGl0ZTtcbmEsaDIsaDN7Y29sb3I6ICRoaWdobGlnaHQ7fVxudWx7IHBhZGRpbmctbGVmdDogMTVweDtcbn1cbmg0e2ZvbnQtc2l6ZTogMS4wcmVtO31cbi5zbWFsbCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwwLjcpOyBmb250LXNpemU6IDAuOHJlbTt9XG5pIHsgZm9udC1zaXplOiAxLjByZW07fVxuXG4uZm9vdGVyY2F0c3subGV2ZWwyIGF7IH19XG4uZGlzY2xhaW1lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb21wbGltZW50LDEwJSk7XG4gICAgY29sb3I6ICM1ZDY1NmE7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogIzhiOTY5YztcbiAgICB9XG4gIH1cbn1cblxuXG4uZGlzY2xhaW1lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbXBsaW1lbnQsMTAlKTtcbiAgY29sb3I6IGRhcmtlbigkY29tcGxpbWVudCwxMCUpOztcbiAgZm9udC1zaXplOiAxMXB4O1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgYSB7XG4gICAgY29sb3I6ICM4Yjk2OWM7XG4gIH1cbn1cbiIsIi5yc2Zvcm0tYmxvY2sgeyBtYXJnaW4tYm90dG9tOiA1cHg7fSIsIlxuLmxlZnRjb2wge1xuICAgIGgzIHtcblxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDExMCU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cG1weDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG5cblxuICAgICAgICAgICAgLy8gJjphZnRlciB7XG4gICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgZmE7XG4gICAgICAgICAgICAvLyAgICAgY29udGVudDogXCJcXGYwNTRcIjtcbiAgICAgICAgICAgIC8vICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgIC8vICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC8vICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAvLyAgICAgYSB7fVxuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5ICAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5mYXFtZW51e2F7IGNvbG9yOiByZ2JhKCRwcmltYXJ5LDAuNykgIWltcG9ydGFudH1cbiYuYWN0aXZle2F7IGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50OyBmb250LXdlaWdodDogNTAwO319fVxufSIsIkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5yZWxjYXJvdXNlbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgZGl2Lm1haW4ge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuXG4gIGJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBFeHRyYSBsYXJnZSBkZXZpY2VzIChsYXJnZSBkZXNrdG9wcywgMTIwMHB4IGFuZCB1cClcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbnRhaW5lci5vdXRlciB7XG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XG5cbiAgICAvLyAmLnByb2R1Y3RkZXRhaWxzIHtcbiAgICAvLyAgICAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gICAgLy8gfVxuICB9XG59XG5cbi5tb2JpbGVzZWFyY2gge1xuICBpIHtcbiAgICBmb250LXNpemU6IDE1MCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweCAwcHggMHB4IDVweDtcbiAgfVxuXG4gIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwcHggNXB4IDVweCAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5vZmZjYW52YXMtY29sbGFwc2Uge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogOTVweDtcbiAgICAvKiBIZWlnaHQgb2YgbmF2YmFyICovXG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG5cbiAgLm9mZmNhbnZhcy1jb2xsYXBzZS5vcGVuIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHJlbSk7XG4gICAgLyogQWNjb3VudCBmb3IgaG9yaXpvbnRhbCBwYWRkaW5nIG9uIG5hdmJhciAqL1xuICB9XG59XG5cbi5tb2JpbGVtZW51IHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAvKmxlZnQ6IDBweCAhaW1wb3J0YW50OyAqL1xuICAvKiRvZmZibGFjazogZGFya2VuKEBjb2xvci1uYXZiYXJzdWIsMCUpOyovXG5cbiAgLyokb2ZmYmxhY2s6ICRwcmltYXJ5OyovXG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIG1hcmdpbi10b3A6IDBweDtcbiAgQGluY2x1ZGUgcmFkaXVzKDBweCk7XG4gIHotaW5kZXg6IDEwNTA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMHB4O1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwMDAgIWltcG9ydGFudDtcblxuICAvKmxlZnQ6MHB4ICFpbXBvcnRhbnQ7ICovXG5cbiAgdWwubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB1bC5tZW51IHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBzcGFuLnNlcGFyYXRvciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRjb21wbGltZW50IDFweCBzb2xpZDtcbiAgICAgIHBhZGRpbmc6IDVweCAwcHggMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcyBlYXNlO1xuXG4gICAgICBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXEYyODVcIjtcbiAgICAgICAgQGluY2x1ZGUgZmE7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAuMzVlbSA2NSU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb21wbGltZW50O1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxNjAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuXG4gICAgICAmI0N1cHMge1xuICAgICAgICBsaSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIEBpbmNsdWRlIGZhO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwcHggMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeSwgNSUpO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogZGFya2VuKCRzZWNvbmRhcnksIDEwJSkgMXB4IHNvbGlkO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLnNob3cge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxpLml0ZW0yIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTk5OXB4O1xuICB9XG5cbiAgdWwubWVudS50b3AgYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcGFkZGluZy1yaWdodDogMnB4O1xuICB9XG59XG5cbi5tb2JpbGVjdXBzIGxpIGEuY3Vwc2xpbmsge1xuICBmb250LXNpemU6IDUwJSAhaW1wb3J0YW50O1xufVxuIiwiLmNhcm91c2VsIHtcbiAgei1pbmRleDogMDtcbn1cblxuYnV0dG9uLnNsaWNrLWFycm93IHtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xufVxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udHJlbmRpbmd3cmFwIHtcbiAgaDIge1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG59XG5cbmRpdi50cmVuZGluZyB7XG4gICRwYW5lbGNscjogI2Q3ZDVjYjtcbiAgJHBhbmVsdHh0OiAjNjM0NTIxO1xuICBjb2xvcjogZGFya2VuKCRwYW5lbGNsciwgNDAlKTtcblxuICAucHJvZHVjdC5pdGVtIHtcbiAgICBib3JkZXI6IDFweCAkcGFuZWxjbHIgc29saWQ7XG5cbiAgICAmLm1lZ2Ege1xuICAgICAgLnZtLXByb2R1Y3QtbWVkaWEtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzgsIDEuMjUsIDAuNzksIDAuOTkpO1xuICAgICAgICAvLyB0cmFuc2l0aW9uOiAxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGEge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5tYWluY29udCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRwYW5lbGNsciwgMTUlKTtcbiAgICAgIGNvbG9yOiAkcGFuZWx0eHQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzIlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICB9XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLCA1JSk7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuXG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgfVxuXG4gICAgLmRlc2Mge1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIC5zbmlwcGV0IHtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAuUHJpY2VwcmljZVdpdGhvdXRUYXhUdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ib3R0b21ibG9jayB7XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3QuaXRlbSB7XG4gIH1cblxuICAucmliYm9uLXdyYXBwZXIge1xuICAgIHdpZHRoOiA4NXB4O1xuICAgIGhlaWdodDogODhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zcHg7XG4gICAgbGVmdDogLTNweDtcblxuICAgIC5yaWJib24ge1xuICAgICAgZm9udDogYm9sZCAxM3B4IHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDdweCAwO1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbGVmdDogLTMwcHg7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODVjNzI4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG59XG5cbi50cmVuZGluZ3dyYXBuZXcge1xuXG4gICAgaDIge1xuY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLDMwJSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjFyZW07XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIDtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG5kaXYudHJlbmRpbmduZXcge1xuICAgICRwYW5lbGNscjogI2Q3ZDVjYjtcbiAgICAkcGFuZWx0eHQ6ICM2MzQ1MjE7XG5cbiAgICBjb2xvcjogZGFya2VuKCRwYW5lbGNsciwgNDAlKTtcblxuICAgIC5wcm9kdWN0Lml0ZW0ge1xuICAgICAgYm9yZGVyOiAxcHggI2YyZjJmMCBzb2xpZDtcbiAgICAgIC8vIEBpbmNsdWRlIHJhZGl1cztcblxuICAgICAgLm1haW5jb250IHtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcGFuZWxjbHIsIDE1JSk7XG4gICAgICAgIGNvbG9yOiAkcGFuZWx0eHQ7XG4gICAgICB9XG5cbiAgICAgIC52bS1wcm9kdWN0LW1lZGlhLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYigxNDMsIDE0MywgMTQzKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMC4wODtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgLy8gYm9yZGVyOiAjMTMxMzEzIHNvbGlkIDFweCAhaW1wb3J0YW50IDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubWVnYSB7XG4gICAgICAgIC52bS1wcm9kdWN0LW1lZGlhLWNvbnRhaW5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDM1MG1zIGN1YmljLWJlemllcigwLjM4LCAxLjI1LCAwLjc5LCAwLjk5KTtcbiAgICAgICAgICAvLyB0cmFuc2l0aW9uOiAxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGEge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICAgIC8vIGhlaWdodDogNzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIGNvbG9yOiByZ2JhKCRjb21wbGltZW50LDAuNSk7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICB9XG5cbiAgICAgIC5kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgIC5zbmlwcGV0IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAuUHJpY2VwcmljZVdpdGhvdXRUYXhUdCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgLy8gY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLCA2MCUpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJvdHRvbWJsb2NrIHtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC5pdGVtIHtcbiAgICB9XG5cbiAgICAucmliYm9uLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICBoZWlnaHQ6IDg4cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtM3B4O1xuICAgICAgbGVmdDogLTNweDtcblxuICAgICAgLnJpYmJvbiB7XG4gICAgICAgIGZvbnQ6IGJvbGQgMTNweCBzYW5zLXNlcmlmO1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogN3B4IDA7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg1YzcyODtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9IiwibmF2Lm5hdmJhciB7XG4gICAgei1pbmRleDogMTAwMCAgIWltcG9ydGFudDtcblxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29tcGxpbWVudCwyMCUpICFpbXBvcnRhbnQ7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuXG4gIC5tb2JpbGVuYXYge1xuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLm5hdmJhci10b2dnbGVyIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeSwyMCUpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgfVxuXG4gIC50b3BsZXZlbCA+IGE6aG92ZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgYSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6IGRhcmtlbigkd2hpdGUsNSUpO1xuICAgIHBhZGRpbmc6IDExcHggMjBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG5cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oJG9yYW5nZSwgMTAlKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oJG9yYW5nZSwgMTAlKTtcblxuICAgIH1cbiAgfVxuXG5cbn1cblxuLnN1Ym5hdiB7XG5cbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBpe2ZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbn1cbiIsIi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDJyZW07XG59XG4ub2ZmY2FudmFzLWZvb3RlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xufVxuOm5vdCgudG9hc3QtaGVhZGVyKTpub3QoLmFsZXJ0KT4uYnRuLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgICB0b3A6IDEuNXJlbTtcbiAgICB6LWluZGV4OiAxMDMwO1xufVxuI21vZGFsU2hvcHBpbmdDYXJ0Q29udGVudCB7XG5cblxufVxuXG4ub2ZmY2FudmFzIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG5cblxuICB9XG4gIC5vZmZjYW52YXMtYm9keSB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgfVxuICAub2ZmY2FudmFzLWZvb3RlciB7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMS41cmVtIDJyZW07XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9IiwiLnN0cmFwdGl0ZXRhYmxlLWFsdCB7XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgLy8gcGFkZGluZzogMC4ycmVtIDAuMnJlbTtcclxuICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTsgLyogVGhpcyBzZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yICovXHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDsgIC8qIEFkanVzdHMgdGhlIHRvcC1sZWZ0IGNvcm5lciByYWRpdXMgKi9cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDsgLyogQWRqdXN0cyB0aGUgdG9wLXJpZ2h0IGNvcm5lciByYWRpdXMgKi9cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0cjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHRkLHRoIHsgYm9yZGVyLWJvdHRvbTogbm9uZTt9XHJcbiAgICAgICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCwgdGg6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7IC8qIFJvdW5kcyB0aGUgYm90dG9tLWxlZnQgY29ybmVyICovXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZDpsYXN0LWNoaWxkLCB0aDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDsgLyogUm91bmRzIHRoZSBib3R0b20tcmlnaHQgY29ybmVyICovXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbSAwLjJyZW07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MzBweCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzMHB4KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtIDAuMnJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIjdm1DYXJ0TW9kdWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc2hvcHBpbmctY2FydCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwcyBlYXNlO1xuICAgICAgdG9wOiAtOTk5OTlweDtcbiAgICAgIHJpZ2h0OiAtMTUwcHg7XG4gICAgLy8gICB0b3A6IDQwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgei1pbmRleDogMTAwMTtcbiAgICB9XG4gIH1cblxuICAvLyN2bUNhcnRNb2R1bGUge3Bvc2l0aW9uOiByZWxhdGl2ZTsgIC5zaG9wcGluZy1jYXJ0IHsgdHJhbnNpdGlvbjogYWxsIDBzIGVhc2U7IHRvcDogMzVweDsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgIH19XG4gICN2bUNhcnRNb2R1bGU6aG92ZXIge1xuICAgIC5zaG9wcGluZy1jYXJ0IHtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgfVxuICB9XG5cbiAgI3ZtQ2FydE1vZHVsZSB7XG4gICAgLnRleHRsaW5lIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1pbmljYXJ0Y29sIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcGFkZGluZy10b3A6IDMwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTMwMHB4O1xuICAgIH1cbiAgICAuY2FyZCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5taW5pY2FydGNvbCB7XG4gIH1cblxuICAuc2hvcHBpbmctY2FydCB7XG4gICAgLnNob3BwaW5nLWNhcnQtaW5uZXIge1xuICAgIH1cblxuICAgIC5jdXN0b21Qcm9kdWN0RGF0YSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdyYWRpZW50KCRjcmVhbSk7XG4gICAgZm9udC1zaXplOiA4MCU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgfVxuXG4gICAgYS5idG4ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAuc2hvcHBpbmctY2FydC10b3RhbCB7XG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMHB4IDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgd2lkdGg6IDQ3MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICB3aWR0aDogMzEwcHg7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAzOHB4O1xuICAgIHotaW5kZXg6IDE1O1xuICAgIEBpbmNsdWRlIHNoYWRvdygzcHgpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJG9mZmJsYWNrO1xuXG4gICAgLnNob3BwaW5nLWNhcnQtaGVhZGVyIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZThlOGU4O1xuXG4gICAgICAuc2hvcHBpbmctY2FydC10b3RhbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvcHBpbmctY2FydC1pdGVtcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgIH1cblxuICAgICAgLml0ZW0tbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAuaXRlbS1wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgfVxuXG4gICAgICAuaXRlbS1xdWFudGl0eSB7XG4gICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNob3BwaW5nLWNhcnQ6YWZ0ZXIge1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1NSU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRvcmFuZ2U7XG5cbiAgICBib3JkZXItd2lkdGg6IDhweDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gIH1cbiIsIi5jaGlsZGNhdHN3cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMGYxICFpbXBvcnRhbnQ7XG4gICAgJGNhdHRleHQ6ICM0MTQ3NmY7XG4gICAgY29sb3I6ICRjYXR0ZXh0O1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJGNhdHRleHQ7XG4gICAgfVxuICAgIGgxLFxuICAgIGgzIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY2F0dGV4dCwgMCUpO1xuICAgIH1cbiAgICAuaDF3cmFwIHtcbiAgICB9XG4gICAgLmZlYXR1cmUge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2hpbGRjYXRzX2ljb252aWV3IHtcblxuICAgIGgxe1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtIDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnN0cmV0Y2hlZC1saW5rIHtAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbSA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgfX1cblxuICAgIC5kZXNjcmlwdGlvbiB7IGNvbHVtbnM6IDM7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICAgICAgICBjb2x1bW5zOiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgcHsgbWFyZ2luLWJvdHRvbTogNXB4O31mb250LXNpemU6IDAuOHJlbTsgY29sb3I6ICRjb21wbGltZW50OyBheyBjb2xvcjogJHNlY29uZGFyeTsgZm9udC13ZWlnaHQ6IGJvbGQ7fX1cblxuXG4gICAgICAgIC8qIEFkZCBjdXN0b20gQ1NTIGZvciB0aGUgaG92ZXIgZWZmZWN0ICovXG4gIC5ob3Zlci1kaXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmhvdmVyLWRpdjo6YmVmb3JlLCAuaG92ZXItZGl2OjphZnRlciwgLmlubmVyOjpiZWZvcmUsIC5pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICB9XG5cbiAgLmhvdmVyLWRpdjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGhpZ2hsaWdodDsgLyogQWRqdXN0IGNvbG9yIGFuZCBzaXplIGFzIG5lZWRlZCAqL1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGhpZ2hsaWdodDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjBweDsgLyogQWRqdXN0IHRoZSBzaXplIGFzIG5lZWRlZCAqL1xuICAgIGhlaWdodDogMjBweDtcbiAgfVxuXG4gIC5ob3Zlci1kaXY6OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGhpZ2hsaWdodDsgLyogQWRqdXN0IGNvbG9yIGFuZCBzaXplIGFzIG5lZWRlZCAqL1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRoaWdobGlnaHQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAyMHB4OyAvKiBBZGp1c3QgdGhlIHNpemUgYXMgbmVlZGVkICovXG4gICAgaGVpZ2h0OiAyMHB4O1xuICB9XG4gIC5pbm5lcjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGhpZ2hsaWdodDsgLyogQWRqdXN0IGNvbG9yIGFuZCBzaXplIGFzIG5lZWRlZCAqL1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRoaWdobGlnaHQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAyMHB4OyAvKiBBZGp1c3QgdGhlIHNpemUgYXMgbmVlZGVkICovXG4gICAgaGVpZ2h0OiAyMHB4O1xuICB9XG4gIC5pbm5lcjo6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaGlnaGxpZ2h0OyAvKiBBZGp1c3QgY29sb3IgYW5kIHNpemUgYXMgbmVlZGVkICovXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkaGlnaGxpZ2h0O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyMHB4OyAvKiBBZGp1c3QgdGhlIHNpemUgYXMgbmVlZGVkICovXG4gICAgaGVpZ2h0OiAyMHB4O1xuICB9XG5cbiAgLmhvdmVyLWRpdjpob3Zlcjo6YmVmb3JlLCAuaG92ZXItZGl2OmhvdmVyOjphZnRlciwgLmhvdmVyLWRpdjpob3ZlciAuaW5uZXI6OmJlZm9yZSwgLmhvdmVyLWRpdjpob3ZlciAuaW5uZXI6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmhvdmVyLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgb3BhY2l0eTogMDtcblxuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIH1cblxuICAuaG92ZXItZGl2OmhvdmVyIC5ob3Zlci1jb250ZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cblxuXG5cblxufVxuLmNhdGVnb3J5LXZpZXcsXG4jc2VhcmNocmVzdWx0cyB7XG4gICAgLmNoaWxkY2F0c3dyYXBwZXIge1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAvKmJvcmRlcjogMXB4ICRjcmVhbSBzb2xpZDsgLnJhZGl1czsgYmFja2dyb3VuZC1jb2xvcjogZmFkZW91dCgkY3JlYW0sMzAlKTsqL1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMzAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgIH1cblxuICAgIC5jYXRlZ29yeV9kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvLyAucmVhZE1vcmVUZXh0IHtjb2xvcjogbGlnaHRlbigkb2ZmYmxhY2ssMTUlKTsgcHsgbWFyZ2luOiAwcHg7fX1cbiAgICAuZmlsdGVyYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoKTtcbiAgICB9XG5cbiAgICAubWV0YWRlc2MsXG4gICAgLnJlYWRNb3JlVGV4dCxcbiAgICAuY2F0ZWdvcnlfZGVzY3JpcHRpb24ge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcblxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icm93c2UtdmlldyxcbiAgICAjdm0yLXNlYXJjaCB7XG4gICAgICAgIC5wcm9kdWN0cy1yb3c6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAuYm9yZGVyLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdCB7XG4gICAgICAgICAgICBpbWcuYnJvd3NlUHJvZHVjdEltYWdlIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2R1Y3QtY29udGFpbmVyIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYigxNDMsIDE0MywgMTQzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDM7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogIzEzMTMxMyBzb2xpZCAxcHggIWltcG9ydGFudCA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGlnaGxpZ2h0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRoaWdobGlnaHQsIDQ1JSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBsaWdodGVuKCRoaWdobGlnaHQsIDAlKSAxcHggc29saWQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgaW1nLmJyb3dzZVByb2R1Y3RJbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdygpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByYWRpdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yaWJib24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yaWJib24gc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRoaWdobGlnaHQsIDAlKTtcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQobGlnaHRlbigkaGlnaGxpZ2h0LCA0MCUpIDAlLCBsaWdodGVuKCRoaWdobGlnaHQsIDEwJSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgLy8gYm94LXNoYWRvdzogMCAzcHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMjhweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMzJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJpYmJvbiBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNTU1NTU1O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzU1NTU1NTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJpYmJvbiBzcGFuOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAjNTU1NTU1O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzU1NTU1NTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ib3R0b21yb3cge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMixcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5QcmljZXByaWNlV2l0aG91dFRheFR0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLlByaWNlc2FsZXNQcmljZVR0IHtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlc21hbGwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRvZmZibGFjaywgMzAlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hbHQxIHtcblxuICAgICAgICAgICAgdWx7XG4gICAgICAgICAgICAgICAgbGl7IGZvbnQtc2l6ZTogMC44cmVtICFpbXBvcnRhbnQ7fVxuICAgICAgICAgICAgfVxuXG5cblxuXG4gICAgICAgIH1cbiAgICB9XG59XG4uY2F0aGVhZGVyYm94IHsgYXsgY29sb3I6IGxpZ2h0ZW4oJGhpZ2hsaWdodCwyMCUpOyBmb250LXdlaWdodDogNjAwOyAmOmhvdmVyeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9fX1cblxuLlZNbWVudUNhdG1lbnUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnksIDAuNyk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6bWFya2VyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxGMjg1XCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGJvb3RzdHJhcC1pY29ucztcbiAgICAgICAgfVxuICAgICAgICAmLlZtT3BlbiB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Om1hcmtlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXEYyODVcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICAmOjptYXJrZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGJvb3RzdHJhcC1pY29ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2F0Ym90dG9tLXN0cmlwZSxcbiNwcm9kdWN0c3RyaXBlLnByb2R1Y3RzdHJpcGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmVhbSAhaW1wb3J0YW50O1xuXG4gICAgLmdyaWQge1xuICAgICAgICAuaW1nd3JhcCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmltZ2xpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTM1MzU5NztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDBweDtcblxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzZS1pbjtcblxuICAgICAgICAgICAgICAgIHAuc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2UtaW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIgcC5zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzOTIwMDY1NjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciBoMiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOXZ3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgICAgIHBhZGRpbmc6IDBweCAxMDBweDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAwcHggMHB4O1xuICAgIH1cblxuICAgIC5zdHJpcGVzIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XG5cbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2F0bGFuZGluZ3dyYXBwZXIge1xuICAgIHNlY3Rpb24uanVtYm90cm9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi5maWx0ZXJzIHtcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9XG5cbiAgICAuc3BlYyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgYnV0dG9uLnctMTAwIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLCAyMCUpO1xuXG4gICAgICAgIGIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjBjOFwiO1xuICAgICAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5idG4tZGVmYXVsdCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGFpbmVyLmJyb3dzZWhlYWRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuXG4gICAgLnNtYWxsZGVzYyB7XG4gICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIHRleHRzaGFkb3coKTtcbiAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgICBmb250LXdlaWdodDogMTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogNTRweDtcbiAgICAgICAgQGluY2x1ZGUgdGV4dHNoYWRvdygpO1xuICAgIH1cbn1cblxuLmNhdGxhbmRpbmcge1xuICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiI3ZtTWFpblBhZ2VPUEMge1xuXG5cbiAgICAub3BjX2Vycm9ycyB7XG4gICAgICAgIGJvcmRlcjogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcblxuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tvdXRfc3RlcF8yIC5mb3JtLWdyb3VwLnJhZGlvOmhhcygjaG9tZV9idXNpbmVzc19pbnB1dCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm11bHRpc3RlcHdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLm9wY19uYXZpZ2F0aW9uIHtcbiAgICAgICAgbGkge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wY19jaXJjbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjhlbTtcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAwLjhlbTtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwLjhlbTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEuNmVtO1xuICAgIH1cbiAgICAucHJvZ3Jlc3NiYXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IHN0ZXA7XG4gICAgfVxuXG4gICAgLnByb2dyZXNzYmFyIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjUpO1xuICAgIH1cblxuICAgIC5wcm9ncmVzc2JhciBsaTpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKHN0ZXApO1xuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogc3RlcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3ZDdkN2Q7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHggYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3NiYXIgbGk6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdkN2Q3ZDtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3NiYXIgbGk6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIC5wcm9ncmVzc2JhciBsaS5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAtMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9ncmVzc2JhciBsaS5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3NiYXIgbGkuYWN0aXZlICsgbGk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAucmFkaW8gJjpub3QoI2hvbWVfYnVzaW5lc3NfaW5wdXQpIHtcbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBQcm9cIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICBjb2xvcjogJGNyZWFtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHg7XG4gICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3BfdXNlcmZpZWxkcyBkaXYuZmllbGRfd3JhcC5yYWRpbyB7XG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgXzotbXMtZnVsbHNjcmVlbixcbiAgICAgICAgOnJvb3QgLkNMQVNTX05BTUUge1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm1GaWVsZCBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm1GaWVsZCBsYWJlbDpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzZW07XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCA+IHNwYW46YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxZGJcIjtcbiAgICAgICAgICAgIGNvbG9yOiAjNTM1MzUzO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjRlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCA+IHNwYW46YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLypvayBzaW5nOiBjb250ZW50OiBcIlxcZjA1ZFwiOyovXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjE0YVwiO1xuICAgICAgICAgICAgLypsZXR0ZXItc3BhY2luZzogNXB4OyovXG5cbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjRlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMGVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3BheW1lbnRfaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuXG4gICAgI3BheW1lbnRfaW5mbzplbXB0eSB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICB9XG5cbiAgICAuYWpheHN0YXR1c3dyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRncmVlbiwgNDAlKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoKTtcbiAgICB9XG5cbiAgICAudm1DYXJ0UGF5bWVudExvZ28gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmVzdGltYXRvcl93cmFwIHtcbiAgICAgICAgZm9udC1zaXplOiA4MCUgIWltcG9ydGFudDtcblxuICAgICAgICAuc2hpcGxvZ297IHdpZHRoOiA1MHB4OyB9XG4gICAgICAgIC8vIC5kZXNjY29sIHt3aWR0aDogMTAwcHggICFpbXBvcnRhbnQ7fVxuICAgICAgICAuaW1nLXdyYXAge3BhZGRpbmc6IDBweCAhaW1wb3J0YW50O31cblxuICAgICAgICAudm1zaGlwbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnZtc2hpcG1lbnRfbmFtZSxcbiAgICAgICAgaW5wdXQsXG4gICAgICAgIGJyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAudm1zaGlwbWVudF9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAtbXMtZmxleDogMCAwIDc1JTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcGNfc2hpcF93cmFwIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qc2hpcG1lbnQgYW5kIHBheW1lbnQgcmFkaW9zKi9cblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC8vIFN0cmlwZSBtb3VudHMgaXRzIHNlY3VyZSBpZnJhbWUgaW5zaWRlIHRoZXNlIGNvbnRhaW5lcnMuIEtlZXAgaXRzIHdyYXBwZXJcbiAgICAvLyBhdCBmdWxsIHdpZHRoLCB0aGVuIGFkZCB0aGUgc2FtZSB2aXN1YWwgYWZmb3JkYW5jZXMgdXNlZCBvbiBOZXh0ZGF5Q29mZmVlLlxuICAgIC5jYXJkSW5wdXQuU3RyaXBlRWxlbWVudCA+IC5fX1ByaXZhdGVTdHJpcGVFbGVtZW50LFxuICAgIC5jYXJkSW5wdXQuU3RyaXBlRWxlbWVudCBpZnJhbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXJkTnVtYmVyIC5fX1ByaXZhdGVTdHJpcGVFbGVtZW50OjphZnRlcixcbiAgICBbaWRePVwiY2FyZEN2Y19cIl0gLl9fUHJpdmF0ZVN0cmlwZUVsZW1lbnQ6OmFmdGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuY2FyZE51bWJlciAuX19Qcml2YXRlU3RyaXBlRWxlbWVudDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjAyM1wiO1xuICAgIH1cblxuICAgIFtpZF49XCJjYXJkQ3ZjX1wiXSAuX19Qcml2YXRlU3RyaXBlRWxlbWVudDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5ZFwiO1xuICAgIH1cblxuICAgICNwYXltZW50X2lkXzAsXG4gICAgbGFiZWxbZm9yPVwicGF5bWVudF9pZF8wXCJdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAub3BjX3BheW1lbnRfd3JhcF80LFxuICAgIC5vcGNfcGF5bWVudF93cmFwXzEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaHItdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJG9mZmJsYWNrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIC8vIHVzZSB0aGUgbGluZWFyLWdyYWRpZW50IGZvciB0aGUgZmFkaW5nIGVmZmVjdFxuICAgICAgICAgICAgLy8gdXNlIGEgc29saWQgYmFja2dyb3VuZCBjb2xvciBmb3IgYSBzb2xpZCBiYXJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsICM4MTgwNzgsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb250ZW50KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcblxuICAgICAgICAgICAgcGFkZGluZzogMCAwLjVlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIC8vIHRoaXMgaXMgcmVhbGx5IHRoZSBvbmx5IHRyaWNreSBwYXJ0LCB5b3UgbmVlZCB0byBzcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjb250YWluZXIgZWxlbWVudC4uLlxuICAgICAgICAgICAgY29sb3I6ICM4MTgwNzg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKi5vcGNfcGF5bWVudF93cmFwIHsgYm9yZGVyLWJvdHRvbTogbGlnaHRlbigkb2ZmYmxhY2ssNjUlKSAxcHggc29saWQ7IH1cbiAgICAgIC5wYXltZW50X2lubmVyX2h0bWwgLm9wY19wYXltZW50X3dyYXA6bGFzdC1vZi10eXBlIHtib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQxLDAsMjUzLDEuMDApfVxuICAgICAgLnBheW1lbnRfaW5uZXJfaHRtbCB7Ym9yZGVyOiBsaWdodGVuKCRvZmZibGFjayw2NSUpIDFweCBzb2xpZDsgQGluY2x1ZGUgcmFkaXVzKCl9Ki9cbiAgICAuc3RhZGRyZXNzd3JhcHBlciB7XG4gICAgICAgIC8qcGFkZGluZzogMTBweDsgYm9yZGVyOiBsaWdodGVuKCRvZmZibGFjayw3MCUpIDFweCBzb2xpZDsgZm9udC1zaXplOiA5MCUqL1xuICAgIH1cblxuICAgIC5vcGNfcGF5bWVudF93cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc3RhZGRyZXNzd3JhcHBlciB7XG4gICAgICAgIGRpdltpZF49XCJvcGNfc3RfXCJdIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3RfYWRkcmVzc193cmFwIHtcbiAgICAgICAgW2lkXj1cIm9wY19zdF9cIl0ge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdF9hZGRyZXNzX3dyYXAge1xuICAgICAgICBmb250LXNpemU6IDkwJTtcblxuICAgICAgICAuZm9ybS1jaGVjay1sYWJlbHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZ3JlZW4sIDQ1JSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4uZm9ybS1sYWJlbCB7Zm9udC1zaXplOiAwLjlyZW07fVxuXG4gICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgZm9udC1zaXplOiBtYXgoMC44NzVyZW0sIDE2cHgpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZvcm0tZmxvYXRpbmcge1xuICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjcpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBtYXgoMC44NzVyZW0sIDE2cHgpO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDAuNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuZm9ybS1jb250cm9sLFxuICAgICAgICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMi42cmVtICsgKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDIuNnJlbSArICh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikpO1xuICAgICAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkb2ZmYmxhY2ssIDAuMTgpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC43cmVtO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjY1cmVtIDAuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgICAgICAgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICAgICAgICA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS4xMjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuZm9ybS1zZWxlY3Qge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuMTI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICAgICAgICA+IC5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkb2ZmYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBLZWVwIEJvb3RzdHJhcCdzIHN1Y2Nlc3Mgc3RhdGUgdmlzaWJsZSBhZ2FpbnN0IHRoZSBjaGVja291dCdzXG4gICAgICAgIC8vIGN1c3RvbSBmbG9hdGluZy1jb250cm9sIGJvcmRlciBydWxlcy5cbiAgICAgICAgPiAuZm9ybS1jb250cm9sLmlzLXZhbGlkLFxuICAgICAgICA+IC5mb3JtLXNlbGVjdC5pcy12YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbjtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cyxcbiAgICAgICAgPiAuZm9ybS1zZWxlY3QuaXMtdmFsaWQ6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGdyZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuZm9ybS1jb250cm9sOmZvY3VzIH4gbGFiZWwsXG4gICAgICAgID4gLmZvcm0tc2VsZWN0OmZvY3VzIH4gbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuZm9ybS1jb250cm9sOmZvY3VzIH4gbGFiZWwsXG4gICAgICAgID4gLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB+IGxhYmVsLFxuICAgICAgICA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB+IGxhYmVsLFxuICAgICAgICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IH4gbGFiZWwsXG4gICAgICAgID4gLmZvcm0tc2VsZWN0IH4gbGFiZWwge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgtMC40cmVtKSB0cmFuc2xhdGVYKDAuMXJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1iLTIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBLZWVwIG1vYmlsZSBjb250cm9scyBhdCAxNnB4IHRvIHByZXZlbnQgYXV0b21hdGljIGJyb3dzZXIgem9vbSwgd2hpbGVcbiAgICAvLyB1c2luZyB0aGUgcmVxdWVzdGVkIDE0cHggdHlwZSBzaXplIG9uIHRhYmxldC9kZXNrdG9wIGNoZWNrb3V0IGxheW91dHMuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5mb3JtLWZsb2F0aW5nIHtcbiAgICAgICAgICAgID4gbGFiZWwsXG4gICAgICAgICAgICA+IC5mb3JtLWNvbnRyb2wsXG4gICAgICAgICAgICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmZvcm0tY29udHJvbDpmb2N1cyB+IGxhYmVsLFxuICAgICAgICAgICAgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIH4gbGFiZWwsXG4gICAgICAgICAgICA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB+IGxhYmVsLFxuICAgICAgICAgICAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB+IGxhYmVsLFxuICAgICAgICAgICAgPiAuZm9ybS1zZWxlY3QgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKC0wLjRyZW0pIHRyYW5zbGF0ZVgoMC4xcmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuLmNhcmRJbnB1dE1vbGxpZSB7bWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50OyBAZXh0ZW5kIC5yb3VuZGVkO31cblxuICAgIC8vIE9QQyB0ZW1wb3JhcmlseSByZXBsYWNlcyB0aGUgcGF5bWVudCBzZWN0aW9uIHdoaWxlIE1vbGxpZSBpbml0aWFsaXNlcy5cbiAgICAvLyBSZXBsYWNlIGl0cyBsZWdhY3kgYmx1ZSByZWZyZXNoIGltYWdlIHdpdGggYSBjYWxtLCBicmFuZGVkIHN0YXR1cyByb3cuXG4gICAgI3BheW1lbnRfaHRtbDpoYXMoLnBheW1lbnRfbG9hZGVyX21zZykge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiA1LjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyZWVuLCAwLjA1NSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGdyZWVuLCAwLjE4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC43cmVtO1xuICAgIH1cblxuICAgICNwYXltZW50X2h0bWwgLm9wY19sb2FkZXJfaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNwYXltZW50X2h0bWwgLnBheW1lbnRfbG9hZGVyX21zZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNjVyZW07XG4gICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEuMTVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMTVyZW07XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKCRncmVlbiwgMC4yNSk7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBuZGNjLXBheW1lbnQtbG9hZGVyLXNwaW4gNzAwbXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgI3BheW1lbnRfaHRtbCAucGF5bWVudF9sb2FkZXJfbXNnOjpiZWZvcmUge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBuZGNjLXBheW1lbnQtbG9hZGVyLXNwaW4ge1xuICAgICAgICB0byB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2FqYXhzaGlwcGluZyAub3BjX3NoaXBfd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogdHJhbnNwYXJlbnQgMHB4IHNvbGlkO1xuXG4gICAgICAgIC8vICYuc2VsZWN0ZWQgICAgIHtcbiAgICAgICAgLy8gICAgIC8vIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLCA3NSUpO1xuICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZ3JlZW4sIDQ1JSkgIWltcG9ydGFudDtcbiAgICAgICAgLy8gICAgIC8vIGJvcmRlcjogJGdyZWVuIDFweCBzb2xpZDtcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIHJhZGl1cygpO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vICY6aG92ZXIge1xuICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkb2ZmYmxhY2ssIDc2JSk7XG4gICAgICAgIC8vICAgICAvLyBib3JkZXI6IGxpZ2h0ZW4oJG9mZmJsYWNrLCA1MCUpIDFweCBzb2xpZDtcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIHJhZGl1cygpO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgLnNlbGVjdF9hZGRyZXNzX3dyYXAgLmFjY29yZGlvbi1pdGVtLFxuICAgICNwYXltZW50X2h0bWwgIC5hY2NvcmRpb24taXRlbSAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAjYWpheHNoaXBwaW5nIC5vcGNfc2hpcF93cmFwIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAjdm1NYWluUGFnZU9QQyAuYWNjb3JkaW9uLWl0ZW0gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5vcGNfcGF5bWVudF93cmFwIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAuc2VsZWN0X2FkZHJlc3Nfd3JhcCAuZm9ybS1jaGVjayBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgLnNlbGVjdF9hZGRyZXNzX3dyYXAgLmFjY29yZGlvbi1pdGVtIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIHdpZHRoOiAwZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vIGxlZnQ6IDtcbiAgICB9XG5cbiAgICAjYWpheHNoaXBwaW5nIC5vcGNfc2hpcF93cmFwIGxhYmVsLFxuICAgICN2bU1haW5QYWdlT1BDIC5hY2NvcmRpb24taXRlbSBsYWJlbFxuICAgICB7XG4gICAgICAgIC8qZGlzcGxheSAgICAgIDogaW5saW5lLWJsb2NrOyovXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgLy8gbGluZS1oZWlnaHQ6IDIuNWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAuZXN0aW1hdG9yX3dyYXAge1xuXG4gICAgICAgIC5zaGlwcGluZ2FkZG1zZyB7IGRpc3BsYXk6IG5vbmU7fVxuICAgIH1cblxuICAgICNhamF4c2hpcHBpbmcgLm9wY19zaGlwX3dyYXAgbGFiZWw6bm90KDpmaXJzdC1vZi10eXBlKSxcbiAgICAjdm1NYWluUGFnZU9QQyAuYWNjb3JkaW9uLWl0ZW0gbGFiZWw6bm90KDpmaXJzdC1vZi10eXBlKSxcbiAgICAub3BjX3BheW1lbnRfd3JhcCBsYWJlbDpub3QoOmZpcnN0LW9mLXR5cGUpLFxuICAgIC5zZWxlY3RfYWRkcmVzc193cmFwIC5mb3JtLWNoZWNrIGxhYmVsOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogM2VtO1xuICAgIH1cblxuICAgICNhamF4c2hpcHBpbmcgLm9wY19zaGlwX3dyYXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwgPiBzcGFuOmJlZm9yZSxcbiAgICAjYWpheHNoaXBwaW5nIC5vcGNfc2hpcF93cmFwIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIC5pbnB1dGZha2U6YmVmb3JlLFxuICAgICN2bU1haW5QYWdlT1BDIC5hY2NvcmRpb24taXRlbSBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCA+IHNwYW46YmVmb3JlLFxuICAgIC5vcGNfcGF5bWVudF93cmFwIHNwYW4uaW5wdXRmYWtlOmJlZm9yZSxcbiAgICAuc2VsZWN0X2FkZHJlc3Nfd3JhcCAuZm9ybS1jaGVjayBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCA+IHNwYW46YmVmb3JlLFxuICAgIC5zZWxlY3RfYWRkcmVzc193cmFwIC5hY2NvcmRpb24taXRlbSBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyAuaW5wdXRmYWtlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvb3RzdHJhcC1pY29uc1wiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMjhhXCI7XG4gICAgICAgIGNvbG9yOiAjNTM1MzUzO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICB3aWR0aDogMS4yZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwZW07XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5zZWxlY3RfYWRkcmVzc193cmFwIC5mb3JtLWNoZWNrIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsID4gc3BhbjpiZWZvcmUge1xuICAgICAgICB0b3A6IC0wLjJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNhamF4c2hpcHBpbmcgLm9wY19zaGlwX3dyYXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCA+IHNwYW46YmVmb3JlLFxuICAgICNhamF4c2hpcHBpbmcgLm9wY19zaGlwX3dyYXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuaW5wdXRmYWtlOmJlZm9yZSxcbiAgICAjdm1NYWluUGFnZU9QQyAuYWNjb3JkaW9uLWl0ZW0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCA+IHNwYW46YmVmb3JlLFxuICAgIC5vcGNfcGF5bWVudF93cmFwLnNlbGVjdGVkIHNwYW4uaW5wdXRmYWtlOmJlZm9yZSxcbiAgICAuc2VsZWN0X2FkZHJlc3Nfd3JhcCAuZm9ybS1jaGVjayBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsID4gc3BhbjpiZWZvcmUsXG4gICAgLnNlbGVjdF9hZGRyZXNzX3dyYXAgLmFjY29yZGlvbi1pdGVtIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmlucHV0ZmFrZTpiZWZvcmVcbiAgICB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvb3RzdHJhcC1pY29uc1wiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMjZhXCI7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIHdpZHRoOiAxLjJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDBlbTtcbiAgICB9XG5cblxuXG4gICAgLypzaGlwbWduZXQgYW5kIHBheW1ldG4gcmFkaW9zIGVuZCovXG5cbiAgICAvKmNoY2tlYm94ZXMgYm90dG9tKi9cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uYm90dG9tX2ZpZWxkIHtcbiAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgbGFiZWwuYm90dG9tX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIGxhYmVsLmJvdHRvbV9sYWJlbDpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNlbTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uYm90dG9tX2ZpZWxkICsgbGFiZWwgPiBzcGFuOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICB3aWR0aDogMS40ZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwLjFlbTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uYm90dG9tX2ZpZWxkOmNoZWNrZWQgKyBsYWJlbCA+IHNwYW46YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLypvayBzaW5nOiBjb250ZW50OiBcIlxcZjA1ZFwiOyovXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG4gICAgICAgIC8qbGV0dGVyLXNwYWNpbmc6IDVweDsqL1xuXG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICB3aWR0aDogMS40ZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwLjFlbTtcbiAgICB9XG59XG5cbiNzdWJ0b3RhbF9ib3gge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG90YWxhbV93cmFwIHtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbiN0dF90b3RhbF9kaXYge1xuICAgIGZvbnQtc2l6ZTogMjUwJTtcbiAgICBjb2xvcjogJGdyZWVuO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbiNlZGl0X2FkZHJlc3NfbGlzdF9zdF9zZWN0aW9uIGxhYmVsIHtcbn1cblxuI2FqYXhzaGlwcGluZyB7XG4gICAgc3Bhbi52bXNoaXBtZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBzcGFuLnZtc2hpcG1lbnRfbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuc3Bhbi52bXNoaXBtZW50IHtcbiAgICAudm1zaGlwbWVudF9kZXNjcmlwdGlvbiB7XG4gICAgfVxufVxuXG4jcmVnaXN0ZXJfY29udGFpbmVyIHtcbiAgICBpbnB1dCB7XG4gICAgfVxufVxuXG4uYWRkcmVzc2ZpbmRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBmYWRyZ2JhZW91dCgkb3JhbmdlLCAwLjEpO1xufVxuXG4uYWRkcmVzc2ZpbmRlci5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuI2RlbGl2ZXJ5LW91dHB1dCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNkZWxpdmVyeS1vdXRwdXQuY29sIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jZGVsaXZlcnktb3V0cHV0LmNvbC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2hlY2tvdXQtZ3JleXdyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTAsIDI1MCwgMjUwKTtcbn1cblxuLy8gVGhlIHJvb3Qga2VlcHMgYSBzdGFibGUgc2Nyb2xsYmFyIGd1dHRlciB0byBwcmV2ZW50IG5hdmlnYXRpb24gQ0xTLiBPbiB0aGVcbi8vIGZ1bGwtd2lkdGggY2hlY2tvdXQsIG1pcnJvciB0aGF0IGd1dHRlciBzbyB0aGUgZXF1YWwgY29sdW1ucyBhbmQgdGhlaXJcbi8vIGRpdmlkZXIgcmVtYWluIGNlbnRyZWQgaW4gdGhlIHBoeXNpY2FsIHZpZXdwb3J0IGFzIHdlbGwgYXMgdGhlIGNvbnRlbnQgYm94LlxuaHRtbDpoYXMoLmNoZWNrb3V0LWdyZXl3cmFwKSB7XG4gICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlIGJvdGgtZWRnZXM7XG59XG5cbi5jaGVja291dGZvb3RlciB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRleHQtc207XG4gICAgY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLCAyMCUpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkb2ZmYmxhY2ssIDgwJSk7XG59XG5cbiN2bU1haW5QYWdlT1BDLFxuI2FkbWluRm9ybSxcbi5ncmV5d3JhcCB7XG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmJ0bi1vcmFuZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RfaW5mbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIH1cblxuICAgIC5jYXJkIC5jYXJkIHtcbiAgICAgICAgYm9yZGVyOiBsaWdodGVuKCRvZmZibGFjaywgNTAlKSAxcHggc29saWQ7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgfVxuXG4gICAgLmNhcl9mb3JtIC5jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgc2hhZG93KCk7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjcmVhbTtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKDApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY29uZGVuc2VkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAub3BfY29sMSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYmFza2V0d3JhcCB7XG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEuZGVsZXRlcHJvZHVjdCB7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2Q1MjkyYyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNoaXBwZXJ3cmFwIHtcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIHRleHQtc207XG5cbiAgICAgICAgICAgIGkuYmFuZDEsXG4gICAgICAgICAgICBzdmcuYmFuZDEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNzg3Nzc2ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkuYmFuZDIsXG4gICAgICAgICAgICBzdmcuYmFuZDIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNzRhMjJmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgY29sb3I6IGxpZ2h0ZW4oJG9mZmJsYWNrLCAxNSUpO1xuXG4gICAgLnF0eS5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMHB4IDJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC50b3RhbHJvdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIwJSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkb2ZmYmxhY2ssIDE1JSk7XG4gICAgfVxuXG4gICAgI3R0X29yZGVyX3N1YnRvdGFsX2Jhc2tldCxcbiAgICAjdHRfc2hpcHBpbmdfcmF0ZV9iYXNrZXQsXG4gICAgI3R0X3RvdGFsX2Jhc2tldCxcbiAgICAjdHRfdGF4X3RvdGFsXzBfYmFza2V0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAjdHRfdG90YWxfYmFza2V0IHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAvLyBBdCBtZWRpdW0gdmlld3BvcnQgd2lkdGhzIHRoZSBjaGVja291dCByZW1haW5zIHR3byBjb2x1bW5zLCBsZWF2aW5nIHRoZVxuICAgIC8vIGJhc2tldCBzdW1tYXJ5IG11Y2ggbmFycm93ZXIgdGhhbiBCb290c3RyYXAncyB2aWV3cG9ydC13aWRlIGBzbWAgZ3JpZFxuICAgIC8vIGFzc3VtZXMuIFN0YWNrIHRoZSBwcm9kdWN0IGZpcnN0LCB0aGVuIGtlZXAgaXRzIHByaWNlIGFuZCBjb250cm9scyBvbiBhXG4gICAgLy8gc2Vjb25kIHJvdyBzbyB0aGUgY29udHJvbHMgY2Fubm90IG92ZXJsYXAgdGhlIHByb2R1Y3QgdGl0bGUuXG4gICAgI2Jhc2tldF9jb250YWluZXIge1xuICAgICAgICAubmRjYy1iYXNrZXQtcHJvZHVjdCxcbiAgICAgICAgLm5kY2MtYmFza2V0LXByb2R1Y3QgPiAucm93LFxuICAgICAgICAubmRjYy1iYXNrZXQtcHJvZHVjdCAuY29sIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNTk5Ljk4cHgpIHtcbiAgICAgICAgICAgIC5uZGNjLWJhc2tldC1wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uZGNjLWJhc2tldC1wcmljZSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDMyJTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMyJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5kY2MtYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNjglO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjglO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3ZtTWFpblBhZ2VPUEMgLmNhcmQge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4jb3BjX3NoaXBfd3JhcF83NyAud2hvbGVzYWxlc2hpcHBpbmd3cmFwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbiNlc3RpbWF0b3Jfc2hpcHBpbmdfcmF0ZXNfY29tZV9oZXJlIC53aG9sZXNhbGVzaGlwcGluZ3dyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCB7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuLy8gICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xuLy8gfVxuXG4vLyAuZm9ybS1jaGVjay1pbnB1dDpmb2N1cyB7XG4vLyAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRncmVlbiwwLjIpO1xuLy8gICAgIG91dGxpbmU6IDA7XG4vLyAgICAgYm94LXNoYWRvdzogMCAwIDAgLjI1cmVtIHJnYmEoJGdyZWVuLDAuMik7XG4vLyB9XG5cbi8vIC5hY2NvcmRpb24tYnV0dG9uOm5vdCguY29sbGFwc2VkKSB7XG4vLyAgICAgY29sb3I6ICRvZmZibGFjaztcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmVlbiwwLjEpO1xuXG4vLyB9XG4jYWNjb3JkaW9uUGF5bWVudCxcbiNhY2NvcmRpb25TaGlwbWVudCxcbiNzaGlwcGluZ0FkZHJlc3NBY2NvcmRpb24ge1xuICAgIC0tYnMtYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogI3tyZ2JhKCRvZmZibGFjaywgMC4xOCl9O1xuICAgIC0tYnMtYWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6IDAuN3JlbTtcbiAgICAtLWJzLWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKDAuN3JlbSAtIHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItd2lkdGgpKTtcbiAgICAtLWJzLWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdzogbm9uZTtcbiAgICAtLWJzLWFjY29yZGlvbi1hY3RpdmUtY29sb3I6ICN7JG9mZmJsYWNrfTtcbiAgICAtLWJzLWFjY29yZGlvbi1hY3RpdmUtYmc6ICN7JHdoaXRlfTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWl0ZW06bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWl0ZW06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9QQyBhcHBlbmRzIGhpZGRlbiBmYWxsYmFjayBkaXZzIGFmdGVyIHRoZSBwYXltZW50IG1ldGhvZHMsIHNvIHRoZSBmaW5hbFxuICAgIC8vIHJlYWwgb3B0aW9uIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgbGFzdCBkaXYgb2YgaXRzIHR5cGUuXG4gICAgLmFjY29yZGlvbi1pdGVtOm5vdCg6aGFzKH4gLmFjY29yZGlvbi1pdGVtKSkge1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuXG4gICAgICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkLFxuICAgICAgICA+IC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLCBib3JkZXItcmFkaXVzIDAuMTVzIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC4wMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKCRncmVlbiwgMC4zNSk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjAzNSk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRvZmZibGFjaywgMC4xMik7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1ib2R5IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWl0ZW0uc2VsZWN0ZWQsXG4gICAgLmFjY29yZGlvbi1pdGVtOmhhcyhpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbiAhaW1wb3J0YW50O1xuXG4gICAgICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JlZW4sIDAuMDc1KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRncmVlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb24taXRlbS5zZWxlY3RlZDpub3QoOmZpcnN0LW9mLXR5cGUpLFxuICAgIC5hY2NvcmRpb24taXRlbTpoYXMoaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQpOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZWVuICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8vIC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcjogI3skYWNjb3JkaW9uLWNvbG9yfTtcbiAgICAvLyAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6ICN7JGFjY29yZGlvbi1iZ307XG4gICAgLy8gLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi10cmFuc2l0aW9ufTtcbiAgICAvLyAvLyAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAjMzU3MWFiO1xuICAgIC8vIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1ib3JkZXItd2lkdGh9O1xuICAgIC8vIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAjeyRhY2NvcmRpb24tYm9yZGVyLXJhZGl1c307XG4gICAgLy8gLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgICAvLyAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXh9O1xuICAgIC8vIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteX07XG4gICAgLy8gLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcn07XG4gICAgLy8gLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1iZ307XG4gICAgLy8gLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbil9O1xuICAgIC8vIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogI3skYWNjb3JkaW9uLWljb24td2lkdGh9O1xuICAgIC8vIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm06ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybX07XG4gICAgLy8gLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb259O1xuICAgIC8vIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbil9O1xuICAgIC8vIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdzogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgICAvLyAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteH07XG4gICAgLy8gLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXl9O1xuICAgIC8vIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3I6ICMzNTcxYWI7XG4gICAgLy8gLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZzogI2YxZjVmZTtcbn1cblxuLy8gTmV1dHJhbGlzZSBsZWdhY3kgT1BDIHNwYWNpbmcgd2l0aG91dCBjaGFuZ2luZyB0aGUgcGFkZGluZyBpbnNpZGUgZWFjaCBvcHRpb24uXG4jdm1NYWluUGFnZU9QQyAjYWpheHNoaXBwaW5nICNhY2NvcmRpb25TaGlwbWVudCxcbiN2bU1haW5QYWdlT1BDICNwYXltZW50X2h0bWwgI2FjY29yZGlvblBheW1lbnQsXG4jdm1NYWluUGFnZU9QQyAuc2VsZWN0X2FkZHJlc3Nfd3JhcCAjc2hpcHBpbmdBZGRyZXNzQWNjb3JkaW9uIHtcbiAgICA+IC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICA+IC5hY2NvcmRpb24taXRlbSA+IC5hY2NvcmRpb24taGVhZGVyID4gLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgPiAuYWNjb3JkaW9uLWl0ZW0gPiAuYWNjb3JkaW9uLWhlYWRlciA+IC5hY2NvcmRpb24tYnV0dG9uOm5vdCguY29sbGFwc2VkKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICA+IC5hY2NvcmRpb24taXRlbTpmaXJzdC1vZi10eXBlID4gLmFjY29yZGlvbi1oZWFkZXIgPiAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgPiAuYWNjb3JkaW9uLWl0ZW06bm90KDpoYXMofiAuYWNjb3JkaW9uLWl0ZW0pKSA+IC5hY2NvcmRpb24taGVhZGVyID4gLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIENsaXAgYSBzZWxlY3RlZCBmaW5hbCBwYXltZW50IGJ1dHRvbiB0byB0aGUgYWNjb3JkaW9uJ3Mgb3V0ZXIgYm90dG9tIHJhZGl1cy5cbi8vIFNvbWUgZ2F0ZXdheSByb3dzIHN0YXkgbG9naWNhbGx5IGV4cGFuZGVkIHdoaWxlIHRoZWlyIGJvZHkgaXMgaW50ZW50aW9uYWxseVxuLy8gaGlkZGVuLCBzbyB0aGUgYnV0dG9uIGl0c2VsZiBjYW5ub3QgcmVsaWFibHkgY2FycnkgdGhlIGxvd2VyIGNvcm5lciByYWRpdXMuXG4jdm1NYWluUGFnZU9QQyAjcGF5bWVudF9odG1sICNhY2NvcmRpb25QYXltZW50XG4gICAgPiAuYWNjb3JkaW9uLWl0ZW06bm90KDpoYXMofiAuYWNjb3JkaW9uLWl0ZW0pKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gS2VlcCBhZGRyZXNzLCBzaGlwcGluZyBhbmQgcGF5bWVudCBvcHRpb25zIG9uIG9uZSBjaGVja291dCB0eXBlIHNjYWxlLlxuI3ZtTWFpblBhZ2VPUEMgI3NoaXBfdG9fd3JhcHBlciAuYWNjb3JkaW9uLFxuI3ZtTWFpblBhZ2VPUEMgI2FqYXhzaGlwcGluZyAuYWNjb3JkaW9uLFxuI3ZtTWFpblBhZ2VPUEMgI3BheW1lbnRfaHRtbCAuYWNjb3JkaW9uLFxuI3ZtTWFpblBhZ2VPUEMgLnNlbGVjdF9hZGRyZXNzX3dyYXAgLmFjY29yZGlvbiB7XG4gICAgLS1uZGNjLWNoZWNrb3V0LWFjY29yZGlvbi1mb250LXNpemU6IDAuOHJlbTtcbiAgICAtLW5kY2MtY2hlY2tvdXQtYWNjb3JkaW9uLXBhZGRpbmcteDogMXJlbTtcbiAgICAtLW5kY2MtY2hlY2tvdXQtYWNjb3JkaW9uLXBhZGRpbmcteTogMC43NXJlbTtcbiAgICAtLWJzLWFjY29yZGlvbi1idG4tcGFkZGluZy14OiB2YXIoLS1uZGNjLWNoZWNrb3V0LWFjY29yZGlvbi1wYWRkaW5nLXgpO1xuICAgIC0tYnMtYWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6IHZhcigtLW5kY2MtY2hlY2tvdXQtYWNjb3JkaW9uLXBhZGRpbmcteSk7XG4gICAgLS1icy1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6IHZhcigtLW5kY2MtY2hlY2tvdXQtYWNjb3JkaW9uLXBhZGRpbmcteCk7XG4gICAgLS1icy1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6IHZhcigtLW5kY2MtY2hlY2tvdXQtYWNjb3JkaW9uLXBhZGRpbmcteSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1uZGNjLWNoZWNrb3V0LWFjY29yZGlvbi1mb250LXNpemUpO1xuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1uZGNjLWNoZWNrb3V0LWFjY29yZGlvbi1wYWRkaW5nLXkpIHZhcigtLW5kY2MtY2hlY2tvdXQtYWNjb3JkaW9uLXBhZGRpbmcteCkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1uZGNjLWNoZWNrb3V0LWFjY29yZGlvbi1mb250LXNpemUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gU29tZSBPUEMgc2VsZWN0aW9uIHJvd3MgY2FycnkgY29sbGFwc2UgYXR0cmlidXRlcyBidXQgaGF2ZSBubyBjb250ZW50LFxuICAgIC8vIHNvIHN1cHByZXNzIEJvb3RzdHJhcCdzIGRlZmF1bHQgaW5kaWNhdG9yIHVudGlsIGEgcmVhbCBib2R5IGlzIHByZXNlbnQuXG4gICAgLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIFNob3cgdGhlIGV4cGFuZCBzdGF0ZSBvbmx5IHdoZW4gYW4gb3B0aW9uIGhhcyBhIGdlbnVpbmUgYWNjb3JkaW9uIGJvZHkuXG4gICAgPiAuYWNjb3JkaW9uLWl0ZW06aGFzKD4gLmFjY29yZGlvbi1jb2xsYXBzZTpub3QoLmQtbm9uZSkgPiAuYWNjb3JkaW9uLWJvZHkpXG4gICAgICAgID4gLmFjY29yZGlvbi1oZWFkZXJcbiAgICAgICAgPiAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiAjNTM1MzUzO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgID4gLmFjY29yZGlvbi1pdGVtOmhhcyg+IC5hY2NvcmRpb24tY29sbGFwc2U6bm90KC5kLW5vbmUpID4gLmFjY29yZGlvbi1ib2R5KVxuICAgICAgICA+IC5hY2NvcmRpb24taGVhZGVyXG4gICAgICAgID4gLmFjY29yZGlvbi1idXR0b246bm90KC5jb2xsYXBzZWQpOjphZnRlcixcbiAgICA+IC5hY2NvcmRpb24taXRlbTpoYXMoPiAuYWNjb3JkaW9uLWNvbGxhcHNlOm5vdCguZC1ub25lKSA+IC5hY2NvcmRpb24tYm9keSlcbiAgICAgICAgPiAuYWNjb3JkaW9uLWhlYWRlclxuICAgICAgICA+IC5hY2NvcmRpb24tYnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG4gICAgfVxuXG4gICAgLy8gVXNlIG9uZSB2aXN1YWwgcmFkaW8gdHJlYXRtZW50IGZvciBEZWxpdmVyeSwgU2hpcHBpbmcgYW5kIFBheW1lbnQuXG4gICAgLy8gVGhlIG5hdGl2ZSBpbnB1dCByZW1haW5zIGluIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgYW5kIGtleWJvYXJkLWZvY3VzYWJsZS5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyAuaW5wdXRmYWtlOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxLjJlbTtcbiAgICAgICAgY29sb3I6ICM1MzUzNTM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvb3RzdHJhcC1pY29uc1wiO1xuICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29udGVudDogXCJcXGYyOGFcIjtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5pbnB1dGZha2U6OmJlZm9yZSxcbiAgICAuYWNjb3JkaW9uLWl0ZW0uc2VsZWN0ZWQgLmFjY29yZGlvbi1idXR0b24gLmlucHV0ZmFrZTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgY29udGVudDogXCJcXGYyNmFcIjtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMtdmlzaWJsZSArIC5pbnB1dGZha2U6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHJnYmEoJGdyZWVuLCAwLjM1KTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1uZGNjLWNoZWNrb3V0LWFjY29yZGlvbi1wYWRkaW5nLXkpIHZhcigtLW5kY2MtY2hlY2tvdXQtYWNjb3JkaW9uLXBhZGRpbmcteCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbmRjYy1jaGVja291dC1hY2NvcmRpb24tZm9udC1zaXplKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIERlbGl2ZXJ5IGFuZCBzaGlwbWVudCBvdmVycmlkZXMgY29udGFpbiBuZXN0ZWQgcC0yIGNvbHVtbnMuIFRoZWlyXG4gICAgLy8gaG9yaXpvbnRhbCBzcGFjaW5nIGlzIHVzZWZ1bCwgYnV0IHRoZWlyIHZlcnRpY2FsIHBhZGRpbmcgZHVwbGljYXRlZCB0aGVcbiAgICAvLyBhY2NvcmRpb24gYnV0dG9uIHBhZGRpbmcgYW5kIG1hZGUgdGhvc2Ugcm93cyBtdWNoIHRhbGxlciB0aGFuIHBheW1lbnQuXG4gICAgLmFjY29yZGlvbi1idXR0b24gLnAtMiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1idXR0b24gLmZzLTYge1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIFNpbXBsZSBuZXdzbGV0dGVyIGNvbnNlbnQgY2hlY2tib3guIEtlZXAgYWxsIGNoZWNrb3V0LXNwZWNpZmljIHN0eWxpbmcgaGVyZVxuLy8gcmF0aGVyIHRoYW4gcmVseWluZyBvbiB0aGUgb2xkZXIgZ2xvYmFsIHJhZGlvIHRyZWF0bWVudCBpbiBfZm9ybXMuc2Nzcy5cbiN2bU1haW5QYWdlT1BDIC5pc19tYXJrZXRpbmdfYWxsb3dlZC5mb3JtLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuXG4gICAgLmZvcm0tY2hlY2staW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgZmxleDogMCAwIDEuNHJlbTtcbiAgICAgICAgd2lkdGg6IDEuNHJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCAkZ3JlZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuODVyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgkZ3JlZW4sIDAuMzUpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJG9mZmJsYWNrO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBsZWdhY3kgRm9udCBBd2Vzb21lIHJhZGlvIGNpcmNsZXMgZnJvbSBfZm9ybXMuc2Nzcy5cbiAgICAuZm9ybS1jaGVjay1pbnB1dCArIC5mb3JtLWNoZWNrLWxhYmVsOjpiZWZvcmUsXG4gICAgLmZvcm0tY2hlY2staW5wdXQgKyAuZm9ybS1jaGVjay1sYWJlbDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBEZWxpdmVyeS1maXJzdCBjaGVja291dCBmbG93LiBUaGUgdmlzdWFsIGhpZXJhcmNoeSBmb2xsb3dzIHRoZSBjdXN0b21lcidzXG4vLyB0YXNrIG9yZGVyIHdoaWxlIHRoZSB1bmRlcmx5aW5nIGlucHV0cyByZXRhaW4gVmlydHVlTWFydCdzIEJUL1NUIG5hbWVzLlxuI3ZtTWFpblBhZ2VPUEMgLm5kY2MtY2hlY2tvdXQtc2VjdGlvbiB7XG4gICAgLS1uZGNjLWNoZWNrb3V0LXJ1bGU6ICN7cmdiYSgkb2ZmYmxhY2ssIDAuMTQpfTtcbiAgICAtLW5kY2MtY2hlY2tvdXQtc29mdDogI3tyZ2JhKCRvZmZibGFjaywgMC4wMzUpfTtcblxuICAgIC5uZGNjLXNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29tcGFjdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjg1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5kY2MtYWRkcmVzcy1wYW5lbFtoaWRkZW5dLFxuICAgIC5uZGNjLXNoaXB0by1maWVsZHNbaGlkZGVuXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiN2bU1haW5QYWdlT1BDIC5uZGNjLWNvbnRhY3Qtc3VtbWFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC44NXJlbTtcbiAgICBwYWRkaW5nOiAwLjg1cmVtIDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkZ3JlZW4sIDAuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogMC43cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyZWVuLCAwLjA1NSk7XG5cbiAgICAubmRjYy1jb250YWN0LXN1bW1hcnlfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleDogMCAwIDIuMjVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjE1cmVtIDAuNDVyZW0gcmdiYSgkb2ZmYmxhY2ssIDAuMDkpO1xuICAgIH1cbn1cblxuLy8gU2lnbmVkLWluIGNoZWNrb3V0OiBjb21wYWN0IGlkZW50aXR5IGFuZCBhIHNpbmdsZSBmdWxmaWxtZW50IHNoZWxsLiBHdWVzdFxuLy8gY2hlY2tvdXQgcmVtYWlucyBvbiB0aGUgZGVsaXZlcnktZmlyc3QgY2FyZC9hY2NvcmRpb24gcHJlc2VudGF0aW9uIGJlbG93LlxuI3ZtTWFpblBhZ2VPUEMgLm5kY2MtY29udGFjdC1zZWN0aW9uLS1sb2dnZWQge1xuICAgIC5uZGNjLWNvbnRhY3QtY29tcGFjdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLm5kY2MtY29udGFjdC1jb21wYWN0X19hdmF0YXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICAgICAgZmxleDogMCAwIDIuNXJlbTtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG9mZmJsYWNrLCAwLjAyNSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJG9mZmJsYWNrLCAwLjE0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLm5kY2MtY29udGFjdC1jb21wYWN0X19pZGVudGl0eSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAgICAgc3Ryb25nLFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC43Mik7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmRjYy1jb250YWN0LWNvbXBhY3RfX21lbnUge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDExcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC40cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC4xNCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjZyZW07XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAuNTVyZW0gMS41cmVtIHJnYmEoJG9mZmJsYWNrLCAwLjEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmRjYy1pY29uLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMi4zNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjM1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogcmdiYSgkb2ZmYmxhY2ssIDAuNzIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG9mZmJsYWNrLCAwLjA1NSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHJnYmEoJGdyZWVuLCAwLjM4KTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN2bU1haW5QYWdlT1BDICNuZGNjLWFkZHJlc3MtZmxvd1tkYXRhLWN1c3RvbWVyLXN0YXRlPVwibG9nZ2VkXCJdIHtcbiAgICBtYXJnaW46IDAgMjBweCAxcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6ICRvZmZibGFjaztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkb2ZmYmxhY2ssIDAuMTcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuODVyZW07XG5cbiAgICAubmRjYy1mdWxmaWxtZW50X19zZWN0aW9uICsgLm5kY2MtZnVsZmlsbWVudF9fc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRvZmZibGFjaywgMC4xNCk7XG4gICAgfVxuXG4gICAgLm5kY2MtZnVsZmlsbWVudF9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAubmRjYy1mdWxmaWxtZW50X190b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6NC4yNXJlbSBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAzLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcbiAgICAgICAgY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjcpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRvZmZibGFjaywgMC4wMzUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgkZ3JlZW4sIDAuMzgpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjYyKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0gaSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAubmRjYy1mdWxmaWxtZW50X19zdW1tYXJ5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmRjYy1mdWxmaWxtZW50X190aXRsZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuMDhyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG5cbiAgICAubmRjYy1mdWxmaWxtZW50X19zdW1tYXJ5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAubmRjYy1mdWxmaWxtZW50X19zdW1tYXJ5LXByaW1hcnksXG4gICAgLm5kY2MtZnVsZmlsbWVudF9fc3VtbWFyeS1zZWNvbmRhcnkge1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICB9XG5cbiAgICAubmRjYy1mdWxmaWxtZW50X19zdW1tYXJ5LXByaW1hcnkge1xuICAgICAgICBmb250LXNpemU6IDAuODZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIC5uZGNjLWZ1bGZpbG1lbnRfX3N1bW1hcnktcGlja3VwLW5hbWUge1xuICAgICAgICBjb2xvcjogJG9mZmJsYWNrO1xuICAgICAgICBmb250LXNpemU6IDAuODZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIC5uZGNjLWZ1bGZpbG1lbnRfX3N1bW1hcnktc2Vjb25kYXJ5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4xMnJlbTtcbiAgICAgICAgY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjc0KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cblxuICAgIC5uZGNjLWZ1bGZpbG1lbnRfX3N1bW1hcnktbG9jYXRpb24tbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjM0cmVtO1xuICAgICAgICBjb2xvcjogcmdiYSgkb2ZmYmxhY2ssIDAuNTgpO1xuICAgICAgICBmb250LXNpemU6IDAuNjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5uZGNjLWZ1bGZpbG1lbnRfX3N1bW1hcnktY29sbGVjdGlvbi1hZGRyZXNzLFxuICAgIC5uZGNjLWZ1bGZpbG1lbnRfX3N1bW1hcnktY29sbGVjdGlvbi1kZXRhaWwge1xuICAgICAgICBjb2xvcjogJG9mZmJsYWNrO1xuICAgICAgICBmb250LXNpemU6IDAuNzZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuXG4gICAgLm5kY2MtZnVsZmlsbWVudF9fY2xpY2stY29sbGVjdC1kaXJlY3Rpb25zIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgY29sb3I6ICMwZDZlZmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xZW07XG4gICAgfVxuXG4gICAgLm5kY2MtZnVsZmlsbWVudF9fc3VtbWFyeS1jbGljay1jb2xsZWN0LW5vdGljZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjhyZW07XG4gICAgICAgIGNvbG9yOiAjYjQyMzE4O1xuICAgICAgICBmb250LXNpemU6IDAuNzJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIH1cblxuICAgIC5uZGNjLWZ1bGZpbG1lbnRfX3BpY2t1cC1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjM1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjIycmVtIDAuNDVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDAuNjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIC5uZGNjLWZ1bGZpbG1lbnRfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMXJlbTtcbiAgICB9XG5cbiAgICAubmRjYy1mdWxmaWxtZW50X19zZWN0aW9uLS1zaGlwdG8gLm5kY2MtZnVsZmlsbWVudF9fYm9keSxcbiAgICAubmRjYy1mdWxmaWxtZW50X19zZWN0aW9uLS1zaGlwcGluZyAubmRjYy1mdWxmaWxtZW50X19ib2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuN3JlbTtcbiAgICB9XG5cbiAgICAubmRjYy1zYXZlZC1hZGRyZXNzZXMsXG4gICAgLm5kY2Mtc2hpcG1lbnQtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMC4xNXJlbTtcbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZSxcbiAgICAubmRjYy1zaGlwbWVudC1vcHRpb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzJyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gICAgfVxuXG4gICAgLm5kY2MtYWRkcmVzcy1jaG9pY2Uge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIH1cblxuICAgIC5uZGNjLWFkZHJlc3MtY2hvaWNlLmlzLXNlbGVjdGVkLFxuICAgIC5uZGNjLXNoaXBtZW50LW9wdGlvbi5pcy1zZWxlY3RlZCxcbiAgICAubmRjYy1zaGlwbWVudC1vcHRpb246aGFzKGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyZWVuLCAwLjA3KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5uZGNjLWFkZHJlc3MtY2hvaWNlX19zZWxlY3QsXG4gICAgLm5kY2Mtc2hpcG1lbnQtY2hvaWNlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5uZGNjLWFkZHJlc3MtY2hvaWNlX19zZWxlY3Qge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS4zNXJlbSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjg1cmVtIDAuMzVyZW0gMC44NXJlbSAwLjg1cmVtO1xuICAgIH1cblxuICAgIC5uZGNjLXNoaXBtZW50LWNob2ljZSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczoxLjM1cmVtIDIuNHJlbSBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBnYXA6IDAuN3JlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuNnJlbSAwLjg1cmVtO1xuICAgIH1cblxuICAgIC5uZGNjLWFkZHJlc3MtY2hvaWNlX19zZWxlY3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5uZGNjLXNoaXBtZW50LWNob2ljZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZV9fc2VsZWN0IC5pbnB1dGZha2U6OmJlZm9yZSxcbiAgICAubmRjYy1zaGlwbWVudC1jaG9pY2UgLmlucHV0ZmFrZTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMS4yZW07XG4gICAgICAgIGNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC41Mik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvb3RzdHJhcC1pY29uc1wiO1xuICAgICAgICAvLyBQYXltZW50IHJvd3MgdXNlIDEuNGVtIG9uIGEgMC44cmVtIGFjY29yZGlvbiBzY2FsZSAoMS4xMnJlbSkuXG4gICAgICAgIC8vIFVzZSB0aGF0IGV4YWN0IGNvbXB1dGVkIHNpemUgaGVyZSByYXRoZXIgdGhhbiBhIGxhcmdlciBmaXhlZCBpY29uLlxuICAgICAgICBmb250LXNpemU6IDEuMTJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb250ZW50OiBcIlxcZjI4YVwiO1xuICAgIH1cblxuICAgIC5uZGNjLWFkZHJlc3MtY2hvaWNlX19zZWxlY3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuaW5wdXRmYWtlOjpiZWZvcmUsXG4gICAgLm5kY2Mtc2hpcG1lbnQtY2hvaWNlIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmlucHV0ZmFrZTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgY29udGVudDogXCJcXGYyNmFcIjtcbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZV9fc2VsZWN0IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cy12aXNpYmxlICsgLmlucHV0ZmFrZTo6YmVmb3JlLFxuICAgIC5uZGNjLXNoaXBtZW50LWNob2ljZSBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMtdmlzaWJsZSArIC5pbnB1dGZha2U6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHJnYmEoJGdyZWVuLCAwLjM4KTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZV9fcGx1cyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEuM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjNyZW07XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZV9fY29weSxcbiAgICAubmRjYy1zaGlwbWVudC1jaG9pY2VfX2NvcHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuMXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkb2ZmYmxhY2ssIDAuNyk7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZV9fYmFkZ2Uge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjE1cmVtIDAuNDVyZW07XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG9mZmJsYWNrLCAwLjcyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42OHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZV9fYWN0aW9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZV9fbWVudS10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDIuNDVyZW07XG4gICAgICAgIGhlaWdodDogMi40NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwLjU1cmVtIDAuNDVyZW0gMCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogcmdiYSgkb2ZmYmxhY2ssIDAuNjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG9mZmJsYWNrLCAwLjA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgkZ3JlZW4sIDAuMzgpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZGNjLWFkZHJlc3MtY2hvaWNlX19tZW51IHtcbiAgICAgICAgbWluLXdpZHRoOiA2LjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMzVyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJG9mZmJsYWNrLCAwLjEzKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjc1cmVtIDJyZW0gcmdiYSgkb2ZmYmxhY2ssIDAuMTYpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTAuMzJyZW07XG4gICAgICAgICAgICByaWdodDogMC45MnJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAwLjY1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjY1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJG9mZmJsYWNrLCAwLjEzKTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgkb2ZmYmxhY2ssIDAuMTMpO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZGNjLWFkZHJlc3MtY2hvaWNlX19lZGl0LmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjY1cmVtO1xuICAgICAgICBjb2xvcjogIzI4N2QzOTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC40NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg2cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICMxZjY0MmQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRncmVlbiwgMC4wOCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWVkaXRvci1zbG90LFxuICAgIC5uZGNjLWJpbGxpbmctcGFuZWwge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkb2ZmYmxhY2ssIDAuMDI1KTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJG9mZmJsYWNrLCAwLjExKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAuN3JlbSAwLjdyZW07XG4gICAgICAgIGFuaW1hdGlvbjogbmRjYy1jaGVja291dC1yZXZlYWwgMC4ycyBlYXNlLW91dCBib3RoO1xuICAgIH1cblxuICAgIC5uZGNjLWFkZHJlc3MtZWRpdG9yLXNsb3RbaGlkZGVuXSxcbiAgICAubmRjYy1iaWxsaW5nLXBhbmVsW2hpZGRlbl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm5kY2MtYmlsbGluZy1zdW1tYXJ5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbSAwLjg1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRvZmZibGFjaywgMC4wMjUpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRvZmZibGFjaywgMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC42NXJlbTtcbiAgICB9XG5cbiAgICAubmRjYy1iaWxsaW5nLXN1bW1hcnlfX2NvcHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjcyKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42OXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMzVlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzhyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5kY2MtYmlsbGluZy1zdW1tYXJ5X19lZGl0LFxuICAgIC5uZGNjLWVkaXRvci1jbG9zZSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwLjM1cmVtIDAuNnJlbTtcbiAgICAgICAgY29sb3I6ICMyODdkMzk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyZWVuLCAwLjA4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgkZ3JlZW4sIDAuMzgpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZGNjLWJpbGxpbmctcGFuZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjY1cmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRncmVlbiwgMC4yOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuN3JlbTtcblxuICAgICAgICAubmRjYy1zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5kY2Mtc2hpcG1lbnQtY2hvaWNlX19pbnB1dCxcbiAgICAubmRjYy1zaGlwbWVudC1jaG9pY2VfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogMi4xcmVtO1xuICAgIH1cblxuICAgIC5uZGNjLXNoaXBtZW50LWNob2ljZV9fbG9nbyBpbWcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAycmVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cblxuICAgIC8vIENhcnJpZXIgYXJ0d29yayB2YXJpZXMgZnJvbSBzcXVhcmUgYmFkZ2VzIHRvIHRyYW5zcGFyZW50IG1hcmtzLiAgS2VlcCB0aGVcbiAgICAvLyBhcnR3b3JrIGl0c2VsZiBpbnRhY3Qgd2hpbGUgZ2l2aW5nIGV2ZXJ5IHNoaXBtZW50LWxvZ28gaW1hZ2UgdGhlIHNhbWVcbiAgICAvLyBzb2Z0bHkgcm91bmRlZCB0cmVhdG1lbnQgKG5vdCBqdXN0IHRoZSBQYXJjZWxGb3JjZSByYXN0ZXIgYmFkZ2UpLlxuICAgIC5zaGlwbG9nby5pbWctZmx1aWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIH1cblxuICAgIC5uZGNjLXNoaXBtZW50LWNob2ljZV9fcHJpY2Uge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC40cmVtO1xuICAgICAgICBjb2xvcjogJG9mZmJsYWNrO1xuICAgICAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLm5kY2MtcGlja3VwLXN1cHBvcnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMC43cmVtIDAuN3JlbTtcbiAgICB9XG5cbiAgICAubmRjYy1jbGljay1jb2xsZWN0LW5vdGljZSB7XG4gICAgICAgIG1hcmdpbjogMCAwLjg1cmVtIDAuN3JlbTtcbiAgICAgICAgY29sb3I6ICNiNDIzMTg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICB9XG5cbiAgICAubmRjYy1tb3JlLXNoaXBwaW5nX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAwLjE1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjE1cmVtO1xuICAgIH1cblxuICAgIC5uZGNjLW1vcmUtc2hpcHBpbmdfX2NvbnRlbnRbaGlkZGVuXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5kY2MtbW9yZS1zaGlwcGluZ19fdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC40NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwLjM1cmVtIDAgMC4xNXJlbSAwLjg1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgICAgIGNvbG9yOiAjMjg3ZDM5O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNjhyZW07XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gaSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzFmNjQyZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgkZ3JlZW4sIDAuMzgpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aG9sZXNhbGVzaGlwcGluZ3dyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAwLjg1cmVtIDAuOHJlbTtcbiAgICAgICAgY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjY4KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cbn1cblxuI3ZtTWFpblBhZ2VPUEMgLm5kY2MtYmlsbGluZy1jaG9pY2Uge1xuICAgIHBhZGRpbmc6IDAuOXJlbSAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJG9mZmJsYWNrLCAwLjE2KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjdyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgkb2ZmYmxhY2ssIDAuMDI1KTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xOHMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjE4cyBlYXNlO1xuXG4gICAgJjpoYXMoLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCkge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoJGdyZWVuLCAwLjU1KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JlZW4sIDAuMDU1KTtcbiAgICB9XG5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDAuOHJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgZmxleDogMCAwIDIuNHJlbTtcbiAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjNyZW07XG4gICAgICAgIG1hcmdpbjogMC4xNXJlbSAwIDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgkZ3JlZW4sIDAuMzIpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgPiAuc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN2bU1haW5QYWdlT1BDIC5uZGNjLWJpbGxpbmctcGFuZWwge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkZ3JlZW4sIDAuMzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuN3JlbTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCRncmVlbiwgMC4wNDUpLCByZ2JhKCRvZmZibGFjaywgMC4wMTgpKTtcbiAgICBhbmltYXRpb246IG5kY2MtY2hlY2tvdXQtcmV2ZWFsIDAuMnMgZWFzZS1vdXQgYm90aDtcbn1cblxuI3ZtTWFpblBhZ2VPUEMgLm5kY2Mtc2F2ZWQtYWRkcmVzc2VzIHtcbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZV9fY29weSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuMTVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkb2ZmYmxhY2ssIDAuNjgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAubmRjYy1hZGRyZXNzLWNob2ljZS0tbmV3IC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG59XG5cbiN2bU1haW5QYWdlT1BDICNuZGNjLXNoaXBwaW5nLW1ldGhvZHMge1xuICAgIC5uZGNjLXBpY2t1cC1tZXRob2Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLm5kY2MtcGlja3VwLW1ldGhvZCAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgLm5kY2MtcGlja3VwLWlucHV0LXNsb3Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gVGhlIHBpY2t1cCBsYWJlbCBpcyBzZW1pYm9sZCwgYnV0IEZvbnQgQXdlc29tZSdzIHVuc2VsZWN0ZWQgcmFkaW8gbXVzdFxuICAgIC8vIHJldGFpbiB0aGUgcmVndWxhciB3ZWlnaHQgdXNlZCBieSB0aGUgb3RoZXIgc2hpcG1lbnQgbWV0aG9kcy4gQSBoZWF2aWVyXG4gICAgLy8gaW5oZXJpdGVkIHdlaWdodCByZW5kZXJzIHRoZSBvdXRsaW5lIGNpcmNsZSBhcyBhIHNvbGlkIGRvdC5cbiAgICAubmRjYy1waWNrdXAtaW5wdXQtc2xvdCAuaW5wdXRmYWtlOjpiZWZvcmUge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIC5uZGNjLXBpY2t1cC1jaG9pY2VfX2NvcHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuMTVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC42OCk7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzhyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5kY2MtcGlja3VwLXByaWNlLXNsb3Qge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLm5kY2MtcGlja3VwLXN1cHBvcnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC44NXJlbSAxcmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkb2ZmYmxhY2ssIDAuMTIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRvZmZibGFjaywgMC4wMjgpO1xuICAgIH1cblxuICAgIC5uZGNjLXBpY2t1cC1zdXBwb3J0W2hpZGRlbl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm5kY2MtcGlja3VwLXN1cHBvcnQgLmRwZHBpY2t1cF9tYXBfbGluayB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNDVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgLy8gUGlja3VwIHByb3ZpZGVycyBpbmplY3QgdGhlIHNlbGVjdGVkLXNob3AgYWRkcmVzcyBhbmQgb3BlbmluZyBob3Vyc1xuICAgIC8vIGFmdGVyIGNoZWNrb3V0IGhhcyByZW5kZXJlZC4gS2VlcCB0aGF0IHRoaXJkLXBhcnR5IGNvbnRlbnQgYXQgdGhlIHNhbWVcbiAgICAvLyBjb21wYWN0IHNjYWxlIGFzIHRoZSBzaGlwcGluZy1tZXRob2QgZGVzY3JpcHRpb25zLlxuICAgIC5uZGNjLXBpY2t1cC1zdXBwb3J0IC5vcGNfemFzX3BsYWNlLFxuICAgIC5uZGNjLXBpY2t1cC1zdXBwb3J0IC5vcGNfemFzX3BsYWNlICoge1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbn1cblxuLy8gT25lIHZpc3VhbCBjb250cmFjdCBmb3IgZXZlcnkgY2hlY2tvdXQgZmF1eC1yYWRpbzogc2F2ZWQgYWRkcmVzc2VzLFxuLy8gc2hpcHBpbmcgc2VydmljZXMgYW5kIHBheW1lbnQgbWV0aG9kcy4gVGhlc2Ugc2VsZWN0b3JzIGludGVudGlvbmFsbHkgY29tZVxuLy8gbGFzdCwgc28gdGhleSBzdXBlcnNlZGUgdGhlIG9sZGVyIE9QQyBhbmQgQm9vdHN0cmFwIGFjY29yZGlvbiB0cmVhdG1lbnRzLlxuI3ZtTWFpblBhZ2VPUEMge1xuICAgIC0tbmRjYy1jaGVja291dC1mYXV4LXJhZGlvLXNpemU6IDEuMnJlbTtcbiAgICAtLW5kY2MtY2hlY2tvdXQtZmF1eC1yYWRpby1pZGxlOiAjNTM1MzUzO1xuICAgIC0tbmRjYy1jaGVja291dC1mYXV4LXJhZGlvLXNlbGVjdGVkOiAjeyRncmVlbn07XG59XG5cbiN2bU1haW5QYWdlT1BDICNuZGNjLWFkZHJlc3MtZmxvd1tkYXRhLWN1c3RvbWVyLXN0YXRlPVwibG9nZ2VkXCJdIC5uZGNjLWFkZHJlc3MtY2hvaWNlX19zZWxlY3QgLmlucHV0ZmFrZTo6YmVmb3JlLFxuI3ZtTWFpblBhZ2VPUEMgI25kY2MtYWRkcmVzcy1mbG93W2RhdGEtY3VzdG9tZXItc3RhdGU9XCJsb2dnZWRcIl0gLm5kY2Mtc2hpcG1lbnQtY2hvaWNlIC5pbnB1dGZha2U6OmJlZm9yZSxcbiN2bU1haW5QYWdlT1BDICNhamF4c2hpcHBpbmcgLm9wY19zaGlwX3dyYXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgLmlucHV0ZmFrZTo6YmVmb3JlLFxuI3ZtTWFpblBhZ2VPUEMgI3BheW1lbnRfaHRtbCAuYWNjb3JkaW9uLWJ1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyAuaW5wdXRmYWtlOjpiZWZvcmUsXG4jdm1NYWluUGFnZU9QQyAjcGF5bWVudF9odG1sIC5vcGNfcGF5bWVudF93cmFwIC5pbnB1dGZha2U6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxLjJlbSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1uZGNjLWNoZWNrb3V0LWZhdXgtcmFkaW8taWRsZSkgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogXCJib290c3RyYXAtaWNvbnNcIiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tbmRjYy1jaGVja291dC1mYXV4LXJhZGlvLXNpemUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbnRlbnQ6IFwiXFxmMjhhXCI7XG59XG5cbiN2bU1haW5QYWdlT1BDICNuZGNjLWFkZHJlc3MtZmxvd1tkYXRhLWN1c3RvbWVyLXN0YXRlPVwibG9nZ2VkXCJdIC5uZGNjLWFkZHJlc3MtY2hvaWNlX19zZWxlY3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuaW5wdXRmYWtlOjpiZWZvcmUsXG4jdm1NYWluUGFnZU9QQyAjbmRjYy1hZGRyZXNzLWZsb3dbZGF0YS1jdXN0b21lci1zdGF0ZT1cImxvZ2dlZFwiXSAubmRjYy1zaGlwbWVudC1jaG9pY2UgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuaW5wdXRmYWtlOjpiZWZvcmUsXG4jdm1NYWluUGFnZU9QQyAjYWpheHNoaXBwaW5nIC5vcGNfc2hpcF93cmFwIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmlucHV0ZmFrZTo6YmVmb3JlLFxuI3ZtTWFpblBhZ2VPUEMgI3BheW1lbnRfaHRtbCAuYWNjb3JkaW9uLWJ1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5pbnB1dGZha2U6OmJlZm9yZSxcbiN2bU1haW5QYWdlT1BDICNwYXltZW50X2h0bWwgLmFjY29yZGlvbi1pdGVtLnNlbGVjdGVkIC5pbnB1dGZha2U6OmJlZm9yZSxcbiN2bU1haW5QYWdlT1BDICNwYXltZW50X2h0bWwgLm9wY19wYXltZW50X3dyYXAuc2VsZWN0ZWQgLmlucHV0ZmFrZTo6YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tbmRjYy1jaGVja291dC1mYXV4LXJhZGlvLXNlbGVjdGVkKSAhaW1wb3J0YW50O1xuICAgIGNvbnRlbnQ6IFwiXFxmMjZhXCI7XG59XG5cbkBrZXlmcmFtZXMgbmRjYy1jaGVja291dC1yZXZlYWwge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuM3JlbSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAjdm1NYWluUGFnZU9QQyAubmRjYy1iaWxsaW5nLWNob2ljZSxcbiAgICAjdm1NYWluUGFnZU9QQyAubmRjYy1iaWxsaW5nLXBhbmVsIHtcbiAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgIH1cblxuICAgICN2bU1haW5QYWdlT1BDICNuZGNjLWFkZHJlc3MtZmxvd1tkYXRhLWN1c3RvbWVyLXN0YXRlPVwibG9nZ2VkXCJdIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICAgICAubmRjYy1mdWxmaWxtZW50X190b2dnbGUsXG4gICAgICAgIC5uZGNjLWZ1bGZpbG1lbnRfX2JvZHkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZGNjLWZ1bGZpbG1lbnRfX3RvZ2dsZSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6NC4yNXJlbSBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICAgICAgZ2FwOiAwLjU1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5kY2Mtc2hpcG1lbnQtY2hvaWNlIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczoxLjI1cmVtIDJyZW0gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC43NXJlbSAwLjY1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5kY2Mtc2hpcG1lbnQtY2hvaWNlX19wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZGNjLWFkZHJlc3MtY2hvaWNlX19jb3B5ID4gc3BhbixcbiAgICAgICAgLm5kY2Mtc2hpcG1lbnQtY2hvaWNlX19jb3B5ID4gc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubmRjYy1mdWxmaWxtZW50X19zdW1tYXJ5LXByaW1hcnkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjgycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5kY2MtZnVsZmlsbWVudF9fc3VtbWFyeS1zZWNvbmRhcnkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc0cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICN2bU1haW5QYWdlT1BDIC5uZGNjLWJpbGxpbmctcGFuZWwsXG4gICAgI3ZtTWFpblBhZ2VPUEMgLm5kY2MtYWRkcmVzcy1lZGl0b3Itc2xvdCB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAjdm1NYWluUGFnZU9QQyAjbmRjYy1hZGRyZXNzLWZsb3dbZGF0YS1jdXN0b21lci1zdGF0ZT1cImxvZ2dlZFwiXSAubmRjYy1mdWxmaWxtZW50X190b2dnbGUgaSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vLyBCcmFuY2gvc2hvcCBzaGlwbWVudCBpbXBsZW1lbnRhdGlvbnMgcmVtYWluIGludGVybmFsLiBUaGUgY29uZmlndXJlZCBEUERcbi8vIGlucHV0IGlzIG1vdmVkIGludG8gdGhlIGN1c3RvbWVyLWZhY2luZyBQaWNrdXAgY2FyZCBieSB0YWJjb250ZW50LmpzLlxuLmhpZGVfb25fZGVsaXZlcnkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIiNwYXltZW50X3Jlc3BvbnNlIHtcblx0Y29sb3I6IHdoaXRlO1xufVxuI3BheW1lbnRfcmVzcG9uc2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogIzMzMzMzM2QxO1xuICAgei1pbmRleDogOTk5OTk7XG59XG5cblxuXG4jcGF5bWVudF9yZXNwb25zZSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cblxuXG4jcGF5bWVudF9yZXNwb25zZS5tb2RhbC0tc2hvdyxcbiNwYXltZW50X3Jlc3BvbnNlLm1vZGFsLS1oaWRlIHsgZGlzcGxheTogZmxleDsgfSAvKiBjbGFzc2VzIGZpcmVkIGJ5IGpzIGZvciBhbmltYXRpb24gY29udHJvbCAqL1xuXG4vKiBUaGlzIGlzIG9uIHRoZSB3cmFwcGVyIGZvciB0aGUgd2hvbGUgbW9kYWwgKi9cbiNwYXltZW50X3Jlc3BvbnNlIGRpdi5wYXltZW50X3dyYXBfYWZ0ZXJfY2hlY2tvdXQgPiAuU3RyaXBlRWxlbWVudCB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcblx0d2lkdGg6IDQwMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDBweCkgYW5kIChtYXgtd2lkdGg6IDg3OXB4KSB7XG5cbiAgIG1heC13aWR0aDogMzYwcHg7XG5cdHdpZHRoOiAzNjBweDtcblxufVxufVxuXG4ucGF5bWVudF93cmFwX2FmdGVyX2NoZWNrb3V0IHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZsZXgtd3JhcDogd3JhcDsgZmxleC1mbG93OiBjb2x1bW4gd3JhcDt9XG4ucGF5bWVudF93cmFwX2FmdGVyX2NoZWNrb3V0ID4gKiB7XG5cbn1cbiNwYXltZW50X3Jlc3BvbnNlLm1vZGFsLS1hbGlnbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIHotaW5kZXg6IDk5OTtcbn1cblxuI3BheW1lbnRfcmVzcG9uc2UgLnBheW1lbnRfd3JhcF9hZnRlcl9jaGVja291dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogODAwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjAlO1xuICBwYWRkaW5nLXJpZ2h0OiAyMCU7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4vKiBUaGUgLm1vZGFsX19jbG9zZSBjbGFzcyBpcyB1c2VkIGluIGpzIGJ1dCBpcyBtb2RpZmllZCAnLS14JyBoZXJlICovXG4jcGF5bWVudF9yZXNwb25zZSAubW9kYWxfX2Nsb3NlLS14IHtcbiAgZm9udC1zaXplOiAzMHB4OyAvKiB0aGlzIGlzIG9ubHkgYmVjYXVzZSB3ZSB1c2UgdW5pY29kZSBmb3IgdGhlIFggaW4gdGhpcyBjYXNlICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzcHg7XG4gIHJpZ2h0OiAxMHB4O1xufVxuXG4vKiBBcyB0aGVyZSBpcyBubyBocmVmIHRvIGF2b2lkIHRoZSBoYXNoIGJlaW5nIGFkZGVkIHRvIHRoZSBVUkwgd2hlbiBjbGlja2VkIHdlIGFkZCBhIHBvaW50ZXIgKi9cbi8qIFRoaXMgJ3gnIGlzIGhpZGRlbiBmcm9tIHNjcmVlbiByZWFkZXJzIGFzIHRoZXJlIGlzIGFuIGFjY2Vzc2libGUgY2xvc2UgYnV0dG9uIGluIHRoZSBtb2RhbCAqL1xuI3BheW1lbnRfcmVzcG9uc2UgLm1vZGFsX19jbG9zZS0teDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogQW5pbWF0aW9ucyAqL1xuLyogT3BlbiAqL1xuI3BheW1lbnRfcmVzcG9uc2UgLm1vZGFsLm1vZGFsLS1zaG93IHtcbiAgYW5pbWF0aW9uOiBtb2RhbC1vcGVuIDAuM3M7XG59XG5cbkBrZXlmcmFtZXMgbW9kYWwtb3BlbiB7XG4gIDAlICAgIHsgb3BhY2l0eTogMDsgfVxuICAxMDAlICB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLyogQ2xvc2UgKi9cbiNwYXltZW50X3Jlc3BvbnNlLm1vZGFsLS1oaWRlIHtcbiAgYW5pbWF0aW9uOiBtb2RhbC1jbG9zZSAwLjNzO1xufVxuXG5Aa2V5ZnJhbWVzIG1vZGFsLWNsb3NlIHtcbiAgMCUgICAgeyBvcGFjaXR5OiAxOyB9XG4gIDEwMCUgIHsgb3BhY2l0eTogMDsgfVxufVxuXG4jcGF5bWVudF9yZXNwb25zZSBidXR0b24ge1xuXHRtaW4td2lkdGg6IDEwMHB4O1xuXHRtaW4taGVpZ2h0OiAzMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMHB4KSBhbmQgKG1heC13aWR0aDogODc5cHgpIHtcblxuI3BheW1lbnRfcmVzcG9uc2UgLnBheW1lbnRfd3JhcF9hZnRlcl9jaGVja291dCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxufVxuXG4jcGF5bWVudF9yZXNwb25zZSBhLmNhbmNlbGwge1xuIGxpbmUtaGVpZ2h0OiAyZW07XG59XG5cbiNwYXltZW50X3Jlc3BvbnNlIC53YWl0X29uX3JlYWR5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi8vICNwYXltZW50X3Jlc3BvbnNlIC53YWl0X29uX3JlYWR5ID4gYnV0dG9uIHtcbi8vIFx0bGluZS1oZWlnaHQ6IDJlbTtcbi8vIFx0bWFyZ2luLXRvcDogNXB4O1xuLy8gXHRtYXJnaW4tYm90dG9tOiA1cHg7XG4vLyBcdHBhZGRpbmc6IDVweDtcbi8vIFx0YmFja2dyb3VuZC1jb2xvcjogIzVhY2MzMTtcbi8vIFx0b3V0bGluZTogbm9uZTtcbi8vIFx0Ym9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4vLyBcdGJvcmRlci1yYWRpdXM6IDNweDtcbi8vIH1cbiNwYXltZW50X3Jlc3BvbnNlIGEuY2FuY2VsbCwjcGF5bWVudF9yZXNwb25zZSBhLmNhbmNlbGw6dmlzaXRlZCwjcGF5bWVudF9yZXNwb25zZSBhLmNhbmNlbGw6aG92ZXIge1xuXHRjb2xvcjogd2hpdGU7XG59XG4jcGF5bWVudF9yZXNwb25zZSBhLmNhbmNlbGw6aG92ZXIge1xuXHRjb2xvcjogYmxhY2s7XG59XG5cbiNwYXltZW50X3Jlc3BvbnNlIC5zcGlubmVyLmhpZGRlbiB7XG5kaXNwbGF5OiBub25lO1xufVxuI3BheW1lbnRfcmVzcG9uc2UgLmVycm9yIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiByZWQ7XG59IiwiLnByb2R1Y3RkZXRhaWxzLXZpZXcsXG4uY2F0ZWdvcnktdmlldyB7XG4gICAgLy8gICAudm0tcHJvZHVjdC1tZWRpYS1jb250YWluZXIgYSB7XG4gICAgLy8gICAgICY6OmFmdGVyIHtcbiAgICAvLyAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICAgICAgY29udGVudDogXCJcIjtcbiAgICAvLyAgICAgICB0b3A6IDA7XG4gICAgLy8gICAgICAgbGVmdDogMDtcbiAgICAvLyAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gICAgICAgYmFja2dyb3VuZDogcmdiKDE0MywgMTQzLCAxNDMpO1xuICAgIC8vICAgICAgIG9wYWNpdHk6IDAuMDM7XG4gICAgLy8gICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gICAgICAgYm9yZGVyOiAjMTMxMzEzIHNvbGlkIDFweCAhaW1wb3J0YW50IDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgLy8gICAgICAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG5cbiAgICAjZGVzYyxcbiAgICAjcmV2aWV3cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTE1MHB4O1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICAgIC5mcmFjdGlvbnMge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG4gICAgLnByb2RfY2F0ZGVzYyB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWlucHJvZGRlc2Mge1xuICAgICAgICAqOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1zYXZpbmcge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRncmVlbiwgMTAlKTtcbiAgICB9XG4gICAgLnNwZWN0YWJsZSB7XG4gICAgICAgIFxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC50YWJsZTtcbiAgICAgICAgICAgIEBleHRlbmQgLnRhYmxlLXNtO1xuICAgICAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLnRhYmxlLWRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKioqIGN1c3RvbSBjaGVja2JveGVzICoqKi9cblxuICAgIC8vICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAvLyAgICAgZGlzcGxheTogbm9uZTtcbiAgICAvLyAgIH1cblxuICAgIC8vICAgLyogdG8gaGlkZSB0aGUgY2hlY2tib3ggaXRzZWxmICovXG4gICAgLy8gICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpiZWZvcmUge1xuICAgIC8vICAgICAvL2ZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAvLyAgICAgQGluY2x1ZGUgZmE7XG4gICAgLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgIH1cblxuICAgIGxhYmVsIHN0cm9uZy5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICB9XG5cbiAgICAvLyAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmJlZm9yZSB7XG4gICAgLy8gICAgIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG4gICAgLy8gICAgIGNvbG9yOiBsaWdodGVuKCRvZmZibGFjaywgMjAlKTtcbiAgICAvLyAgIH1cblxuICAgIC8qIHVuY2hlY2tlZCBpY29uICovXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEwcHg7XG4gICAgfVxuXG4gICAgLyogc3BhY2UgYmV0d2VlbiBjaGVja2JveCBhbmQgbGFiZWwgKi9cblxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYxNGFcIjtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAvKiBjaGVja2VkIGljb24gKi9cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxMHB4O1xuICAgIH1cblxuICAgIC8qIGFsbG93IHNwYWNlIGZvciBjaGVjayBtYXJrICovXG5cbiAgICAuZnVsbC13aWR0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwMCU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJvcmRlci1kYXJrIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC4zKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc3BlY3RhYmxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50YWdzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgfVxuICAgIC50ZXh0LW11dGVkIHtcbiAgICAgICAgLy8gY29sb3I6IHJnYmEoJG9mZmJsYWNrLCAwLjgpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZmJsYWNrO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQ1OTRmO1xuICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuOSkgIWltcG9ydGFudDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnlvdXR1YmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjkpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJldmlld3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3JlYW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvZnVsbHdpZHRoYmcvcmV2aWV3cy1iZy5qcGdcIik7XG4gICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXZpZXdzZnVsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICB9XG5cbiAgICAucmVsY2Fyb3VzZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgfVxuXG4gICAgLmN1cHMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC4xKTtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkb2ZmYmxhY2ssIDAuNykgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgIC5jb2wge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNDMlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRvZmZibGFjaywgMC4xKTtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICRvZmZibGFjaztcbiAgICB9XG5cbiAgICAudG9wZGVzY3dyYXBwZXIge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBmb250LXNpemU6IDgwJTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1zbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmVhbTtcbiAgICB9XG5cbiAgICAuY291bnRkb3dud3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHBhbmVsO1xuXG4gICAgICAgICNjb3VudGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1tZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbWFsbHRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI2dtY3RpbWUtY291bnRkb3duMSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGFibGUuc3RyYXB0aXRldGFibGUge1xuICAgICAgICAvLyBTS1UgY2VsbHMgYXJlIHJvdyBoZWFkZXJzLCBzbyBpbmNsdWRlIHRoZW0gd2l0aCByZWd1bGFyIGRhdGEgY2VsbHMuXG4gICAgICAgIC8vIFJlc3RyaWN0IHRoaXMgdG8gdGhlIGJvZHkgdG8gcmV0YWluIHRoZSBibHVlIHRhYmxlIGhlYWRlci5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgdGQsXG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIHRyOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgICB0ci5hY3RpdmUgdGQsXG4gICAgICAgIHRyLmFjdGl2ZSB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnksIDAuMikgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2hpbGRwcm9kd3JhcCB7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC5yb3VuZGVkLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA1MDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKCRibHVlLCAwLjIpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNtYWxsZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY3JlYW0sIDUwJSk7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgfVxuICAgIHVsLmJ1bGxldHMge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC0yMXB4O1xuICAgICAgICB9XG4gICAgICAgIGxpOmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGJvb3RzdHJhcC1pY29ucztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxGNjMzXCI7XG4gICAgICAgICAgICBjb2xvcjogJGhpZ2hsaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tdWx0aWJ1eXRhYmxlIHtcbiAgICAgICAgZm9udC1zaXplOiA3MCU7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhlYWQgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTVweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vICAgLmNoaWxkcHJvZHdyYXAge1xuICAgIC8vICAgICAuaXRlbSB7XG4gICAgLy8gICAgICAgLmNhcmQge1xuICAgIC8vICAgICAgICAgYm9yZGVyOiAkYmx1ZSAxcHggc29saWQ7XG4gICAgLy8gICAgICAgfVxuXG4gICAgLy8gICAgICAgLm5hbWUge1xuICAgIC8vICAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgLy8gICAgICAgfVxuXG4gICAgLy8gICAgICAgLnByb2R1Y3RfcHJpY2Uge1xuICAgIC8vICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIGZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAxcHg7XG4gICAgfVxuICAgIGxlZ2VuZCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uLXdyYXAge1xuICAgICAgICBsaSB7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcGFyZSB7XG4gICAgICAgIGJvcmRlcjogMXB4O1xuXG4gICAgICAgIHRhYmxlLmNvbXBhcmV0YWJsZSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgIHRkLFxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGFibGUuY29tcGFyZXRhYmxlIHRoZWFkIHtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGFibGUuY29tcGFyZXRhYmxlIHRoZWFkIHRoICsgdGgsXG4gICAgICAgIHRhYmxlLmNvbXBhcmV0YWJsZSB0ciB0ZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3JlYW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhYmxlLmNvbXBhcmV0YWJsZSB0aGVhZCB0aCArIHRoICsgdGgsXG4gICAgICAgIHRhYmxlLmNvbXBhcmV0YWJsZSB0ciB0ZCArIHRkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZS5jb21wYXJldGFibGUgdGhlYWQgdGggKyB0aCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBib3JkZXIgJHByaW1hcnkgc29saWQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogYm9yZGVyICRwcmltYXJ5IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBib3JkZXIgJHByaW1hcnkgc29saWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZS5jb21wYXJldGFibGUgdHIgdGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IGJvcmRlciAkcHJpbWFyeSBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogYm9yZGVyICRwcmltYXJ5IHNvbGlkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFibGUuY29tcGFyZXRhYmxlIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogYm9yZGVyICRwcmltYXJ5IHNvbGlkO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhYmxlLmNvbXBhcmV0YWJsZSB0cjpsYXN0LWNoaWxkIHRkICsgdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhYmxlLmNvbXBhcmV0YWJsZSB0ciB0ZCArIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFibGUuY29tcGFyZXRhYmxlIHRoZWFkIHRoICsgdGggKyB0aCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAudGFibGUtY29uZGVuc2VkIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggOHB4IDBweCA4cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcblxuICAgICAgICBjb2xvcjogJG9mZmJsYWNrO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDkwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA5MCUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndoeXNob3Bjb2wge1xuICAgICAgICAgICAgZm9udC1zaXplOiA4MCU7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLmJ0bi1hZGR0b2NhcnQuYnRuLWxnIHtcbiAgICB9XG5cbiAgICAuUHJpY2VwcmljZVdpdGhvdXRUYXhUdCxcbiAgICAuUHJpY2VzYWxlc1ByaWNlVHQuTm9WQVQge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA4MCUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDIwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgIH1cblxuICAgIC5hZGRpdGlvbmFsLWltYWdlcyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAubXVsdGlidXkge1xuICAgICAgICAuc2F2aW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwZWNzIHtcbiAgICAgICAgLnJpYmJvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAucmliYm9uIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMjAlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3OWE3MGE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzliYzkwZCAwJSwgIzc5YTcwYSAxMDAlKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDEpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyOHB4O1xuICAgICAgICAgICAgbGVmdDogLTMycHg7XG4gICAgICAgIH1cblxuICAgICAgICAucmliYm9uIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM1NTU1NTU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjNTU1NTU1O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJpYmJvbiBzcGFuOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICM1NTU1NTU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzU1NTU1NTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGVjc291dGVyd3JhcCB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgZm9udC1zaXplOiA4MCU7XG5cbiAgICAgICAgLnNwZWN3cmFwIHtcbiAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRjcmVhbSwgMC4yKSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuc3BlY3RpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcGVjdGV4dCB7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNwZWNzb3V0ZXJ3cmFwdjIge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xuXG4gICAgICAgIC5zcGVjd3JhcCB7XG4gICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkY3JlYW0sIDAuMikgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLnNwZWN0aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3BlY3RleHQge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi10YWJzIC5uYXYtbGluayB7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGR0b2NhcnRiYXIge1xuICAgICAgICAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmVhbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC5xdHlpbnB1dCB7XG4gICAgICAgIC8vICAgYm9yZGVyOiBub25lO1xuICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAvLyAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAvLyAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICAgICAgLy8gICBjb2xvcjogIzZjNzU3ZDtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2VkNGRhICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkY2hlY2tib3gge1xuICAgICAgICAucHJpY2VzbWFsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDcwJTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE51dHJpdGlvbmFsIEZhY3RzXG5cbi5wZXJmb3JtYW5jZS1mYWN0cyB7XG4gICAgaDMge1xuICAgICAgICBjb2xvcjogJG9mZmJsYWNrO1xuICAgICAgICBmb250LXNpemU6IDIwMCU7XG4gICAgfVxuXG4gICAgLy8gdHJhbnNmb3JtOiByb3RhdGUoLTJkZWcpO1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIEBpbmNsdWRlIHJhZGl1cygpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudCgkY3JlYW0pO1xuICAgIC8qcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMjBweDsgdG9wOiAtMzBweDsqL1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuXG4gICAgLyp3aWR0aDogMjgwcHg7Ki9cbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgei1pbmRleDogMjtcblxuICAgIHRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB9XG5cbiAgICBoZWFkZXIge1xuICAgICAgICBjb2xvcjogJG9mZmJsYWNrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4ucGVyZm9ybWFuY2UtZmFjdHNfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xufVxuXG4ucGVyZm9ybWFuY2UtZmFjdHNfX2hlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCBibGFjaztcbiAgICBwYWRkaW5nOiAwIDAgMC4yNXJlbSAwO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5wZXJmb3JtYW5jZS1mYWN0c19fdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdGhlYWQgdHIge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibGFuay1jZWxsIHtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgLnRoaWNrLXJvdyB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbWFsbC1pbmZvIHtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbn1cblxuLnBlcmZvcm1hbmNlLWZhY3RzX190YWJsZSB7XG4gICAgY29sb3I6ICRvZmZibGFjayAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4ucGVyZm9ybWFuY2UtZmFjdHNfX3RhYmxlLS1zbWFsbCB7XG4gICAgLnBlcmZvcm1hbmNlLWZhY3RzX190YWJsZSB7XG4gICAgICAgIGNvbG9yOiAkb2ZmYmxhY2s7XG4gICAgfVxuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5OTk7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XG5cbiAgICB0aGVhZCB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5wZXJmb3JtYW5jZS1mYWN0c19fdGFibGUtLWdyaWQgLnBlcmZvcm1hbmNlLWZhY3RzX190YWJsZSB7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XG5cbiAgICB0ZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuMjVyZW0gMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19 */
