@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Bitter:400,400i,700|Encode+Sans:200,400");
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,600,400italic,600italic|Roboto+Slab:400,700");
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-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: #007bb1;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 0, 123, 177;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: rgb(0, 49.2, 70.8);
  --bs-secondary-text-emphasis: rgb(43.2, 46.8, 50);
  --bs-success-text-emphasis: rgb(10, 54, 33.6);
  --bs-info-text-emphasis: rgb(5.2, 80.8, 96);
  --bs-warning-text-emphasis: rgb(102, 77.2, 2.8);
  --bs-danger-text-emphasis: rgb(88, 21.2, 27.6);
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: rgb(204, 228.6, 239.4);
  --bs-secondary-bg-subtle: rgb(225.6, 227.4, 229);
  --bs-success-bg-subtle: rgb(209, 231, 220.8);
  --bs-info-bg-subtle: rgb(206.6, 244.4, 252);
  --bs-warning-bg-subtle: rgb(255, 242.6, 205.4);
  --bs-danger-bg-subtle: rgb(248, 214.6, 217.8);
  --bs-light-bg-subtle: rgb(251.5, 252, 252.5);
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: rgb(153, 202.2, 223.8);
  --bs-secondary-border-subtle: rgb(196.2, 199.8, 203);
  --bs-success-border-subtle: rgb(163, 207, 186.6);
  --bs-info-border-subtle: rgb(158.2, 233.8, 249);
  --bs-warning-border-subtle: rgb(255, 230.2, 155.8);
  --bs-danger-border-subtle: rgb(241, 174.2, 180.6);
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-font-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-body-font-size: 0.875rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #FFF;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: rgb(167.6447368421, 37.8552631579, 37.8552631579);
  --bs-link-color: #20a7de;
  --bs-link-color-rgb: 32, 167, 222;
  --bs-link-decoration: underline;
  --bs-link-hover-color: rgb(22.3622047244, 116.7027559055, 155.1377952756);
  --bs-link-hover-color-rgb: 22, 117, 155;
  --bs-code-color: #c7254e;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: rgb(255, 242.6, 205.4);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(0, 123, 177, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: rgb(42.5, 47.5, 52.5);
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: rgb(102, 175.8, 208.2);
  --bs-secondary-text-emphasis: rgb(166.8, 172.2, 177);
  --bs-success-text-emphasis: rgb(117, 183, 152.4);
  --bs-info-text-emphasis: rgb(109.8, 223.2, 246);
  --bs-warning-text-emphasis: rgb(255, 217.8, 106.2);
  --bs-danger-text-emphasis: rgb(234, 133.8, 143.4);
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: rgb(0, 24.6, 35.4);
  --bs-secondary-bg-subtle: rgb(21.6, 23.4, 25);
  --bs-success-bg-subtle: rgb(5, 27, 16.8);
  --bs-info-bg-subtle: rgb(2.6, 40.4, 48);
  --bs-warning-bg-subtle: rgb(51, 38.6, 1.4);
  --bs-danger-bg-subtle: rgb(44, 10.6, 13.8);
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: rgb(0, 73.8, 106.2);
  --bs-secondary-border-subtle: rgb(64.8, 70.2, 75);
  --bs-success-border-subtle: rgb(15, 81, 50.4);
  --bs-info-border-subtle: rgb(7.8, 121.2, 144);
  --bs-warning-border-subtle: rgb(153, 115.8, 4.2);
  --bs-danger-border-subtle: rgb(132, 31.8, 41.4);
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: rgb(102, 175.8, 208.2);
  --bs-link-hover-color: rgb(132.6, 191.64, 217.56);
  --bs-link-color-rgb: 102, 176, 208;
  --bs-link-hover-color-rgb: 133, 192, 218;
  --bs-code-color: rgb(230.4, 132.6, 181.2);
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: rgb(102, 77.2, 2.8);
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: rgb(117, 183, 152.4);
  --bs-form-valid-border-color: rgb(117, 183, 152.4);
  --bs-form-invalid-color: rgb(234, 133.8, 143.4);
  --bs-form-invalid-border-color: rgb(234, 133.8, 143.4);
}

:root,
[data-bs-theme=light] {
  --plone-link-color: #007bb1;
  --plone-link-color-on-dark: #16a1e3;
  --plone-link-color-on-grey: #086ca3;
  --plone-link-hover-color: rgb(0, 69.8389830508, 100.5);
  --plone-portlet-list-hover-bg: #fcfcfd;
  --plone-portlet-footer-bg: #fcfcfd;
  --plone-portlet-list-bullet: #64bee8;
  --plone-state-draft: #fab82a;
  --plone-state-pending: #ccd111;
  --plone-state-private: #c4183c;
  --plone-state-internal: #fab82a;
  --plone-state-internally-published: #883dfa;
}

[data-bs-theme=dark] {
  --plone-link-color: #007bb1;
  --plone-link-color-on-dark: #16a1e3;
  --plone-link-color-on-grey: #086ca3;
  --plone-link-hover-color: rgb(0, 69.8389830508, 100.5);
  --plone-portlet-list-hover-bg: #161719;
  --plone-portlet-footer-bg: #161719;
  --plone-portlet-list-bullet: #64bee8;
  --plone-state-draft: #fab82a;
  --plone-state-pending: #e2e721;
  --plone-state-private: #f96483;
  --plone-state-internal: #fab82a;
  --plone-state-internally-published: #ab75ff;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dt {
  font-weight: 700;
}

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

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
  color: rgb(76.5, 76.5, 76.5);
}
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: #fff;
  background-color: #333;
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}
 

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

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

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

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

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

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

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

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

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

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

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

textarea {
  resize: vertical;
}

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

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

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

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

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

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

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

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

output {
  display: inline-block;
}

iframe {
  border: 0;
}

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

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.09375rem;
}
.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: 4px;
  background-color: #FFF;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 4px;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

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

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

.container, #viewlet-below-content,
.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, #viewlet-below-content {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container, #viewlet-below-content {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container, #viewlet-below-content {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container, #viewlet-below-content {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container, #viewlet-below-content {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

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

.col {
  flex: 1 0 0%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

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

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

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

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

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

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

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

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

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(0, 98, 142, var(--bs-link-opacity, 1));
  text-decoration-color: RGBA(0, 98, 142, var(--bs-link-underline-opacity, 1));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.sticky-bottom, form.pat-autotoc > .formControls {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

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

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

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

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

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

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

  
.form-label {
  margin-bottom: 0.5rem;
}

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

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

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

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

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

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

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

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

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

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

.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='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");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: rgb(127.5, 189, 216);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(0, 123, 177, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}

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

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

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

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

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

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-border-color);
  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: rgb(127.5, 189, 216);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(0, 123, 177, 0.25);
}
.form-check-input:checked {
  background-color: #007bb1;
  border-color: #007bb1;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-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] {
  --bs-form-check-bg-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: #007bb1;
  border-color: #007bb1;
  --bs-form-check-bg-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 {
  --bs-form-switch-bg: 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");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%28127.5, 189, 216%29'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='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;
}

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

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 123, 177, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 123, 177, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: #007bb1;
  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;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: rgb(178.5, 215.4, 231.6);
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: #007bb1;
  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;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: rgb(178.5, 215.4, 231.6);
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}

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

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

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

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

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

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

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

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

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

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

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

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

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

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

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

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

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

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

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

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

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='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: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

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

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='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");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

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

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

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

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

.formControls .btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  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) {
  .formControls .btn {
    transition: none;
  }
}
.formControls .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 + .formControls .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.formControls .btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .formControls .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .formControls .btn, :not(.btn-check) + .formControls .btn:active, .formControls .btn:first-child:active, .formControls .btn.active, .formControls .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 + .formControls .btn:focus-visible, :not(.btn-check) + .formControls .btn:active:focus-visible, .formControls .btn:first-child:active:focus-visible, .formControls .btn.active:focus-visible, .formControls .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .formControls .btn {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.formControls .btn:disabled, .formControls .btn.disabled, fieldset:disabled .formControls .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);
}
.formControls .btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #007bb1;
  --bs-btn-border-color: #007bb1;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(0, 104.55, 150.45);
  --bs-btn-hover-border-color: rgb(0, 98.4, 141.6);
  --bs-btn-focus-shadow-rgb: 38, 143, 189;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(0, 98.4, 141.6);
  --bs-btn-active-border-color: rgb(0, 92.25, 132.75);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #007bb1;
  --bs-btn-disabled-border-color: #007bb1;
}
.formControls .btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(91.8, 99.45, 106.25);
  --bs-btn-hover-border-color: rgb(86.4, 93.6, 100);
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(86.4, 93.6, 100);
  --bs-btn-active-border-color: rgb(81, 87.75, 93.75);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}
.formControls .btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(21.25, 114.75, 71.4);
  --bs-btn-hover-border-color: rgb(20, 108, 67.2);
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(20, 108, 67.2);
  --bs-btn-active-border-color: rgb(18.75, 101.25, 63);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}
.formControls .btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(49.3, 209.95, 242.25);
  --bs-btn-hover-border-color: rgb(37.2, 207.3, 241.5);
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(61.4, 212.6, 243);
  --bs-btn-active-border-color: rgb(37.2, 207.3, 241.5);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #0dcaf0;
  --bs-btn-disabled-border-color: #0dcaf0;
}
.formControls .btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(255, 202.3, 44.2);
  --bs-btn-hover-border-color: rgb(255, 199.2, 31.8);
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(255, 205.4, 56.6);
  --bs-btn-active-border-color: rgb(255, 199.2, 31.8);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}
.formControls .btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(187, 45.05, 58.65);
  --bs-btn-hover-border-color: rgb(176, 42.4, 55.2);
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(176, 42.4, 55.2);
  --bs-btn-active-border-color: rgb(165, 39.75, 51.75);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dc3545;
  --bs-btn-disabled-border-color: #dc3545;
}
.formControls .btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(210.8, 211.65, 212.5);
  --bs-btn-hover-border-color: rgb(198.4, 199.2, 200);
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(198.4, 199.2, 200);
  --bs-btn-active-border-color: rgb(186, 186.75, 187.5);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}
.formControls .btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(66.3, 69.7, 73.1);
  --bs-btn-hover-border-color: rgb(55.2, 58.8, 62.4);
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(77.4, 80.6, 83.8);
  --bs-btn-active-border-color: rgb(55.2, 58.8, 62.4);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}
.formControls .btn-outline-primary {
  --bs-btn-color: #007bb1;
  --bs-btn-border-color: #007bb1;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #007bb1;
  --bs-btn-hover-border-color: #007bb1;
  --bs-btn-focus-shadow-rgb: 0, 123, 177;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #007bb1;
  --bs-btn-active-border-color: #007bb1;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #007bb1;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #007bb1;
  --bs-gradient: none;
}
.formControls .btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6c757d;
  --bs-btn-active-border-color: #6c757d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6c757d;
  --bs-gradient: none;
}
.formControls .btn-outline-success {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #198754;
  --bs-btn-active-border-color: #198754;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #198754;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #198754;
  --bs-gradient: none;
}
.formControls .btn-outline-info {
  --bs-btn-color: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #0dcaf0;
  --bs-btn-hover-border-color: #0dcaf0;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #0dcaf0;
  --bs-btn-active-border-color: #0dcaf0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0dcaf0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0dcaf0;
  --bs-gradient: none;
}
.formControls .btn-outline-warning {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}
.formControls .btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dc3545;
  --bs-btn-active-border-color: #dc3545;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dc3545;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dc3545;
  --bs-gradient: none;
}
.formControls .btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}
.formControls .btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}
.formControls .btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 38, 143, 189;
  text-decoration: underline;
}
.formControls .btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.formControls .btn-link:hover {
  color: var(--bs-btn-hover-color);
}
.formControls .btn-lg, .formControls .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}
.formControls .btn-sm, .formControls .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0;
  --bs-navbar-color: rgba(0, 0, 0, 0.55);
  --bs-navbar-hover-color: rgba(0, 0, 0, 0.9);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(0, 0, 0, 0.7);
  --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.7);
  --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.7);
  --bs-navbar-nav-link-padding-x: 1rem;
  --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%2833, 37, 41, 0.75%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(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container, .navbar > #viewlet-below-content,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
}

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

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

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

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

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

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

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

.navbar-dark,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: white;
  --bs-navbar-hover-color: white;
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: white;
  --bs-navbar-brand-color: white;
  --bs-navbar-brand-hover-color: white;
  --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='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

[data-bs-theme=dark] .navbar-toggler-icon {
  --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='white' 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-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%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='none' stroke='rgb%280, 49.2, 70.8%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(0, 123, 177, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

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

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

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

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

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

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28102, 175.8, 208.2%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-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28102, 175.8, 208.2%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");
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 1rem;
  --bs-breadcrumb-padding-y: 0.5rem;
  --bs-breadcrumb-margin-bottom: 2rem;
  --bs-breadcrumb-bg: white;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: rgb(118.575, 118.575, 118.575);
  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: #20a7de;
  --bs-pagination-bg: #fff;
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: rgb(22.3622047244, 116.7027559055, 155.1377952756);
  --bs-pagination-hover-bg: #20a7de;
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(0, 123, 177, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #20a7de;
  --bs-pagination-active-border-color: #007bb1;
  --bs-pagination-disabled-color: #cccccc;
  --bs-pagination-disabled-bg: #DDD;
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

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

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

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

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

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

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

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

.alert-heading {
  color: inherit;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='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");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(0, 123, 177, 0.25);
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.carousel {
  position: relative;
}

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

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

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

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

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

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

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

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

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

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

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

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='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") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  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%;
  }
}
.align-baseline {
  vertical-align: baseline;
}

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

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

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

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

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

.float-start {
  float: left;
}

.float-end {
  float: right;
}

.float-none {
  float: none;
}

.object-fit-contain {
  object-fit: contain;
}

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

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

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

.object-fit-none {
  object-fit: none;
}

.opacity-0 {
  opacity: 0;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-100 {
  opacity: 1;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

.overflow-scroll {
  overflow: scroll;
}

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

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

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

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

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

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

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

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

.d-inline {
  display: inline;
}

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

.d-block {
  display: block;
}

.d-grid {
  display: grid;
}

.d-inline-grid {
  display: inline-grid;
}
 
.d-flex {
  display: flex;
}

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

.d-none {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

.position-static {
  position: static;
}

.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

.position-fixed {
  position: fixed;
}

.position-sticky {
  position: sticky;
}

.top-0 {
  top: 0;
}

.top-50 {
  top: 50%;
}

.top-100 {
  top: 100%;
}

.bottom-0 {
  bottom: 0;
}

.bottom-50 {
  bottom: 50%;
}

.bottom-100 {
  bottom: 100%;
}

.start-0 {
  left: 0;
}

.start-50 {
  left: 50%;
}

.start-100 {
  left: 100%;
}

.end-0 {
  right: 0;
}

.end-50 {
  right: 50%;
}

.end-100 {
  right: 100%;
}

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

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

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

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

.border-0 {
  border: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.border-5 {
  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%;
}

.w-50 {
  width: 50%;
}

.w-75 {
  width: 75%;
}

.w-100 {
  width: 100%;
}

.w-auto {
  width: auto;
}

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

.vw-100 {
  width: 100vw;
}

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

.h-25 {
  height: 25%;
}

.h-50 {
  height: 50%;
}

.h-75 {
  height: 75%;
}

.h-100 {
  height: 100%;
}

.h-auto {
  height: auto;
}

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

.vh-100 {
  height: 100vh;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-last {
  order: 6;
}

.m-0 {
  margin: 0;
}

.m-1 {
  margin: 0.25rem;
}

.m-2 {
  margin: 0.5rem;
}

.m-3 {
  margin: 1rem;
}

.m-4 {
  margin: 1.5rem;
}

.m-5 {
  margin: 3rem;
}

.m-auto {
  margin: auto;
}

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

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

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

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

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

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

.mx-auto, .image-left, .image-right {
  margin-right: auto;
  margin-left: auto;
}

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

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

.my-2, .image-left, .image-right {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ms-n5 {
  margin-left: -3rem;
}

.p-0 {
  padding: 0;
}

.p-1 {
  padding: 0.25rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-3 {
  padding: 1rem;
}

.p-4 {
  padding: 1.5rem;
}

.p-5 {
  padding: 3rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.gap-0 {
  gap: 0;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 1rem;
}

.gap-4 {
  gap: 1.5rem;
}

.gap-5 {
  gap: 3rem;
}

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

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

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

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

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

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

.column-gap-0 {
  column-gap: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fw-light {
  font-weight: 200;
}

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

.fw-medium {
  font-weight: 400;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.user-select-all {
  user-select: all;
}

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

.user-select-none {
  user-select: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.rounded-bottom-circle {
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}

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

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

.rounded-start-0 {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

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

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

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

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

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

.rounded-start-circle {
  border-bottom-left-radius: 50%;
  border-top-left-radius: 50%;
}

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

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.z-n1 {
  z-index: -1;
}

.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left;
  }
  .float-sm-end {
    float: right;
  }
  .float-sm-none {
    float: none;
  }
  .object-fit-sm-contain {
    object-fit: contain;
  }
  .object-fit-sm-cover {
    object-fit: cover;
  }
  .object-fit-sm-fill {
    object-fit: fill;
  }
  .object-fit-sm-scale {
    object-fit: scale-down;
  }
  .object-fit-sm-none {
    object-fit: none;
  }
  .d-sm-inline {
    display: inline;
  }
  .d-sm-inline-block {
    display: inline-block;
  }
  .d-sm-block {
    display: block;
  }
  .d-sm-grid {
    display: grid;
  }
  .d-sm-inline-grid {
    display: inline-grid;
  } 
  .d-sm-flex {
    display: flex;
  }
  .d-sm-inline-flex {
    display: inline-flex;
  }
  .d-sm-none {
    display: none;
  }
  .flex-sm-fill {
    flex: 1 1 auto;
  }
  .flex-sm-row {
    flex-direction: row;
  }
  .flex-sm-column {
    flex-direction: column;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-sm-grow-0 {
    flex-grow: 0;
  }
  .flex-sm-grow-1 {
    flex-grow: 1;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1;
  }
  .flex-sm-wrap {
    flex-wrap: wrap;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-sm-start {
    justify-content: flex-start;
  }
  .justify-content-sm-end {
    justify-content: flex-end;
  }
  .justify-content-sm-center {
    justify-content: center;
  }
  .justify-content-sm-between {
    justify-content: space-between;
  }
  .justify-content-sm-around {
    justify-content: space-around;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly;
  }
  .align-items-sm-start {
    align-items: flex-start;
  }
  .align-items-sm-end {
    align-items: flex-end;
  }
  .align-items-sm-center {
    align-items: center;
  }
  .align-items-sm-baseline {
    align-items: baseline;
  }
  .align-items-sm-stretch {
    align-items: stretch;
  }
  .align-content-sm-start {
    align-content: flex-start;
  }
  .align-content-sm-end {
    align-content: flex-end;
  }
  .align-content-sm-center {
    align-content: center;
  }
  .align-content-sm-between {
    align-content: space-between;
  }
  .align-content-sm-around {
    align-content: space-around;
  }
  .align-content-sm-stretch {
    align-content: stretch;
  }
  .align-self-sm-auto {
    align-self: auto;
  }
  .align-self-sm-start {
    align-self: flex-start;
  }
  .align-self-sm-end {
    align-self: flex-end;
  }
  .align-self-sm-center {
    align-self: center;
  }
  .align-self-sm-baseline {
    align-self: baseline;
  }
  .align-self-sm-stretch {
    align-self: stretch;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-last {
    order: 6;
  }
  .m-sm-0 {
    margin: 0;
  }
  .m-sm-1 {
    margin: 0.25rem;
  }
  .m-sm-2 {
    margin: 0.5rem;
  }
  .m-sm-3 {
    margin: 1rem;
  }
  .m-sm-4 {
    margin: 1.5rem;
  }
  .m-sm-5 {
    margin: 3rem;
  }
  .m-sm-auto {
    margin: auto;
  }
  .mx-sm-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-sm-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-sm-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-sm-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-sm-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-sm-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-sm-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-sm-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-sm-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-sm-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-sm-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-sm-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-sm-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-sm-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-sm-0 {
    margin-top: 0;
  }
  .mt-sm-1 {
    margin-top: 0.25rem;
  }
  .mt-sm-2 {
    margin-top: 0.5rem;
  }
  .mt-sm-3 {
    margin-top: 1rem;
  }
  .mt-sm-4 {
    margin-top: 1.5rem;
  }
  .mt-sm-5 {
    margin-top: 3rem;
  }
  .mt-sm-auto {
    margin-top: auto;
  }
  .me-sm-0 {
    margin-right: 0;
  }
  .me-sm-1 {
    margin-right: 0.25rem;
  }
  .me-sm-2 {
    margin-right: 0.5rem;
  }
  .me-sm-3 {
    margin-right: 1rem;
  }
  .me-sm-4 {
    margin-right: 1.5rem;
  }
  .me-sm-5 {
    margin-right: 3rem;
  }
  .me-sm-auto {
    margin-right: auto;
  }
  .mb-sm-0 {
    margin-bottom: 0;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem;
  }
  .mb-sm-3 {
    margin-bottom: 1rem;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem;
  }
  .mb-sm-5 {
    margin-bottom: 3rem;
  }
  .mb-sm-auto {
    margin-bottom: auto;
  }
  .ms-sm-0 {
    margin-left: 0;
  }
  .ms-sm-1 {
    margin-left: 0.25rem;
  }
  .ms-sm-2 {
    margin-left: 0.5rem;
  }
  .ms-sm-3 {
    margin-left: 1rem;
  }
  .ms-sm-4 {
    margin-left: 1.5rem;
  }
  .ms-sm-5 {
    margin-left: 3rem;
  }
  .ms-sm-auto {
    margin-left: auto;
  }
  .m-sm-n1 {
    margin: -0.25rem;
  }
  .m-sm-n2 {
    margin: -0.5rem;
  }
  .m-sm-n3 {
    margin: -1rem;
  }
  .m-sm-n4 {
    margin: -1.5rem;
  }
  .m-sm-n5 {
    margin: -3rem;
  }
  .mx-sm-n1 {
    margin-right: -0.25rem;
    margin-left: -0.25rem;
  }
  .mx-sm-n2 {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  .mx-sm-n3 {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .mx-sm-n4 {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .mx-sm-n5 {
    margin-right: -3rem;
    margin-left: -3rem;
  }
  .my-sm-n1 {
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }
  .my-sm-n2 {
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }
  .my-sm-n3 {
    margin-top: -1rem;
    margin-bottom: -1rem;
  }
  .my-sm-n4 {
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }
  .my-sm-n5 {
    margin-top: -3rem;
    margin-bottom: -3rem;
  }
  .mt-sm-n1 {
    margin-top: -0.25rem;
  }
  .mt-sm-n2 {
    margin-top: -0.5rem;
  }
  .mt-sm-n3 {
    margin-top: -1rem;
  }
  .mt-sm-n4 {
    margin-top: -1.5rem;
  }
  .mt-sm-n5 {
    margin-top: -3rem;
  }
  .me-sm-n1 {
    margin-right: -0.25rem;
  }
  .me-sm-n2 {
    margin-right: -0.5rem;
  }
  .me-sm-n3 {
    margin-right: -1rem;
  }
  .me-sm-n4 {
    margin-right: -1.5rem;
  }
  .me-sm-n5 {
    margin-right: -3rem;
  }
  .mb-sm-n1 {
    margin-bottom: -0.25rem;
  }
  .mb-sm-n2 {
    margin-bottom: -0.5rem;
  }
  .mb-sm-n3 {
    margin-bottom: -1rem;
  }
  .mb-sm-n4 {
    margin-bottom: -1.5rem;
  }
  .mb-sm-n5 {
    margin-bottom: -3rem;
  }
  .ms-sm-n1 {
    margin-left: -0.25rem;
  }
  .ms-sm-n2 {
    margin-left: -0.5rem;
  }
  .ms-sm-n3 {
    margin-left: -1rem;
  }
  .ms-sm-n4 {
    margin-left: -1.5rem;
  }
  .ms-sm-n5 {
    margin-left: -3rem;
  }
  .p-sm-0 {
    padding: 0;
  }
  .p-sm-1 {
    padding: 0.25rem;
  }
  .p-sm-2 {
    padding: 0.5rem;
  }
  .p-sm-3 {
    padding: 1rem;
  }
  .p-sm-4 {
    padding: 1.5rem;
  }
  .p-sm-5 {
    padding: 3rem;
  }
  .px-sm-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-sm-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-sm-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-sm-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-sm-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-sm-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-sm-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-sm-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-sm-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-sm-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-sm-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-sm-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-sm-0 {
    padding-top: 0;
  }
  .pt-sm-1 {
    padding-top: 0.25rem;
  }
  .pt-sm-2 {
    padding-top: 0.5rem;
  }
  .pt-sm-3 {
    padding-top: 1rem;
  }
  .pt-sm-4 {
    padding-top: 1.5rem;
  }
  .pt-sm-5 {
    padding-top: 3rem;
  }
  .pe-sm-0 {
    padding-right: 0;
  }
  .pe-sm-1 {
    padding-right: 0.25rem;
  }
  .pe-sm-2 {
    padding-right: 0.5rem;
  }
  .pe-sm-3 {
    padding-right: 1rem;
  }
  .pe-sm-4 {
    padding-right: 1.5rem;
  }
  .pe-sm-5 {
    padding-right: 3rem;
  }
  .pb-sm-0 {
    padding-bottom: 0;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem;
  }
  .pb-sm-3 {
    padding-bottom: 1rem;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem;
  }
  .pb-sm-5 {
    padding-bottom: 3rem;
  }
  .ps-sm-0 {
    padding-left: 0;
  }
  .ps-sm-1 {
    padding-left: 0.25rem;
  }
  .ps-sm-2 {
    padding-left: 0.5rem;
  }
  .ps-sm-3 {
    padding-left: 1rem;
  }
  .ps-sm-4 {
    padding-left: 1.5rem;
  }
  .ps-sm-5 {
    padding-left: 3rem;
  }
  .gap-sm-0 {
    gap: 0;
  }
  .gap-sm-1 {
    gap: 0.25rem;
  }
  .gap-sm-2 {
    gap: 0.5rem;
  }
  .gap-sm-3 {
    gap: 1rem;
  }
  .gap-sm-4 {
    gap: 1.5rem;
  }
  .gap-sm-5 {
    gap: 3rem;
  }
  .row-gap-sm-0 {
    row-gap: 0;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem;
  }
  .row-gap-sm-3 {
    row-gap: 1rem;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem;
  }
  .row-gap-sm-5 {
    row-gap: 3rem;
  }
  .column-gap-sm-0 {
    column-gap: 0;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem;
  }
  .column-gap-sm-3 {
    column-gap: 1rem;
  }
  .column-gap-sm-4 {
    column-gap: 1.5rem;
  }
  .column-gap-sm-5 {
    column-gap: 3rem;
  }
  .text-sm-start {
    text-align: left;
  }
  .text-sm-end {
    text-align: right;
  }
  .text-sm-center {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .float-md-start, .image-left.picture-variant-small {
    float: left;
  }
  .float-md-end, .image-right.picture-variant-small {
    float: right;
  }
  .float-md-none {
    float: none;
  }
  .object-fit-md-contain {
    object-fit: contain;
  }
  .object-fit-md-cover {
    object-fit: cover;
  }
  .object-fit-md-fill {
    object-fit: fill;
  }
  .object-fit-md-scale {
    object-fit: scale-down;
  }
  .object-fit-md-none {
    object-fit: none;
  }
  .d-md-inline {
    display: inline;
  }
  .d-md-inline-block {
    display: inline-block;
  }
  .d-md-block {
    display: block;
  }
  .d-md-grid {
    display: grid;
  }
  .d-md-inline-grid {
    display: inline-grid;
  } 
  .d-md-flex {
    display: flex;
  }
  .d-md-inline-flex {
    display: inline-flex;
  }
  .d-md-none {
    display: none;
  }
  .flex-md-fill {
    flex: 1 1 auto;
  }
  .flex-md-row {
    flex-direction: row;
  }
  .flex-md-column {
    flex-direction: column;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-md-grow-0 {
    flex-grow: 0;
  }
  .flex-md-grow-1 {
    flex-grow: 1;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1;
  }
  .flex-md-wrap {
    flex-wrap: wrap;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-md-start {
    justify-content: flex-start;
  }
  .justify-content-md-end {
    justify-content: flex-end;
  }
  .justify-content-md-center {
    justify-content: center;
  }
  .justify-content-md-between {
    justify-content: space-between;
  }
  .justify-content-md-around {
    justify-content: space-around;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly;
  }
  .align-items-md-start {
    align-items: flex-start;
  }
  .align-items-md-end {
    align-items: flex-end;
  }
  .align-items-md-center {
    align-items: center;
  }
  .align-items-md-baseline {
    align-items: baseline;
  }
  .align-items-md-stretch {
    align-items: stretch;
  }
  .align-content-md-start {
    align-content: flex-start;
  }
  .align-content-md-end {
    align-content: flex-end;
  }
  .align-content-md-center {
    align-content: center;
  }
  .align-content-md-between {
    align-content: space-between;
  }
  .align-content-md-around {
    align-content: space-around;
  }
  .align-content-md-stretch {
    align-content: stretch;
  }
  .align-self-md-auto {
    align-self: auto;
  }
  .align-self-md-start {
    align-self: flex-start;
  }
  .align-self-md-end {
    align-self: flex-end;
  }
  .align-self-md-center {
    align-self: center;
  }
  .align-self-md-baseline {
    align-self: baseline;
  }
  .align-self-md-stretch {
    align-self: stretch;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-last {
    order: 6;
  }
  .m-md-0 {
    margin: 0;
  }
  .m-md-1 {
    margin: 0.25rem;
  }
  .m-md-2 {
    margin: 0.5rem;
  }
  .m-md-3 {
    margin: 1rem;
  }
  .m-md-4 {
    margin: 1.5rem;
  }
  .m-md-5 {
    margin: 3rem;
  }
  .m-md-auto {
    margin: auto;
  }
  .mx-md-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-md-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-md-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-md-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-md-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-md-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-md-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-md-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-md-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-md-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-md-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-md-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-md-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-md-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-md-0 {
    margin-top: 0;
  }
  .mt-md-1 {
    margin-top: 0.25rem;
  }
  .mt-md-2 {
    margin-top: 0.5rem;
  }
  .mt-md-3 {
    margin-top: 1rem;
  }
  .mt-md-4 {
    margin-top: 1.5rem;
  }
  .mt-md-5 {
    margin-top: 3rem;
  }
  .mt-md-auto {
    margin-top: auto;
  }
  .me-md-0 {
    margin-right: 0;
  }
  .me-md-1 {
    margin-right: 0.25rem;
  }
  .me-md-2, .image-left.picture-variant-small {
    margin-right: 0.5rem;
  }
  .me-md-3 {
    margin-right: 1rem;
  }
  .me-md-4 {
    margin-right: 1.5rem;
  }
  .me-md-5 {
    margin-right: 3rem;
  }
  .me-md-auto {
    margin-right: auto;
  }
  .mb-md-0 {
    margin-bottom: 0;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem;
  }
  .mb-md-3 {
    margin-bottom: 1rem;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem;
  }
  .mb-md-5 {
    margin-bottom: 3rem;
  }
  .mb-md-auto {
    margin-bottom: auto;
  }
  .ms-md-0 {
    margin-left: 0;
  }
  .ms-md-1 {
    margin-left: 0.25rem;
  }
  .ms-md-2, .image-right.picture-variant-small {
    margin-left: 0.5rem;
  }
  .ms-md-3 {
    margin-left: 1rem;
  }
  .ms-md-4 {
    margin-left: 1.5rem;
  }
  .ms-md-5 {
    margin-left: 3rem;
  }
  .ms-md-auto {
    margin-left: auto;
  }
  .m-md-n1 {
    margin: -0.25rem;
  }
  .m-md-n2 {
    margin: -0.5rem;
  }
  .m-md-n3 {
    margin: -1rem;
  }
  .m-md-n4 {
    margin: -1.5rem;
  }
  .m-md-n5 {
    margin: -3rem;
  }
  .mx-md-n1 {
    margin-right: -0.25rem;
    margin-left: -0.25rem;
  }
  .mx-md-n2 {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  .mx-md-n3 {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .mx-md-n4 {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .mx-md-n5 {
    margin-right: -3rem;
    margin-left: -3rem;
  }
  .my-md-n1 {
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }
  .my-md-n2 {
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }
  .my-md-n3 {
    margin-top: -1rem;
    margin-bottom: -1rem;
  }
  .my-md-n4 {
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }
  .my-md-n5 {
    margin-top: -3rem;
    margin-bottom: -3rem;
  }
  .mt-md-n1 {
    margin-top: -0.25rem;
  }
  .mt-md-n2 {
    margin-top: -0.5rem;
  }
  .mt-md-n3 {
    margin-top: -1rem;
  }
  .mt-md-n4 {
    margin-top: -1.5rem;
  }
  .mt-md-n5 {
    margin-top: -3rem;
  }
  .me-md-n1 {
    margin-right: -0.25rem;
  }
  .me-md-n2 {
    margin-right: -0.5rem;
  }
  .me-md-n3 {
    margin-right: -1rem;
  }
  .me-md-n4 {
    margin-right: -1.5rem;
  }
  .me-md-n5 {
    margin-right: -3rem;
  }
  .mb-md-n1 {
    margin-bottom: -0.25rem;
  }
  .mb-md-n2 {
    margin-bottom: -0.5rem;
  }
  .mb-md-n3 {
    margin-bottom: -1rem;
  }
  .mb-md-n4 {
    margin-bottom: -1.5rem;
  }
  .mb-md-n5 {
    margin-bottom: -3rem;
  }
  .ms-md-n1 {
    margin-left: -0.25rem;
  }
  .ms-md-n2 {
    margin-left: -0.5rem;
  }
  .ms-md-n3 {
    margin-left: -1rem;
  }
  .ms-md-n4 {
    margin-left: -1.5rem;
  }
  .ms-md-n5 {
    margin-left: -3rem;
  }
  .p-md-0 {
    padding: 0;
  }
  .p-md-1 {
    padding: 0.25rem;
  }
  .p-md-2 {
    padding: 0.5rem;
  }
  .p-md-3 {
    padding: 1rem;
  }
  .p-md-4 {
    padding: 1.5rem;
  }
  .p-md-5 {
    padding: 3rem;
  }
  .px-md-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-md-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-md-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-md-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-md-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-md-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-md-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-md-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-md-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-md-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-md-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-md-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-md-0 {
    padding-top: 0;
  }
  .pt-md-1 {
    padding-top: 0.25rem;
  }
  .pt-md-2 {
    padding-top: 0.5rem;
  }
  .pt-md-3 {
    padding-top: 1rem;
  }
  .pt-md-4 {
    padding-top: 1.5rem;
  }
  .pt-md-5 {
    padding-top: 3rem;
  }
  .pe-md-0 {
    padding-right: 0;
  }
  .pe-md-1 {
    padding-right: 0.25rem;
  }
  .pe-md-2 {
    padding-right: 0.5rem;
  }
  .pe-md-3 {
    padding-right: 1rem;
  }
  .pe-md-4 {
    padding-right: 1.5rem;
  }
  .pe-md-5 {
    padding-right: 3rem;
  }
  .pb-md-0 {
    padding-bottom: 0;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem;
  }
  .pb-md-3 {
    padding-bottom: 1rem;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem;
  }
  .pb-md-5 {
    padding-bottom: 3rem;
  }
  .ps-md-0 {
    padding-left: 0;
  }
  .ps-md-1 {
    padding-left: 0.25rem;
  }
  .ps-md-2 {
    padding-left: 0.5rem;
  }
  .ps-md-3 {
    padding-left: 1rem;
  }
  .ps-md-4 {
    padding-left: 1.5rem;
  }
  .ps-md-5 {
    padding-left: 3rem;
  }
  .gap-md-0 {
    gap: 0;
  }
  .gap-md-1 {
    gap: 0.25rem;
  }
  .gap-md-2 {
    gap: 0.5rem;
  }
  .gap-md-3 {
    gap: 1rem;
  }
  .gap-md-4 {
    gap: 1.5rem;
  }
  .gap-md-5 {
    gap: 3rem;
  }
  .row-gap-md-0 {
    row-gap: 0;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem;
  }
  .row-gap-md-3 {
    row-gap: 1rem;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem;
  }
  .row-gap-md-5 {
    row-gap: 3rem;
  }
  .column-gap-md-0 {
    column-gap: 0;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem;
  }
  .column-gap-md-3 {
    column-gap: 1rem;
  }
  .column-gap-md-4 {
    column-gap: 1.5rem;
  }
  .column-gap-md-5 {
    column-gap: 3rem;
  }
  .text-md-start {
    text-align: left;
  }
  .text-md-end {
    text-align: right;
  }
  .text-md-center {
    text-align: center;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left;
  }
  .float-lg-end {
    float: right;
  }
  .float-lg-none {
    float: none;
  }
  .object-fit-lg-contain {
    object-fit: contain;
  }
  .object-fit-lg-cover {
    object-fit: cover;
  }
  .object-fit-lg-fill {
    object-fit: fill;
  }
  .object-fit-lg-scale {
    object-fit: scale-down;
  }
  .object-fit-lg-none {
    object-fit: none;
  }
  .d-lg-inline {
    display: inline;
  }
  .d-lg-inline-block {
    display: inline-block;
  }
  .d-lg-block {
    display: block;
  }
  .d-lg-grid {
    display: grid;
  }
  .d-lg-inline-grid {
    display: inline-grid;
  } 
  .d-lg-flex {
    display: flex;
  }
  .d-lg-inline-flex {
    display: inline-flex;
  }
  .d-lg-none {
    display: none;
  }
  .flex-lg-fill {
    flex: 1 1 auto;
  }
  .flex-lg-row {
    flex-direction: row;
  }
  .flex-lg-column {
    flex-direction: column;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-lg-grow-0 {
    flex-grow: 0;
  }
  .flex-lg-grow-1 {
    flex-grow: 1;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1;
  }
  .flex-lg-wrap {
    flex-wrap: wrap;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-lg-start {
    justify-content: flex-start;
  }
  .justify-content-lg-end {
    justify-content: flex-end;
  }
  .justify-content-lg-center {
    justify-content: center;
  }
  .justify-content-lg-between {
    justify-content: space-between;
  }
  .justify-content-lg-around {
    justify-content: space-around;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly;
  }
  .align-items-lg-start {
    align-items: flex-start;
  }
  .align-items-lg-end {
    align-items: flex-end;
  }
  .align-items-lg-center {
    align-items: center;
  }
  .align-items-lg-baseline {
    align-items: baseline;
  }
  .align-items-lg-stretch {
    align-items: stretch;
  }
  .align-content-lg-start {
    align-content: flex-start;
  }
  .align-content-lg-end {
    align-content: flex-end;
  }
  .align-content-lg-center {
    align-content: center;
  }
  .align-content-lg-between {
    align-content: space-between;
  }
  .align-content-lg-around {
    align-content: space-around;
  }
  .align-content-lg-stretch {
    align-content: stretch;
  }
  .align-self-lg-auto {
    align-self: auto;
  }
  .align-self-lg-start {
    align-self: flex-start;
  }
  .align-self-lg-end {
    align-self: flex-end;
  }
  .align-self-lg-center {
    align-self: center;
  }
  .align-self-lg-baseline {
    align-self: baseline;
  }
  .align-self-lg-stretch {
    align-self: stretch;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-last {
    order: 6;
  }
  .m-lg-0 {
    margin: 0;
  }
  .m-lg-1 {
    margin: 0.25rem;
  }
  .m-lg-2 {
    margin: 0.5rem;
  }
  .m-lg-3 {
    margin: 1rem;
  }
  .m-lg-4 {
    margin: 1.5rem;
  }
  .m-lg-5 {
    margin: 3rem;
  }
  .m-lg-auto {
    margin: auto;
  }
  .mx-lg-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-lg-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-lg-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-lg-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-lg-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-lg-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-lg-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-lg-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-lg-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-lg-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-lg-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-lg-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-lg-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-lg-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-lg-0 {
    margin-top: 0;
  }
  .mt-lg-1 {
    margin-top: 0.25rem;
  }
  .mt-lg-2 {
    margin-top: 0.5rem;
  }
  .mt-lg-3 {
    margin-top: 1rem;
  }
  .mt-lg-4 {
    margin-top: 1.5rem;
  }
  .mt-lg-5 {
    margin-top: 3rem;
  }
  .mt-lg-auto {
    margin-top: auto;
  }
  .me-lg-0 {
    margin-right: 0;
  }
  .me-lg-1 {
    margin-right: 0.25rem;
  }
  .me-lg-2 {
    margin-right: 0.5rem;
  }
  .me-lg-3 {
    margin-right: 1rem;
  }
  .me-lg-4 {
    margin-right: 1.5rem;
  }
  .me-lg-5 {
    margin-right: 3rem;
  }
  .me-lg-auto {
    margin-right: auto;
  }
  .mb-lg-0 {
    margin-bottom: 0;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem;
  }
  .mb-lg-3 {
    margin-bottom: 1rem;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem;
  }
  .mb-lg-5 {
    margin-bottom: 3rem;
  }
  .mb-lg-auto {
    margin-bottom: auto;
  }
  .ms-lg-0 {
    margin-left: 0;
  }
  .ms-lg-1 {
    margin-left: 0.25rem;
  }
  .ms-lg-2 {
    margin-left: 0.5rem;
  }
  .ms-lg-3 {
    margin-left: 1rem;
  }
  .ms-lg-4 {
    margin-left: 1.5rem;
  }
  .ms-lg-5 {
    margin-left: 3rem;
  }
  .ms-lg-auto {
    margin-left: auto;
  }
  .m-lg-n1 {
    margin: -0.25rem;
  }
  .m-lg-n2 {
    margin: -0.5rem;
  }
  .m-lg-n3 {
    margin: -1rem;
  }
  .m-lg-n4 {
    margin: -1.5rem;
  }
  .m-lg-n5 {
    margin: -3rem;
  }
  .mx-lg-n1 {
    margin-right: -0.25rem;
    margin-left: -0.25rem;
  }
  .mx-lg-n2 {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  .mx-lg-n3 {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .mx-lg-n4 {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .mx-lg-n5 {
    margin-right: -3rem;
    margin-left: -3rem;
  }
  .my-lg-n1 {
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }
  .my-lg-n2 {
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }
  .my-lg-n3 {
    margin-top: -1rem;
    margin-bottom: -1rem;
  }
  .my-lg-n4 {
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }
  .my-lg-n5 {
    margin-top: -3rem;
    margin-bottom: -3rem;
  }
  .mt-lg-n1 {
    margin-top: -0.25rem;
  }
  .mt-lg-n2 {
    margin-top: -0.5rem;
  }
  .mt-lg-n3 {
    margin-top: -1rem;
  }
  .mt-lg-n4 {
    margin-top: -1.5rem;
  }
  .mt-lg-n5 {
    margin-top: -3rem;
  }
  .me-lg-n1 {
    margin-right: -0.25rem;
  }
  .me-lg-n2 {
    margin-right: -0.5rem;
  }
  .me-lg-n3 {
    margin-right: -1rem;
  }
  .me-lg-n4 {
    margin-right: -1.5rem;
  }
  .me-lg-n5 {
    margin-right: -3rem;
  }
  .mb-lg-n1 {
    margin-bottom: -0.25rem;
  }
  .mb-lg-n2 {
    margin-bottom: -0.5rem;
  }
  .mb-lg-n3 {
    margin-bottom: -1rem;
  }
  .mb-lg-n4 {
    margin-bottom: -1.5rem;
  }
  .mb-lg-n5 {
    margin-bottom: -3rem;
  }
  .ms-lg-n1 {
    margin-left: -0.25rem;
  }
  .ms-lg-n2 {
    margin-left: -0.5rem;
  }
  .ms-lg-n3 {
    margin-left: -1rem;
  }
  .ms-lg-n4 {
    margin-left: -1.5rem;
  }
  .ms-lg-n5 {
    margin-left: -3rem;
  }
  .p-lg-0 {
    padding: 0;
  }
  .p-lg-1 {
    padding: 0.25rem;
  }
  .p-lg-2 {
    padding: 0.5rem;
  }
  .p-lg-3 {
    padding: 1rem;
  }
  .p-lg-4 {
    padding: 1.5rem;
  }
  .p-lg-5 {
    padding: 3rem;
  }
  .px-lg-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-lg-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-lg-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-lg-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-lg-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-lg-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-lg-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-lg-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-lg-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-lg-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-lg-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-lg-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-lg-0 {
    padding-top: 0;
  }
  .pt-lg-1 {
    padding-top: 0.25rem;
  }
  .pt-lg-2 {
    padding-top: 0.5rem;
  }
  .pt-lg-3 {
    padding-top: 1rem;
  }
  .pt-lg-4 {
    padding-top: 1.5rem;
  }
  .pt-lg-5 {
    padding-top: 3rem;
  }
  .pe-lg-0 {
    padding-right: 0;
  }
  .pe-lg-1 {
    padding-right: 0.25rem;
  }
  .pe-lg-2 {
    padding-right: 0.5rem;
  }
  .pe-lg-3 {
    padding-right: 1rem;
  }
  .pe-lg-4 {
    padding-right: 1.5rem;
  }
  .pe-lg-5 {
    padding-right: 3rem;
  }
  .pb-lg-0 {
    padding-bottom: 0;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem;
  }
  .pb-lg-3 {
    padding-bottom: 1rem;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem;
  }
  .pb-lg-5 {
    padding-bottom: 3rem;
  }
  .ps-lg-0 {
    padding-left: 0;
  }
  .ps-lg-1 {
    padding-left: 0.25rem;
  }
  .ps-lg-2 {
    padding-left: 0.5rem;
  }
  .ps-lg-3 {
    padding-left: 1rem;
  }
  .ps-lg-4 {
    padding-left: 1.5rem;
  }
  .ps-lg-5 {
    padding-left: 3rem;
  }
  .gap-lg-0 {
    gap: 0;
  }
  .gap-lg-1 {
    gap: 0.25rem;
  }
  .gap-lg-2 {
    gap: 0.5rem;
  }
  .gap-lg-3 {
    gap: 1rem;
  }
  .gap-lg-4 {
    gap: 1.5rem;
  }
  .gap-lg-5 {
    gap: 3rem;
  }
  .row-gap-lg-0 {
    row-gap: 0;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem;
  }
  .row-gap-lg-3 {
    row-gap: 1rem;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem;
  }
  .row-gap-lg-5 {
    row-gap: 3rem;
  }
  .column-gap-lg-0 {
    column-gap: 0;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem;
  }
  .column-gap-lg-3 {
    column-gap: 1rem;
  }
  .column-gap-lg-4 {
    column-gap: 1.5rem;
  }
  .column-gap-lg-5 {
    column-gap: 3rem;
  }
  .text-lg-start {
    text-align: left;
  }
  .text-lg-end {
    text-align: right;
  }
  .text-lg-center {
    text-align: center;
  }
}
@media (min-width: 1200px) {
  .float-xl-start, .image-left.picture-variant-medium {
    float: left;
  }
  .float-xl-end, .image-right.picture-variant-medium {
    float: right;
  }
  .float-xl-none {
    float: none;
  }
  .object-fit-xl-contain {
    object-fit: contain;
  }
  .object-fit-xl-cover {
    object-fit: cover;
  }
  .object-fit-xl-fill {
    object-fit: fill;
  }
  .object-fit-xl-scale {
    object-fit: scale-down;
  }
  .object-fit-xl-none {
    object-fit: none;
  }
  .d-xl-inline {
    display: inline;
  }
  .d-xl-inline-block {
    display: inline-block;
  }
  .d-xl-block {
    display: block;
  }
  .d-xl-grid {
    display: grid;
  }
  .d-xl-inline-grid {
    display: inline-grid;
  } 
  .d-xl-flex {
    display: flex;
  }
  .d-xl-inline-flex {
    display: inline-flex;
  }
  .d-xl-none {
    display: none;
  }
  .flex-xl-fill {
    flex: 1 1 auto;
  }
  .flex-xl-row {
    flex-direction: row;
  }
  .flex-xl-column {
    flex-direction: column;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-xl-grow-0 {
    flex-grow: 0;
  }
  .flex-xl-grow-1 {
    flex-grow: 1;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1;
  }
  .flex-xl-wrap {
    flex-wrap: wrap;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-xl-start {
    justify-content: flex-start;
  }
  .justify-content-xl-end {
    justify-content: flex-end;
  }
  .justify-content-xl-center {
    justify-content: center;
  }
  .justify-content-xl-between {
    justify-content: space-between;
  }
  .justify-content-xl-around {
    justify-content: space-around;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly;
  }
  .align-items-xl-start {
    align-items: flex-start;
  }
  .align-items-xl-end {
    align-items: flex-end;
  }
  .align-items-xl-center {
    align-items: center;
  }
  .align-items-xl-baseline {
    align-items: baseline;
  }
  .align-items-xl-stretch {
    align-items: stretch;
  }
  .align-content-xl-start {
    align-content: flex-start;
  }
  .align-content-xl-end {
    align-content: flex-end;
  }
  .align-content-xl-center {
    align-content: center;
  }
  .align-content-xl-between {
    align-content: space-between;
  }
  .align-content-xl-around {
    align-content: space-around;
  }
  .align-content-xl-stretch {
    align-content: stretch;
  }
  .align-self-xl-auto {
    align-self: auto;
  }
  .align-self-xl-start {
    align-self: flex-start;
  }
  .align-self-xl-end {
    align-self: flex-end;
  }
  .align-self-xl-center {
    align-self: center;
  }
  .align-self-xl-baseline {
    align-self: baseline;
  }
  .align-self-xl-stretch {
    align-self: stretch;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-last {
    order: 6;
  }
  .m-xl-0 {
    margin: 0;
  }
  .m-xl-1 {
    margin: 0.25rem;
  }
  .m-xl-2 {
    margin: 0.5rem;
  }
  .m-xl-3 {
    margin: 1rem;
  }
  .m-xl-4 {
    margin: 1.5rem;
  }
  .m-xl-5 {
    margin: 3rem;
  }
  .m-xl-auto {
    margin: auto;
  }
  .mx-xl-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-xl-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-xl-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-xl-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-xl-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-xl-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-xl-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-xl-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-xl-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-xl-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-xl-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-xl-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-xl-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-xl-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-xl-0 {
    margin-top: 0;
  }
  .mt-xl-1 {
    margin-top: 0.25rem;
  }
  .mt-xl-2 {
    margin-top: 0.5rem;
  }
  .mt-xl-3 {
    margin-top: 1rem;
  }
  .mt-xl-4 {
    margin-top: 1.5rem;
  }
  .mt-xl-5 {
    margin-top: 3rem;
  }
  .mt-xl-auto {
    margin-top: auto;
  }
  .me-xl-0 {
    margin-right: 0;
  }
  .me-xl-1 {
    margin-right: 0.25rem;
  }
  .me-xl-2, .image-left.picture-variant-medium {
    margin-right: 0.5rem;
  }
  .me-xl-3 {
    margin-right: 1rem;
  }
  .me-xl-4 {
    margin-right: 1.5rem;
  }
  .me-xl-5 {
    margin-right: 3rem;
  }
  .me-xl-auto {
    margin-right: auto;
  }
  .mb-xl-0 {
    margin-bottom: 0;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem;
  }
  .mb-xl-3 {
    margin-bottom: 1rem;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem;
  }
  .mb-xl-5 {
    margin-bottom: 3rem;
  }
  .mb-xl-auto {
    margin-bottom: auto;
  }
  .ms-xl-0 {
    margin-left: 0;
  }
  .ms-xl-1 {
    margin-left: 0.25rem;
  }
  .ms-xl-2, .image-right.picture-variant-medium {
    margin-left: 0.5rem;
  }
  .ms-xl-3 {
    margin-left: 1rem;
  }
  .ms-xl-4 {
    margin-left: 1.5rem;
  }
  .ms-xl-5 {
    margin-left: 3rem;
  }
  .ms-xl-auto {
    margin-left: auto;
  }
  .m-xl-n1 {
    margin: -0.25rem;
  }
  .m-xl-n2 {
    margin: -0.5rem;
  }
  .m-xl-n3 {
    margin: -1rem;
  }
  .m-xl-n4 {
    margin: -1.5rem;
  }
  .m-xl-n5 {
    margin: -3rem;
  }
  .mx-xl-n1 {
    margin-right: -0.25rem;
    margin-left: -0.25rem;
  }
  .mx-xl-n2 {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  .mx-xl-n3 {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .mx-xl-n4 {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .mx-xl-n5 {
    margin-right: -3rem;
    margin-left: -3rem;
  }
  .my-xl-n1 {
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }
  .my-xl-n2 {
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }
  .my-xl-n3 {
    margin-top: -1rem;
    margin-bottom: -1rem;
  }
  .my-xl-n4 {
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }
  .my-xl-n5 {
    margin-top: -3rem;
    margin-bottom: -3rem;
  }
  .mt-xl-n1 {
    margin-top: -0.25rem;
  }
  .mt-xl-n2 {
    margin-top: -0.5rem;
  }
  .mt-xl-n3 {
    margin-top: -1rem;
  }
  .mt-xl-n4 {
    margin-top: -1.5rem;
  }
  .mt-xl-n5 {
    margin-top: -3rem;
  }
  .me-xl-n1 {
    margin-right: -0.25rem;
  }
  .me-xl-n2 {
    margin-right: -0.5rem;
  }
  .me-xl-n3 {
    margin-right: -1rem;
  }
  .me-xl-n4 {
    margin-right: -1.5rem;
  }
  .me-xl-n5 {
    margin-right: -3rem;
  }
  .mb-xl-n1 {
    margin-bottom: -0.25rem;
  }
  .mb-xl-n2 {
    margin-bottom: -0.5rem;
  }
  .mb-xl-n3 {
    margin-bottom: -1rem;
  }
  .mb-xl-n4 {
    margin-bottom: -1.5rem;
  }
  .mb-xl-n5 {
    margin-bottom: -3rem;
  }
  .ms-xl-n1 {
    margin-left: -0.25rem;
  }
  .ms-xl-n2 {
    margin-left: -0.5rem;
  }
  .ms-xl-n3 {
    margin-left: -1rem;
  }
  .ms-xl-n4 {
    margin-left: -1.5rem;
  }
  .ms-xl-n5 {
    margin-left: -3rem;
  }
  .p-xl-0 {
    padding: 0;
  }
  .p-xl-1 {
    padding: 0.25rem;
  }
  .p-xl-2 {
    padding: 0.5rem;
  }
  .p-xl-3 {
    padding: 1rem;
  }
  .p-xl-4 {
    padding: 1.5rem;
  }
  .p-xl-5 {
    padding: 3rem;
  }
  .px-xl-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-xl-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-xl-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-xl-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-xl-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-xl-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-xl-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-xl-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-xl-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-xl-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-xl-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-xl-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-xl-0 {
    padding-top: 0;
  }
  .pt-xl-1 {
    padding-top: 0.25rem;
  }
  .pt-xl-2 {
    padding-top: 0.5rem;
  }
  .pt-xl-3 {
    padding-top: 1rem;
  }
  .pt-xl-4 {
    padding-top: 1.5rem;
  }
  .pt-xl-5 {
    padding-top: 3rem;
  }
  .pe-xl-0 {
    padding-right: 0;
  }
  .pe-xl-1 {
    padding-right: 0.25rem;
  }
  .pe-xl-2 {
    padding-right: 0.5rem;
  }
  .pe-xl-3 {
    padding-right: 1rem;
  }
  .pe-xl-4 {
    padding-right: 1.5rem;
  }
  .pe-xl-5 {
    padding-right: 3rem;
  }
  .pb-xl-0 {
    padding-bottom: 0;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem;
  }
  .pb-xl-3 {
    padding-bottom: 1rem;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem;
  }
  .pb-xl-5 {
    padding-bottom: 3rem;
  }
  .ps-xl-0 {
    padding-left: 0;
  }
  .ps-xl-1 {
    padding-left: 0.25rem;
  }
  .ps-xl-2 {
    padding-left: 0.5rem;
  }
  .ps-xl-3 {
    padding-left: 1rem;
  }
  .ps-xl-4 {
    padding-left: 1.5rem;
  }
  .ps-xl-5 {
    padding-left: 3rem;
  }
  .gap-xl-0 {
    gap: 0;
  }
  .gap-xl-1 {
    gap: 0.25rem;
  }
  .gap-xl-2 {
    gap: 0.5rem;
  }
  .gap-xl-3 {
    gap: 1rem;
  }
  .gap-xl-4 {
    gap: 1.5rem;
  }
  .gap-xl-5 {
    gap: 3rem;
  }
  .row-gap-xl-0 {
    row-gap: 0;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem;
  }
  .row-gap-xl-3 {
    row-gap: 1rem;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem;
  }
  .row-gap-xl-5 {
    row-gap: 3rem;
  }
  .column-gap-xl-0 {
    column-gap: 0;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem;
  }
  .column-gap-xl-3 {
    column-gap: 1rem;
  }
  .column-gap-xl-4 {
    column-gap: 1.5rem;
  }
  .column-gap-xl-5 {
    column-gap: 3rem;
  }
  .text-xl-start {
    text-align: left;
  }
  .text-xl-end {
    text-align: right;
  }
  .text-xl-center {
    text-align: center;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start, .image-left.picture-variant-large {
    float: left;
  }
  .float-xxl-end, .image-right.picture-variant-large {
    float: right;
  }
  .float-xxl-none {
    float: none;
  }
  .object-fit-xxl-contain {
    object-fit: contain;
  }
  .object-fit-xxl-cover {
    object-fit: cover;
  }
  .object-fit-xxl-fill {
    object-fit: fill;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down;
  }
  .object-fit-xxl-none {
    object-fit: none;
  }
  .d-xxl-inline {
    display: inline;
  }
  .d-xxl-inline-block {
    display: inline-block;
  }
  .d-xxl-block {
    display: block;
  }
  .d-xxl-grid {
    display: grid;
  }
  .d-xxl-inline-grid {
    display: inline-grid;
  } 
  .d-xxl-flex {
    display: flex;
  }
  .d-xxl-inline-flex {
    display: inline-flex;
  }
  .d-xxl-none {
    display: none;
  }
  .flex-xxl-fill {
    flex: 1 1 auto;
  }
  .flex-xxl-row {
    flex-direction: row;
  }
  .flex-xxl-column {
    flex-direction: column;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-xxl-start {
    justify-content: flex-start;
  }
  .justify-content-xxl-end {
    justify-content: flex-end;
  }
  .justify-content-xxl-center {
    justify-content: center;
  }
  .justify-content-xxl-between {
    justify-content: space-between;
  }
  .justify-content-xxl-around {
    justify-content: space-around;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly;
  }
  .align-items-xxl-start {
    align-items: flex-start;
  }
  .align-items-xxl-end {
    align-items: flex-end;
  }
  .align-items-xxl-center {
    align-items: center;
  }
  .align-items-xxl-baseline {
    align-items: baseline;
  }
  .align-items-xxl-stretch {
    align-items: stretch;
  }
  .align-content-xxl-start {
    align-content: flex-start;
  }
  .align-content-xxl-end {
    align-content: flex-end;
  }
  .align-content-xxl-center {
    align-content: center;
  }
  .align-content-xxl-between {
    align-content: space-between;
  }
  .align-content-xxl-around {
    align-content: space-around;
  }
  .align-content-xxl-stretch {
    align-content: stretch;
  }
  .align-self-xxl-auto {
    align-self: auto;
  }
  .align-self-xxl-start {
    align-self: flex-start;
  }
  .align-self-xxl-end {
    align-self: flex-end;
  }
  .align-self-xxl-center {
    align-self: center;
  }
  .align-self-xxl-baseline {
    align-self: baseline;
  }
  .align-self-xxl-stretch {
    align-self: stretch;
  }
  .order-xxl-first {
    order: -1;
  }
  .order-xxl-0 {
    order: 0;
  }
  .order-xxl-1 {
    order: 1;
  }
  .order-xxl-2 {
    order: 2;
  }
  .order-xxl-3 {
    order: 3;
  }
  .order-xxl-4 {
    order: 4;
  }
  .order-xxl-5 {
    order: 5;
  }
  .order-xxl-last {
    order: 6;
  }
  .m-xxl-0 {
    margin: 0;
  }
  .m-xxl-1 {
    margin: 0.25rem;
  }
  .m-xxl-2 {
    margin: 0.5rem;
  }
  .m-xxl-3 {
    margin: 1rem;
  }
  .m-xxl-4 {
    margin: 1.5rem;
  }
  .m-xxl-5 {
    margin: 3rem;
  }
  .m-xxl-auto {
    margin: auto;
  }
  .mx-xxl-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-xxl-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-xxl-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-xxl-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-xxl-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-xxl-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-xxl-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-xxl-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-xxl-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-xxl-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-xxl-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-xxl-0 {
    margin-top: 0;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem;
  }
  .mt-xxl-3 {
    margin-top: 1rem;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem;
  }
  .mt-xxl-5 {
    margin-top: 3rem;
  }
  .mt-xxl-auto {
    margin-top: auto;
  }
  .me-xxl-0 {
    margin-right: 0;
  }
  .me-xxl-1 {
    margin-right: 0.25rem;
  }
  .me-xxl-2, .image-left.picture-variant-large {
    margin-right: 0.5rem;
  }
  .me-xxl-3 {
    margin-right: 1rem;
  }
  .me-xxl-4 {
    margin-right: 1.5rem;
  }
  .me-xxl-5 {
    margin-right: 3rem;
  }
  .me-xxl-auto {
    margin-right: auto;
  }
  .mb-xxl-0 {
    margin-bottom: 0;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem;
  }
  .mb-xxl-auto {
    margin-bottom: auto;
  }
  .ms-xxl-0 {
    margin-left: 0;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem;
  }
  .ms-xxl-2, .image-right.picture-variant-large {
    margin-left: 0.5rem;
  }
  .ms-xxl-3 {
    margin-left: 1rem;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem;
  }
  .ms-xxl-5 {
    margin-left: 3rem;
  }
  .ms-xxl-auto {
    margin-left: auto;
  }
  .m-xxl-n1 {
    margin: -0.25rem;
  }
  .m-xxl-n2 {
    margin: -0.5rem;
  }
  .m-xxl-n3 {
    margin: -1rem;
  }
  .m-xxl-n4 {
    margin: -1.5rem;
  }
  .m-xxl-n5 {
    margin: -3rem;
  }
  .mx-xxl-n1 {
    margin-right: -0.25rem;
    margin-left: -0.25rem;
  }
  .mx-xxl-n2 {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  .mx-xxl-n3 {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .mx-xxl-n4 {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .mx-xxl-n5 {
    margin-right: -3rem;
    margin-left: -3rem;
  }
  .my-xxl-n1 {
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }
  .my-xxl-n2 {
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }
  .my-xxl-n3 {
    margin-top: -1rem;
    margin-bottom: -1rem;
  }
  .my-xxl-n4 {
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }
  .my-xxl-n5 {
    margin-top: -3rem;
    margin-bottom: -3rem;
  }
  .mt-xxl-n1 {
    margin-top: -0.25rem;
  }
  .mt-xxl-n2 {
    margin-top: -0.5rem;
  }
  .mt-xxl-n3 {
    margin-top: -1rem;
  }
  .mt-xxl-n4 {
    margin-top: -1.5rem;
  }
  .mt-xxl-n5 {
    margin-top: -3rem;
  }
  .me-xxl-n1 {
    margin-right: -0.25rem;
  }
  .me-xxl-n2 {
    margin-right: -0.5rem;
  }
  .me-xxl-n3 {
    margin-right: -1rem;
  }
  .me-xxl-n4 {
    margin-right: -1.5rem;
  }
  .me-xxl-n5 {
    margin-right: -3rem;
  }
  .mb-xxl-n1 {
    margin-bottom: -0.25rem;
  }
  .mb-xxl-n2 {
    margin-bottom: -0.5rem;
  }
  .mb-xxl-n3 {
    margin-bottom: -1rem;
  }
  .mb-xxl-n4 {
    margin-bottom: -1.5rem;
  }
  .mb-xxl-n5 {
    margin-bottom: -3rem;
  }
  .ms-xxl-n1 {
    margin-left: -0.25rem;
  }
  .ms-xxl-n2 {
    margin-left: -0.5rem;
  }
  .ms-xxl-n3 {
    margin-left: -1rem;
  }
  .ms-xxl-n4 {
    margin-left: -1.5rem;
  }
  .ms-xxl-n5 {
    margin-left: -3rem;
  }
  .p-xxl-0 {
    padding: 0;
  }
  .p-xxl-1 {
    padding: 0.25rem;
  }
  .p-xxl-2 {
    padding: 0.5rem;
  }
  .p-xxl-3 {
    padding: 1rem;
  }
  .p-xxl-4 {
    padding: 1.5rem;
  }
  .p-xxl-5 {
    padding: 3rem;
  }
  .px-xxl-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-xxl-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-xxl-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-xxl-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-xxl-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-xxl-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-xxl-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-xxl-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-xxl-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-xxl-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-xxl-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-xxl-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-xxl-0 {
    padding-top: 0;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem;
  }
  .pt-xxl-3 {
    padding-top: 1rem;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem;
  }
  .pt-xxl-5 {
    padding-top: 3rem;
  }
  .pe-xxl-0 {
    padding-right: 0;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem;
  }
  .pe-xxl-3 {
    padding-right: 1rem;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem;
  }
  .pe-xxl-5 {
    padding-right: 3rem;
  }
  .pb-xxl-0 {
    padding-bottom: 0;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem;
  }
  .ps-xxl-0 {
    padding-left: 0;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem;
  }
  .ps-xxl-3 {
    padding-left: 1rem;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem;
  }
  .ps-xxl-5 {
    padding-left: 3rem;
  }
  .gap-xxl-0 {
    gap: 0;
  }
  .gap-xxl-1 {
    gap: 0.25rem;
  }
  .gap-xxl-2 {
    gap: 0.5rem;
  }
  .gap-xxl-3 {
    gap: 1rem;
  }
  .gap-xxl-4 {
    gap: 1.5rem;
  }
  .gap-xxl-5 {
    gap: 3rem;
  }
  .row-gap-xxl-0 {
    row-gap: 0;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem;
  }
  .column-gap-xxl-0 {
    column-gap: 0;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem;
  }
  .column-gap-xxl-3 {
    column-gap: 1rem;
  }
  .column-gap-xxl-4 {
    column-gap: 1.5rem;
  }
  .column-gap-xxl-5 {
    column-gap: 3rem;
  }
  .text-xxl-start {
    text-align: left;
  }
  .text-xxl-end {
    text-align: right;
  }
  .text-xxl-center {
    text-align: center;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem;
  }
  .fs-2 {
    font-size: 2rem;
  }
  .fs-3 {
    font-size: 1.75rem;
  }
  .fs-4 {
    font-size: 1.5rem;
  }
}
@media print {
  .d-print-inline {
    display: inline;
  }
  .d-print-inline-block {
    display: inline-block;
  }
  .d-print-block {
    display: block;
  }
  .d-print-grid {
    display: grid;
  }
  .d-print-inline-grid {
    display: inline-grid;
  } 
  .d-print-flex {
    display: flex;
  }
  .d-print-inline-flex {
    display: inline-flex;
  }
  .d-print-none {
    display: none;
  }
}
.alert {
  position: relative;
  padding: 1rem 1rem;
  border: 3px solid transparent;
  border-radius: 0.25rem;
  animation-fill-mode: forwards !important;
  animation-delay: 1s !important;
  animation: 1.5s ease-in alert-animation;
}
.alert a {
  font-weight: 700;
  position: relative;
  text-decoration: none;
  color: var(--bs-alert-color);
}
.alert a::after {
  content: "";
  position: absolute;
  height: 2px;
  left: 0px;
  bottom: 0px;
  background-color: var(--bs-alert-color);
  animation: 1.6s ease-in alert-link-animation;
  animation-delay: 3s;
  animation-fill-mode: forwards;
}

@keyframes alert-animation {
  0% {
    border-color: var(--bs-alert-bg);
  }
  50% {
    border-color: var(--bs-alert-border-secondary);
  }
  100% {
    border-color: var(--bs-alert-border-color);
  }
}
@keyframes alert-link-animation {
  0% {
    width: 0%;
    opacity: 0;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}
.alert-heading {
  color: inherit;
}

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

.pat-autotoc.autotabs .autotoc-nav {
  margin-bottom: 1rem;
}

label:has(input, select, textarea) {
  display: block;
}

label input,
label select,
label textarea {
  margin: 0.5rem 0;
  display: block;
}

label .required:after,
label.required:after {
  color: #dc3545;
  content: "•";
  font-size: 1.25rem;
  line-height: 1;
}

/* show validation feedback always since it comes from
   server-side rendering or pat-validation
*/
.invalid-feedback,
.valid-feedback {
  display: block;
}

.form-group .select2-container {
  display: block;
}

.formControls {
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

form.pat-autotoc > .formControls {
  background-color: var(--bs-body-bg);
  padding: 1rem 0;
  border-top: solid 1px var(--bs-border-color);
  /* sticky bottom */
}

/* relateditems widget */
.pattern-relateditems-result .pattern-relateditems-result-browse-wrapper .pattern-relateditems-result-browse {
  font-size: 14px;
}

.select2-results .select2-highlighted {
  color: rgb(22.3622047244, 116.7027559055, 155.1377952756);
}

.pattern-relateditems-item-title, .pattern-relateditems-item-title[class*=contenttype-]:before,
.pattern-relateditems-result-title,
.pattern-relateditems-result-title[class*=contenttype-]:before {
  font-size: 1.25rem;
}

body.template-history .inline-diff {
  font-size: 100%;
  padding: 1em;
}
body.template-history .diff-head {
  padding-bottom: 1em;
}
body.template-history .diff-legend-label {
  border-style: solid;
  border-width: 1px;
  text-align: center;
}
body.template-history #diff-legend {
  position: relative;
} 
body.template-history .delete {
  background-color: rgb(241, 174.2, 180.6);
  padding: 0 0.2em 0 0.2em;
}
body.template-history .insert {
  background-color: rgb(165.8, 233.4, 213.4);
  padding: 0 0.2em 0 0.2em;
}
body.template-history .tagInsert {
  background-color: #198754;
  font-weight: bold;
  padding: 0 0.2em 0 0.2em;
  color: white;
}
body.template-history .tagDelete {
  background-color: #dc3545;
  font-weight: bold;
  padding: 0 0.2em 0 0.2em;
  color: white;
}
body.template-history .diff_header {
  background-color: #e0e0e0;
}
body.template-history td.diff_header {
  text-align: right;
}
body.template-history .diff_next {
  background-color: #c0c0c0;
}
body.template-history .diff_add {
  background-color: rgb(165.8, 233.4, 213.4);
}
body.template-history .diff_chg {
  background-color: rgb(255, 230.2, 155.8);
}
body.template-history .diff_sub {
  background-color: rgb(241, 174.2, 180.6);
} 
body[class*=-controlpanel] .controlPanel > header,
body[class*=-controlpanel] article > header {
  margin-bottom: 2rem;
}
body[class*=-controlpanel] .controlPanel .configlets .overview-icon,
body[class*=-controlpanel] article .configlets .overview-icon {
  width: 3rem;
  height: 3rem;
}
body[class*=-controlpanel] .controlPanel .configlets .btn .bi,
body[class*=-controlpanel] .controlPanel .configlets .btn .icon,
body[class*=-controlpanel] article .configlets .btn .bi,
body[class*=-controlpanel] article .configlets .btn .icon {
  margin-right: 0.25rem;
}
body[class*=-controlpanel] .prefs-configlet a {
  display: flex;
  align-items: center;
}
body[class*=-controlpanel] .prefs-configlet a .icon {
  margin-right: 0.5rem;
}
body[class*=-controlpanel] .custom-select {
  width: auto;
  display: block;
}
body[class*=-controlpanel] textarea.form-control {
  height: 10rem;
}
 

.login-wrapper {
  display: flex;
  justify-content: center;
}
.login-wrapper .card {
  margin-top: 1rem;
  margin-bottom: 2rem;
  max-width: 26rem;
}
.login-wrapper .card #form-widgets-mail_me {
  display: none;
}

:root {
  --plone-toolbar-bg: var(--bs-dark);
  --plone-toolbar-text-color: var(--bs-white);
  --plone-toolbar-locked-color: var(--bs-warning);
  --plone-toolbar-font: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --plone-toolbar-separator-color: var(--bs-gray-500);
  --plone-toolbar-link-color: var(--plone-link-color);
  --plone-toolbar-link-hover-color: var(--plone-link-hover-color);
  --plone-toolbar-width: 220px;
  --plone-toolbar-width-collapsed: 60px;
  --plone-toolbar-top-height: 2.5rem;
}

/* general collapsed dark mode */
#edit-zone {
  font-family: var(--plone-toolbar-font);
  position: fixed;
  z-index: 1040;
  top: 0;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--plone-toolbar-bg);
  width: var(--plone-toolbar-width);
  color: var(--plone-toolbar-text-color);
  border-right: none;
}
#edit-zone,
#edit-zone .dropdown-menu {
  background-color: var(--plone-toolbar-bg);
}
#edit-zone .dropdown-header {
  color: var(--plone-toolbar-text-color);
}
#edit-zone .dropdown-menu {
  border-radius: 0;
  min-width: 12rem;
  overflow-y: auto;
  max-height: 100vh;
}
#edit-zone .nav-link,
#edit-zone .dropdown-item {
  color: var(--plone-toolbar-text-color);
}
#edit-zone .nav-link:hover, #edit-zone .nav-link:focus,
#edit-zone .dropdown-item:hover,
#edit-zone .dropdown-item:focus {
  background: var(--plone-toolbar-link-color);
  color: var(--plone-toolbar-text-color);
}
#edit-zone .nav-link:hover .label-state-published,
#edit-zone .nav-link:hover .label-state-external, #edit-zone .nav-link:focus .label-state-published,
#edit-zone .nav-link:focus .label-state-external,
#edit-zone .dropdown-item:hover .label-state-published,
#edit-zone .dropdown-item:hover .label-state-external,
#edit-zone .dropdown-item:focus .label-state-published,
#edit-zone .dropdown-item:focus .label-state-external {
  color: var(--plone-toolbar-link-hover-color) !important;
}
#edit-zone .toolbar-header {
  background: var(--bs-primary);
  padding: 0.5rem 1rem;
  margin-bottom: 0.5rem;
  height: var(--plone-toolbar-top-height);
}
#edit-zone .toolbar-header a {
  color: var(--plone-toolbar-text-color);
  cursor: pointer;
}
@media (max-width: 767.98px) {
  #edit-zone .toolbar-header a {
    display: none;
  }
}
#edit-zone .label-state-published,
#edit-zone .label-state-external {
  color: var(--plone-link-color-on-dark) !important;
}
#edit-zone .label-state-internally_published {
  color: var(--plone-state-internally-published-color) !important;
}
#edit-zone .label-state-pending {
  color: var(--plone-state-pending) !important;
}
#edit-zone li.active .label-state-pending,
#edit-zone .label-state-pending:hover {
  color: var(--plone-toolbar-text-color) !important;
}
#edit-zone .label-state-draft,
#edit-zone .label-state-internal {
  color: var(--plone-state-draft) !important;
}
#edit-zone .label-state-private {
  color: var(--plone-state-private) !important;
}
#edit-zone .personaltools-wrapper {
  margin-top: auto;
  border-top: solid 1px var(--plone-toolbar-separator-color);
  padding: 0.5rem 0;
}

body.plone-toolbar-left {
  padding-left: var(--plone-toolbar-width-collapsed);
}
body.plone-toolbar-left .toolbar-expand,
body.plone-toolbar-left .toolbar-collapse {
  display: none;
}
body.plone-toolbar-left #edit-zone .nav-link {
  display: flex;
  width: 100%;
  padding-right: 0.5rem;
}
body.plone-toolbar-left #edit-zone .nav-link .plone-icon {
  margin-top: 0.25em;
  margin-right: 0.5em;
  flex-shrink: 0;
}
body.plone-toolbar-left #edit-zone .nav-link .toolbar-label {
  flex-grow: 1;
}
body.plone-toolbar-left #edit-zone .nav-link:after {
  margin-top: 0.5em;
  width: 0.3em;
  height: 0.3em;
}
body.plone-toolbar-left #edit-zone .border-top {
  border-top-color: var(--plone-toolbar-separator-color);
}
body.plone-toolbar-left .toolbar-expand {
  display: block;
}
body.plone-toolbar-left #edit-zone {
  visibility: visible !important;
  transform: none;
  transition: none;
  width: var(--plone-toolbar-width-collapsed);
}
body.plone-toolbar-left #edit-zone .toolbar-label {
  display: none;
}
@media (min-width: 768px) {
  body.plone-toolbar-left.plone-toolbar-left-expanded {
    padding-left: var(--plone-toolbar-width);
  }
  body.plone-toolbar-left.plone-toolbar-left-expanded .toolbar-expand {
    display: none;
  }
  body.plone-toolbar-left.plone-toolbar-left-expanded .toolbar-collapse {
    display: block;
  }
  body.plone-toolbar-left.plone-toolbar-left-expanded #edit-zone {
    width: var(--plone-toolbar-width);
  }
  body.plone-toolbar-left.plone-toolbar-left-expanded #edit-zone .toolbar-label {
    display: inline-block;
    white-space: initial;
    hyphens: auto;
    word-break: break-word;
    vertical-align: top;
  }
}

/* extending dropdown from BS5 outside media query */
body.plone-toolbar-top {
  padding-left: var(--plone-toolbar-width-collapsed);
  padding-top: 0;
}
body.plone-toolbar-top .toolbar-expand,
body.plone-toolbar-top .toolbar-collapse {
  display: none;
}
body.plone-toolbar-top .toolbar-label {
  display: none;
}

@media (min-width: 768px) {
  body.plone-toolbar-top {
    padding-top: var(--plone-toolbar-top-height);
    padding-left: 0;
  }
  body.plone-toolbar-top .toolbar-collapse,
  body.plone-toolbar-top .toolbar-header {
    height: 100%;
  }
  body.plone-toolbar-top #edit-zone {
    bottom: unset;
    width: 100%;
    flex-direction: row;
    height: var(--plone-toolbar-top-height);
  }
  body.plone-toolbar-top #edit-zone .plone-toolbar-main {
    flex-direction: row;
  }
  body.plone-toolbar-top #edit-zone .plone-toolbar-main > .border-top {
    border-top: none;
    border-right: solid 1px var(--plone-toolbar-separator-color);
  }
  body.plone-toolbar-top #edit-zone .personaltools-wrapper {
    margin-left: auto;
    margin-top: 0;
    padding: 0;
    border-top: none;
  }
}
/* Dropdown fixes for mobile with top bar  */
@media (max-width: 767.98px) {
  body.plone-toolbar-top #edit-zone {
    width: var(--plone-toolbar-width-collapsed);
  }
  body.plone-toolbar-top #edit-zone .nav-link {
    padding-right: 0.5rem;
  }
  body.plone-toolbar-top #edit-zone .nav-link.dropdown-toggle::after {
    vertical-align: 0;
    margin-left: 0;
    border-top: 0.3em solid transparent;
    border-right: 0;
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid;
  }
  body.plone-toolbar-top #edit-zone .dropdown-menu.show {
    display: block;
    margin-left: var(--plone-toolbar-width-collapsed) !important;
    margin-top: -2.5rem !important;
  }
}
body.col-content #portal-column-content {
  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);
  flex: 0 0 auto;
  width: 100%;
}

body.col-two.col-content #portal-column-content {
  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);
}
@media (min-width: 768px) {
  body.col-two.col-content #portal-column-content {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 992px) {
  body.col-two.col-content #portal-column-content {
    flex: 0 0 auto;
    width: 75%;
  }
}
body.col-two.col-content #portal-column-two {
  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);
}
@media (min-width: 768px) {
  body.col-two.col-content #portal-column-two {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 992px) {
  body.col-two.col-content #portal-column-two {
    flex: 0 0 auto;
    width: 25%;
  }
}

body.col-one.col-content #portal-column-content {
  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);
}
@media (min-width: 768px) {
  body.col-one.col-content #portal-column-content {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 992px) {
  body.col-one.col-content #portal-column-content {
    order: 2;
    flex: 0 0 auto;
    width: 75%;
  }
}
body.col-one.col-content #portal-column-one {
  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);
}
@media (min-width: 768px) {
  body.col-one.col-content #portal-column-one {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 992px) {
  body.col-one.col-content #portal-column-one {
    order: 1;
    flex: 0 0 auto;
    width: 25%;
  }
}

body.col-one.col-two.col-content #portal-column-content {
  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);
}
@media (min-width: 576px) {
  body.col-one.col-two.col-content #portal-column-content {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 768px) {
  body.col-one.col-two.col-content #portal-column-content {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 992px) {
  body.col-one.col-two.col-content #portal-column-content {
    order: 2;
    flex: 0 0 auto;
    width: 50%;
  }
}
body.col-one.col-two.col-content #portal-column-one {
  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);
}
@media (min-width: 576px) {
  body.col-one.col-two.col-content #portal-column-one {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 768px) {
  body.col-one.col-two.col-content #portal-column-one {
    flex: 0 0 auto;
    width: 50%;
  }
}
@media (min-width: 992px) {
  body.col-one.col-two.col-content #portal-column-one {
    order: 1;
    flex: 0 0 auto;
    width: 25%;
  }
}
body.col-one.col-two.col-content #portal-column-two {
  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);
}
@media (min-width: 576px) {
  body.col-one.col-two.col-content #portal-column-two {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 768px) {
  body.col-one.col-two.col-content #portal-column-two {
    flex: 0 0 auto;
    width: 50%;
  }
}
@media (min-width: 992px) {
  body.col-one.col-two.col-content #portal-column-two {
    order: 3;
    flex: 0 0 auto;
    width: 25%;
  }
}

img,
picture {
  max-width: 100%;
  height: auto;
}

.text-columns-2 {
  columns: 2;
}

.text-columns-3 {
  columns: 3;
}

figure {
  display: table;
}

figcaption {
  display: table-caption;
  caption-side: bottom;
}

.card-light {
  border: none;
}
.card-light .card-body {
  padding: 0;
}

.card-icon {
  font-size: 2em;
  text-align: center;
  padding-top: 1.25rem;
}

.sr-only,
.hiddenStructure,
.crud-form .header-select {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  color: #fff;
  background-color: #000;
}

.sr-only a,
.hiddenStructure a {
  color: #fff;
  background-color: #000;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

.plone-icon {
  height: 1em;
  width: auto;
}

.icon-inline {
  vertical-align: middle;
  bottom: -0.125em;
  position: relative;
}

.icon-x15 {
  height: 1.5em;
  width: auto;
}

.icon-x2 {
  height: 2em;
  width: auto;
}

.icon-x3 {
  height: 3em;
  width: auto;
}

.icon-x4 {
  height: 4em;
  width: auto;
}

.icon-x5 {
  height: 5em;
  width: auto;
}

#portal-languageselector {
  display: inline-block;
  margin-bottom: 0;
  padding: 5px 0 0 0;
  list-style: none;
  margin-left: 1rem;
}
#portal-languageselector li {
  display: inline-block;
  margin-left: 10px;
}

#portal-anontools {
  padding-top: 5px;
  margin-left: 1rem;
}
#portal-anontools ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
#portal-anontools ul li {
  margin-right: 10px;
}

#portal-membertools-wrapper {
  margin-top: 5px;
  margin-left: 1.5rem;
  margin-right: 0.5rem;
}
#portal-membertools-wrapper ul {
  margin: 0 0 1rem 1rem;
  padding-right: 0;
}

#portal-searchbox {
  flex-shrink: 0;
}

.livesearch-results {
  margin-top: 1rem;
  width: 100%;
}
@media (min-width: 992px) {
  .livesearch-results {
    position: absolute;
    z-index: 1046;
    margin-top: 3rem;
    right: 0;
    width: 28rem;
  }
}
.livesearch-results .heading {
  font-size: 1.25rem;
}
.livesearch-results .col.img {
  flex: 0 0 auto;
  max-width: 50%;
  width: auto;
}

@media (min-width: 992px) {
  .pat-livesearch.show_images + .livesearch-results {
    width: 34rem;
  }
}

.navbar {
  --bs-navbar-nav-link-padding-y: 0.75rem;
  --bs-navbar-nav-link-padding-x: 1rem;
  --bs-navbar-color: rgba(0, 0, 0, 0.55);
  --bs-navbar-active-color: rgba(0, 0, 0, 0.7);
  --bs-navbar-hover-color: rgba(0, 0, 0, 0.9);
  --bs-navbar-background: var(--bs-light);
  --bs-navbar-active-background: rgba(0, 0, 0, 0.2);
  --bs-navbar-hover-background: rgba(0, 0, 0, 0.3);
}
.navbar .offcanvas {
  --bs-offcanvas-bg: var(--bs-navbar-background);
}

.navbar-nav {
  flex-wrap: wrap;
}
.navbar-nav li {
  position: relative;
  display: block;
  background-color: var(--bs-navbar-background);
  color: var(--bs-navbar-color);
}
.navbar-nav li.inPath > a, .navbar-nav li.current > a, .navbar-nav li.active > a, .navbar-nav li.selected > a {
  background-color: var(--bs-navbar-active-background);
}
.navbar-nav li.inPath > a, .navbar-nav li.inPath > a:hover, .navbar-nav li.inPath > a:focus, .navbar-nav li.current > a, .navbar-nav li.current > a:hover, .navbar-nav li.current > a:focus, .navbar-nav li.active > a, .navbar-nav li.active > a:hover, .navbar-nav li.active > a:focus, .navbar-nav li.selected > a, .navbar-nav li.selected > a:hover, .navbar-nav li.selected > a:focus {
  color: var(--bs-navbar-hover-color);
}
@media (min-width: 992px) {
  .navbar-nav li.has_subtree:hover > ul, .navbar-nav li.has_subtree .has_subtree:hover > ul {
    opacity: 1;
    visibility: visible;
    transition: ease-in 0.35s;
  }
  .navbar-nav li.has_subtree .has_subtree ul {
    z-index: -1;
    left: 0em;
    top: 0px;
  }
  .navbar-nav li.has_subtree .has_subtree:hover > ul {
    left: 16em;
  }
  .navbar-nav li.has_subtree ul li .opener + label:after {
    transform: rotate(-90deg);
  }
}
.navbar-nav li.has_subtree a.nav-link {
  padding-right: 2em;
}
.navbar-nav li label {
  margin: 0;
}
.navbar-nav li a {
  position: relative;
  display: block;
  padding: var(--bs-navbar-nav-link-padding-y) var(--bs-navbar-nav-link-padding-x);
  hyphens: auto;
  word-break: break-word;
  text-decoration: none;
}
.navbar-nav li a:hover, .navbar-nav li a:focus {
  text-decoration: none;
  background-color: var(--bs-navbar-hover-background);
}
.navbar-nav li ul {
  padding-left: 0.5em;
  visibility: hidden;
  opacity: 0;
  height: 0;
}
@media (min-width: 992px) {
  .navbar-nav li ul {
    padding-left: 0em;
  }
}
@media (min-width: 992px) {
  .navbar-nav li ul {
    position: absolute;
    z-index: 1000;
    transition: ease-out 0.75s;
  }
}
.navbar-nav li ul li {
  background-color: var(--bs-navbar-background);
}
@media (min-width: 992px) {
  .navbar-nav li ul li a {
    min-width: 16em;
  }
}
.navbar-nav li .opener {
  display: none;
}
.navbar-nav li .opener + label:after {
  transform: rotate(0deg);
  transition: ease-in 0.35s;
}
.navbar-nav li .opener:checked + label:after {
  transform: rotate(-180deg);
  transition: ease-in 0.35s;
}
@media (min-width: 992px) {
  .navbar-nav li .opener:checked + label:after {
    transform: rotate(0deg);
  }
}
.navbar-nav li .opener ~ ul {
  transition: ease-out 0.35s;
}
.navbar-nav li .opener:checked ~ ul {
  height: auto;
  transition: ease-in 0.35s;
}
@media (max-width: 991.98px) {
  .navbar-nav li .opener:checked ~ ul {
    visibility: visible;
    opacity: 1;
  }
}
.navbar-nav li label {
  position: absolute;
  right: 0em;
  top: 0em;
  height: 3em;
  width: 4em;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  padding-right: 0.5em;
}
@media (min-width: 992px) {
  .navbar-nav li label {
    align-items: flex-start;
    width: auto;
  }
}
.navbar-nav li label:after {
  background-color: var(--bs-navbar-hover-background);
  color: var(--bs-navbar-color);
  border-radius: 4px;
  content: "▼";
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  font-size: 1.25em;
  padding: 0.25em;
}
@media (min-width: 992px) {
  .navbar-nav li label:after {
    font-size: 0.75em;
    background: transparent;
  }
}

.navbar-dark {
  --bs-navbar-color: white;
  --bs-navbar-active-color: white;
  --bs-navbar-hover-color: white;
  --bs-navbar-background: var(--bs-dark);
  --bs-navbar-active-background: rgba(255, 255, 255, 0.2);
  --bs-navbar-hover-background: rgba(255, 255, 255, 0.3);
}

.navbar-barceloneta {
  --bs-navbar-color: white;
  --bs-navbar-active-color: white;
  --bs-navbar-hover-color: white;
  --bs-navbar-background: #d54545;
  --bs-navbar-active-background: rgba(0, 0, 0, 0.2);
  --bs-navbar-hover-background: rgba(0, 0, 0, 0.3);
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
  background-color: var(--bs-navbar-background);
}

#portal-breadcrumbs {
  background-color: white;
  margin-bottom: 2rem;
}
#portal-breadcrumbs .breadcrumb {
  background-color: transparent;
}

main {
  margin-bottom: 1.5rem;
}

h1, .h1 {
  margin-bottom: 1rem;
}

.lead {
  margin-bottom: 2rem;
}

article > header {
  margin-bottom: 2rem;
}

.alert {
  margin-bottom: 2rem;
}

#content-core {
  margin-bottom: 2rem;
}

#section-byline {
  margin-bottom: 1rem;
}

#section-image {
  margin-bottom: 1rem;
}

#section-leadimage {
  margin-bottom: 2rem;
}

#section-next-prev {
  margin-bottom: 2rem;
}

#section-document-actions {
  margin-bottom: 2rem;
}

#section-rights {
  margin-bottom: 1rem;
}

#section-contributors {
  margin-bottom: 1rem;
}

#section-related {
  margin-top: 3rem;
}
#section-related .section-heading {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  font-family: "Encode Sans";
  font-weight: 300;
  line-height: 1.2;
}
#section-related .media {
  margin-bottom: 1rem;
}

#section-category {
  margin-bottom: 2rem;
}

.meta-icon {
  font-size: 1.5em;
  line-height: 1;
}

.event-summary {
  margin-bottom: 2rem;
}
.event-summary .meta-icon {
  margin-right: 0.5rem;
  margin-top: -0.2em;
}
.event-summary .meta-label {
  display: none;
}

.section {
  margin-bottom: 1em;
}
.section header {
  font-weight: bold;
  margin-bottom: 1em;
}

.section-main {
  text-align: center;
  padding: 2em 1em 1em 1em;
}

.section-actions {
  text-align: center;
  margin-bottom: 3em;
}

.portlet {
  margin-bottom: 1rem;
  overflow: hidden;
  box-shadow: None;
}
.portlet .card-footer {
  font-size: 0.875rem;
}

.portletRecent .card-body,
.portletNavigationTree .card-body,
.portletEvents .card-body,
.portletNews .card-body,
.portletCollection .card-body,
.portletRss .card-body {
  padding: 0;
}
.portletRecent .card-body > ul,
.portletNavigationTree .card-body > ul,
.portletEvents .card-body > ul,
.portletNews .card-body > ul,
.portletCollection .card-body > ul,
.portletRss .card-body > ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.portletRecent .card-body > ul > li,
.portletNavigationTree .card-body > ul > li,
.portletEvents .card-body > ul > li,
.portletNews .card-body > ul > li,
.portletCollection .card-body > ul > li,
.portletRss .card-body > ul > li {
  border-top: var(--bs-border-width) solid var(--bs-border-color);
  padding: 1rem 1rem;
}
.portletRecent .card-body > ul > li a,
.portletNavigationTree .card-body > ul > li a,
.portletEvents .card-body > ul > li a,
.portletNews .card-body > ul > li a,
.portletCollection .card-body > ul > li a,
.portletRss .card-body > ul > li a {
  display: block;
}
.portletRecent .card-body > ul > li:first-child,
.portletNavigationTree .card-body > ul > li:first-child,
.portletEvents .card-body > ul > li:first-child,
.portletNews .card-body > ul > li:first-child,
.portletCollection .card-body > ul > li:first-child,
.portletRss .card-body > ul > li:first-child {
  border-top: 0;
}
.portletRecent .card-body > ul ul,
.portletNavigationTree .card-body > ul ul,
.portletEvents .card-body > ul ul,
.portletNews .card-body > ul ul,
.portletCollection .card-body > ul ul,
.portletRss .card-body > ul ul {
  padding-left: 15px;
  list-style: none;
}
.portletRecent .card-body > ul li:hover,
.portletNavigationTree .card-body > ul li:hover,
.portletEvents .card-body > ul li:hover,
.portletNews .card-body > ul li:hover,
.portletCollection .card-body > ul li:hover,
.portletRss .card-body > ul li:hover {
  background: var(--plone-portlet-footer-bg);
}

.portletNavigationTree .card-body ul ul {
  padding-left: 0;
}
.portletNavigationTree .card-body ul li {
  padding: 0;
}
.portletNavigationTree .card-body ul li a {
  display: block;
  padding: 0.75rem 1rem;
}
.portletNavigationTree .card-body ul li a:hover {
  text-decoration: none;
  background: var(--plone-portlet-footer-bg);
  color: #64bee8;
}
.portletNavigationTree .card-body ul li a:hover::before {
  color: #64bee8;
}
.portletNavigationTree .card-body ul li a:hover::after {
  content: "⟩";
  position: absolute;
  right: 10px;
  font-size: 1.25rem;
  margin-top: -3px;
  color: #f8f9fa;
}
.portletNavigationTree .card-body ul li {
  border-top: var(--bs-border-width) solid var(--bs-border-color);
}
.portletNavigationTree .card-body > ul > li > a > img.image-icon {
  max-height: 1.5;
}
.portletNavigationTree .card-body .navTreeCurrentNode > a {
  background: var(--plone-portlet-footer-bg);
  color: var(--bs-secondary-text);
}
.portletNavigationTree .card-body .navTreeCurrentNode > a::after {
  content: "⟩";
  position: absolute;
  right: 10px;
  font-size: 1.25rem;
  margin-top: -3px;
  color: #f8f9fa;
}
.portletNavigationTree .card-body ul.navTreeLevel0 > li a {
  padding-left: 1rem;
}
.portletNavigationTree .card-body ul.navTreeLevel1 > li a {
  padding-left: 2rem;
}
.portletNavigationTree .card-body ul.navTreeLevel2 > li a {
  padding-left: 3rem;
}
.portletNavigationTree .card-body ul.navTreeLevel3 > li a {
  padding-left: 4rem;
}
.portletNavigationTree .card-body ul.navTreeLevel4 > li a {
  padding-left: 5rem;
}
.portletNavigationTree .card-body ul.navTreeLevel5 > li a {
  padding-left: 6rem;
}

.switch-portlet-manager {
  margin-top: 0.5em;
  width: auto;
}

.managedPortlet.blockedPortlet {
  opacity: 0.7;
}

.managedPortletActions form {
  display: inline-block;
}

#portal-footer-wrapper {
  background-color: #DDD;
  color: #dee2e6;
  text-align: center;
  padding: 1rem;
}
#portal-footer-wrapper .copyright {
  padding: 0.5rem;
}
#portal-footer-wrapper .colophon {
  padding: 0.5rem;
}
#portal-footer-wrapper .site-actions {
  padding: 0.5rem;
}
#portal-footer-wrapper .site-actions ul {
  padding: 0;
  margin: 0;
}
#portal-footer-wrapper .site-actions ul li {
  display: inline;
  margin: 0 0.5rem;
}

@media print {
  * {
    text-shadow: none !important;
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  #content-header,
  #edit-zone,
  #mainnavigation-wrapper,
  #portal-breadcrumbs,
  #portal-footer-wrapper,
  #portal-personaltools,
  #portal-searchbox,
  .link-https .sidebar-offcanvas {
    display: none;
    visibility: hidden;
  }
}
@font-face {
  font-family: "Roboto";
  src: url("../roboto/roboto-light.eot");
  src: local("Roboto Light"), url("../roboto/roboto-light.eot?#iefix") format("embedded-opentype"), url("../roboto/roboto-light.woff2") format("woff2"), url("../roboto/roboto-light.woff") format("woff"), url("../roboto/roboto-light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../roboto/roboto-lightitalic.eot");
  src: local("Roboto Light Italic"), url("../roboto/roboto-lightitalic.eot?#iefix") format("embedded-opentype"), url("../roboto/roboto-lightitalic.woff2") format("woff2"), url("../roboto/roboto-lightitalic.woff") format("woff"), url("../roboto/roboto-lightitalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../roboto/roboto-regular.eot");
  src: local("Roboto Regular"), url("../roboto/roboto-regular.eot?#iefix") format("embedded-opentype"), url("../roboto/roboto-regular.woff2") format("woff2"), url("../roboto/roboto-regular.woff") format("woff"), url("../roboto/roboto-regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../roboto/roboto-italic.eot");
  src: local("Roboto Italic"), url("../roboto/roboto-italic.eot?#iefix") format("embedded-opentype"), url("../roboto/roboto-italic.woff2") format("woff2"), url("../roboto/roboto-italic.woff") format("woff"), url("../roboto/roboto-italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../roboto/roboto-medium.eot");
  src: local("Roboto Medium"), url("../roboto/roboto-medium.eot?#iefix") format("embedded-opentype"), url("../roboto/roboto-medium.woff2") format("woff2"), url("../roboto/roboto-medium.woff") format("woff"), url("../roboto/roboto-medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../roboto/roboto-mediumitalic.eot");
  src: local("Roboto Medium Italic"), url("../roboto/roboto-mediumitalic.eot?#iefix") format("embedded-opentype"), url("../roboto/roboto-mediumitalic.woff2") format("woff2"), url("../roboto/roboto-mediumitalic.woff") format("woff"), url("../roboto/roboto-mediumitalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../roboto/roboto-bold.eot");
  src: local("Roboto Bold"), url("../roboto/roboto-bold.eot?#iefix") format("embedded-opentype"), url("../roboto/roboto-bold.woff2") format("woff2"), url("../roboto/roboto-bold.woff") format("woff"), url("../roboto/roboto-bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../roboto/roboto-bolditalic.eot");
  src: local("Roboto Bold Italic"), url("../roboto/roboto-bolditalic.eot?#iefix") format("embedded-opentype"), url("../roboto/roboto-bolditalic.woff2") format("woff2"), url("../roboto/roboto-bolditalic.woff") format("woff"), url("../roboto/roboto-bolditalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto Condensed";
  src: url("../roboto/robotocondensed-light.eot");
  src: local("Roboto Condensed Light"), url("../roboto/robotocondensed-light.eot?#iefix") format("embedded-opentype"), url("../roboto/robotocondensed-light.woff2") format("woff2"), url("../roboto/robotocondensed-light.woff") format("woff"), url("../roboto/robotocondensed-light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto Condensed";
  src: url("../roboto/robotocondensed-lightitalic.eot");
  src: local("Roboto Condensed Thin Italic"), url("../roboto/robotocondensed-lightitalic.eot?#iefix") format("embedded-opentype"), url("../roboto/robotocondensed-lightitalic.woff2") format("woff2"), url("../roboto/robotocondensed-lightitalic.woff") format("woff"), url("../roboto/robotocondensed-lightitalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
.pat-discussion,
.discussion {
  margin-bottom: 1em;
  font-size: 85%;
}
.pat-discussion p,
.discussion p {
  margin-bottom: 0.5em;
}
.pat-discussion label,
.discussion label {
  margin-bottom: 0.5em;
}
.pat-discussion .formControls,
.discussion .formControls {
  margin-top: 0;
}
.pat-discussion .comment,
.discussion .comment {
  padding: 1em;
  margin-bottom: 0.5em;
}
.pat-discussion .comment .comment-image img,
.discussion .comment .comment-image img {
  width: 50px;
  height: 50px;
}
.pat-discussion .comment .actions-workflow,
.discussion .comment .actions-workflow {
  margin-left: 0.5em;
}
.pat-discussion .comment .comment-action,
.discussion .comment .comment-action {
  margin-left: 0.25em;
}
.pat-discussion .level-1,
.discussion .level-1 {
  margin-left: 1em;
}
.pat-discussion .level-2,
.discussion .level-2 {
  margin-left: 2em;
}
.pat-discussion .level-3,
.discussion .level-3 {
  margin-left: 3em;
}
.pat-discussion .level-4,
.discussion .level-4 {
  margin-left: 4em;
}
.pat-discussion .level-5,
.discussion .level-5 {
  margin-left: 5em;
}
.pat-discussion .level-6,
.discussion .level-6 {
  margin-left: 6em;
}
.pat-discussion .level-7,
.discussion .level-7 {
  margin-left: 7em;
}
.pat-discussion .level-8,
.discussion .level-8 {
  margin-left: 8em;
}
.pat-discussion .level-9,
.discussion .level-9 {
  margin-left: 9em;
}
.pat-discussion .level-10,
.discussion .level-10 {
  margin-left: 10em;
}

.flex {
  display: flex;
  justify-content: space-between;
}

h2, .h2 {
  border-bottom: solid 3px #f56a6a;
  margin: 0 0 2em 0;
  padding: 0 0.75em 0.5em 0;
}

.formunloadalert {
  background: red !important;
}

option[value=plone-link],
.plone-link {
  color: #d54545 !important;
}

option[value=plone-link-2],
.plone-link-2 {
  color: #4545d5 !important;
}

option[value=plone-link-3],
.plone-link-3 {
  color: #45d545 !important;
}

option[value=plone-link-opposite],
.plone-link-opposite {
  color: #45d5d5 !important;
}

option[value=plone-background],
.plone-background {
  background: #d54545 !important;
}

option[value=plone-background-2],
.plone-background-2 {
  background: #4545d5 !important;
}

option[value=plone-background-3],
.plone-background-3 {
  background: #45d545 !important;
}

option[value=plone-background-opposite],
.plone-background-opposite {
  background: #45d5d5 !important;
}

.black-background {
  background-color: #000 !important;
}

.white-background {
  background-color: #FFF !important;
}

option[value=grey-background], .grey-background {
  background-color: #DDD !important;
}

.black {
  color: #000 !important;
}

.white {
  color: #FFF !important;
}

.grey {
  color: #DDD !important;
}

:root {
  --plone-link-color: $plone-link-color ;
}

:root {
  --plone-link-secondary: $plone-link-secondary ;
}

:root {
  --secondary: $plone-link-secondary ;
}

:root {
  --plone-link-tertiary: $plone-link-tertiary ;
}

:root {
  --plone-link-opposite: $plone-link-opposite ;
}

.only-mobile,
div.only-mobile {
  display: none !important;
}

.hidden {
  display: none !important;
}

.flex {
  display: flex;
}

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

.flex-between {
  justify-content: space-between;
}

.flex-stretch {
  align-items: stretch;
}

.full-width {
  width: 100%;
}

.zoom {
  transition: all 0.5s ease;
}

.zoom:hover {
  transform: scale(1.02);
}

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

.serif {
  font-family: "Bitter", "Times New Roman", Times, serif;
}

.sans-serif {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.condensed {
  font-family: "Roboto Condensed", "Arial Narrow", sans-serif;
}

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

.padding-0-10 {
  padding: 0 10px !important;
}

.padding-0-20 {
  padding: 0 20px !important;
}

.padding-10 {
  padding: 10px !important;
}

.padding-15 {
  padding: 15px !important;
}

.padding-10-0 {
  padding: 10px 0 !important;
}

.padding-20 {
  padding: 20px !important;
}

div.padding-20-0 {
  padding: 20px 0 !important;
}

.padding-30 {
  padding: 30px !important;
}

.padding-40 {
  padding: 40px !important;
}

.margin-40-0 {
  margin: 40px 0 !important;
}

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

.margin-20-0 {
  margin: 20px 0 !important;
}

.margin-0--15 {
  margin: 0 -15px !important;
}

.large-text {
  font-size: 24px;
}

.normal {
  font-weight: normal;
}

.bold {
  font-weight: bold;
}

.line-feed-1 {
  line-height: 120%;
}

.margin-10 {
  margin: 10px !important;
}

.margin-10-0 {
  margin: 10px 0 !important;
}

img {
  height: auto;
}

img.img-responsive {
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
  height: auto;
}

.flex-between {
  justify-content: space-between;
}

.flex-stretch {
  align-items: stretch;
}

.half {
  box-sizing: border-box;
  width: 50%;
  min-width: 600px;
}

.half .half {
  min-width: 300px;
}

.half-height {
  height: 50%;
  min-width: 300px;
}

.full-width {
  width: 100%;
}

/* @end */
@media screen and (max-width: 998px) {
  .fullwidth {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  div.flex {
    flex-wrap: wrap;
  }
  .no-mobile {
    display: none;
  }
  .only-mobile,
  div.only-mobile {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  div.flex {
    flex-direction: column;
    flex-wrap: wrap;
  }
  .no-mobile {
    display: none;
  }
}
#form-widgets-IMedialogDutchmanThemeSettings-extra_css {
  width: 100%;
  height: 100em;
}

.template-edit .label {
  color: #000;
} 
/* fix for mosaic padding and margin on fluid rows */
#content div.mosaic-grid-row.mosaic-grid-row-fluid {
  padding: 0;
  margin-left: -30px;
  margin-right: -30px;
}

.hidden_picture {
  line-height: 1px;
}

.only-mobile,
div.only-mobile {
  display: none !important;
}

.hidden {
  display: none !important;
}

.flex {
  display: flex;
}

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

.flex-between {
  justify-content: space-between;
}

.flex-stretch {
  align-items: stretch;
}

.full-width {
  width: 100%;
}

.zoom {
  transition: all 0.5s ease;
}

.zoom:hover {
  transform: scale(1.02);
}

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

.serif {
  font-family: "Bitter", "Times New Roman", Times, serif;
}

.sans-serif {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.condensed {
  font-family: "Roboto Condensed", "Arial Narrow", sans-serif;
}

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

.padding-0-10 {
  padding: 0 10px !important;
}

.padding-0-20 {
  padding: 0 20px !important;
}

.padding-10 {
  padding: 10px !important;
}

.padding-15 {
  padding: 15px !important;
}

.padding-10-0 {
  padding: 10px 0 !important;
}

.padding-20 {
  padding: 20px !important;
}

div.padding-20-0 {
  padding: 20px 0 !important;
}

.padding-30 {
  padding: 30px !important;
}

.padding-40 {
  padding: 40px !important;
}

.margin-40-0 {
  margin: 40px 0 !important;
}

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

.margin-20-0 {
  margin: 20px 0 !important;
}

.margin-0--15 {
  margin: 0 -15px !important;
}

.large-text {
  font-size: 24px;
}

.normal {
  font-weight: normal;
}

.bold {
  font-weight: bold;
}

.line-feed-1 {
  line-height: 120%;
}

.margin-10 {
  margin: 10px !important;
}

.margin-10-0 {
  margin: 10px 0 !important;
}

img {
  height: auto;
}

img.img-responsive {
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
  height: auto;
}

.flex-between {
  justify-content: space-between;
}

.flex-stretch {
  align-items: stretch;
}

.half {
  box-sizing: border-box;
  width: 50%;
  min-width: 600px;
}

.half .half {
  min-width: 300px;
}

.half-height {
  height: 50%;
  min-width: 300px;
}

.full-width {
  width: 100%;
}

/* @end */
@media screen and (max-width: 998px) {
  .fullwidth {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  div.flex {
    flex-wrap: wrap;
  }
  .no-mobile {
    display: none;
  }
  .only-mobile,
  div.only-mobile {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  div.flex {
    flex-direction: column;
    flex-wrap: wrap;
  }
  .no-mobile {
    display: none;
  }
}
/*
	Editorial by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
html, body, div, span, applet, object,
iframe, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small,
.small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, .mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  verti
  
  cal-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

 

body {
  -webkit-text-size-adjust: none;
}

mark, .mark {
  background-color: transparent;
  color: inherit;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input, select, textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
}

/* Basic */
@-ms-viewport {
  width: device-width;
}
body {
  -ms-overflow-style: scrollbar;
}

@media screen and (max-width: 480px) {
  html, body {
    min-width: 320px;
  }
}
html {
  box-sizing: border-box;
}

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

body {
  background: #ffffff;
}
body.is-preload *, body.is-preload *:before, body.is-preload *:after, body.is-resizing *, body.is-resizing *:before, body.is-resizing *:after {
  -moz-animation: none !important;
  -webkit-animation: none !important;
  -ms-animation: none !important;
  animation: none !important;
  -moz-transition: none !important;
  -webkit-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
}

/* Type */
body, input, select, textarea {
  color: #7f888f;
  font-family: "Open Sans", sans-serif;
  font-size: 13pt;
  font-weight: 400;
  line-height: 1.65;
}
@media screen and (max-width: 1680px) {
  body, input, select, textarea {
    font-size: 11pt;
  }
}
@media screen and (max-width: 1280px) {
  body, input, select, textarea {
    font-size: 10pt;
  }
}
@media screen and (max-width: 360px) {
  body, input, select, textarea {
    font-size: 9pt;
  }
}

a {
  -moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  border-bottom: dotted 1px;
  color: #f56a6a;
  text-decoration: none;
}
a:hover {
  border-bottom-color: #f56a6a;
  color: #f56a6a !important;
}
a:hover strong {
  color: inherit;
}

strong, b {
  color: #3d4449;
  font-weight: 600;
}

em, i {
  font-style: italic;
}

p {
  margin: 0 0 2em 0;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  color: #3d4449;
  font-family: "Roboto Slab", serif;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 1em 0;
}
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a, h6 a, .h6 a {
  color: inherit;
  text-decoration: none;
  border-bottom: 0;
}

h1, .h1 {
  font-size: 4em;
  margin: 0 0 0.5em 0;
  line-height: 1.3;
}

h2, .h2 {
  font-size: 1.75em;
}

h3, .h3 {
  font-size: 1.25em;
}

h4, .h4 {
  font-size: 1.1em;
}

h5, .h5 {
  font-size: 0.9em;
}

h6, .h6 {
  font-size: 0.7em;
}

@media screen and (max-width: 1680px) {
  h1, .h1 {
    font-size: 3.5em;
  }
}
@media screen and (max-width: 980px) {
  h1, .h1 {
    font-size: 3.25em;
  }
}
@media screen and (max-width: 736px) {
  h1, .h1 {
    font-size: 2em;
    line-height: 1.4;
  }
  h2, .h2 {
    font-size: 1.5em;
  }
}
sub {
  font-size: 0.8em;
  position: relative;
  top: 0.5em;
}

sup {
  font-size: 0.8em;
  position: relative;
  top: -0.5em;
}

blockquote {
  border-left: solid 3px rgba(210, 215, 217, 0.75);
  font-style: italic;
  margin: 0 0 2em 0;
  padding: 0.5em 0 0.5em 2em;
}

code {
  background: rgba(230, 235, 237, 0.25);
  border-radius: 0.375em;
  border: solid 1px rgba(210, 215, 217, 0.75);
  font-family: "Courier New", monospace;
  font-size: 0.9em;
  margin: 0 0.25em;
  padding: 0.25em 0.65em;
}

pre {
  -webkit-overflow-scrolling: touch;
  font-family: "Courier New", monospace;
  font-size: 0.9em;
  margin: 0 0 2em 0;
}
pre code {
  display: block;
  line-height: 1.75;
  padding: 1em 1.5em;
  overflow-x: auto;
}

hr {
  border: 0;
  border-bottom: solid 1px rgba(210, 215, 217, 0.75);
  margin: 2em 0;
}
hr.major {
  margin: 3em 0;
}

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

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

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

/* Row */
.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  align-items: stretch;
}
.row > * {
  box-sizing: border-box;
}
.row.gtr-uniform > * > :last-child {
  margin-bottom: 0;
}
.row.aln-left {
  justify-content: flex-start;
}
.row.aln-center {
  justify-content: center;
}
.row.aln-right {
  justify-content: flex-end;
}
.row.aln-top {
  align-items: flex-start;
}
.row.aln-middle {
  align-items: center;
}
.row.aln-bottom {
  align-items: flex-end;
}
.row > .imp {
  order: -1;
}
.row > .col-1 {
  width: 8.3333333333%;
}
.row > .off-1 {
  margin-left: 8.3333333333%;
}
.row > .col-2 {
  width: 16.6666666667%;
}
.row > .off-2 {
  margin-left: 16.6666666667%;
}
.row > .col-3 {
  width: 25%;
}
.row > .off-3 {
  margin-left: 25%;
}
.row > .col-4 {
  width: 33.3333333333%;
}
.row > .off-4 {
  margin-left: 33.3333333333%;
}
.row > .col-5 {
  width: 41.6666666667%;
}
.row > .off-5 {
  margin-left: 41.6666666667%;
}
.row > .col-6 {
  width: 50%;
}
.row > .off-6 {
  margin-left: 50%;
}
.row > .col-7 {
  width: 58.3333333333%;
}
.row > .off-7 {
  margin-left: 58.3333333333%;
}
.row > .col-8 {
  width: 66.6666666667%;
}
.row > .off-8 {
  margin-left: 66.6666666667%;
}
.row > .col-9 {
  width: 75%;
}
.row > .off-9 {
  margin-left: 75%;
}
.row > .col-10 {
  width: 83.3333333333%;
}
.row > .off-10 {
  margin-left: 83.3333333333%;
}
.row > .col-11 {
  width: 91.6666666667%;
}
.row > .off-11 {
  margin-left: 91.6666666667%;
}
.row > .col-12 {
  width: 100%;
}
.row > .off-12 {
  margin-left: 100%;
}
.row.gtr-0 {
  margin-top: 0;
  margin-left: 0em;
}
.row.gtr-0 > * {
  padding: 0 0 0 0em;
}
.row.gtr-0.gtr-uniform {
  margin-top: 0em;
}
.row.gtr-0.gtr-uniform > * {
  padding-top: 0em;
}
.row.gtr-25 {
  margin-top: 0;
  margin-left: -0.375em;
}
.row.gtr-25 > * {
  padding: 0 0 0 0.375em;
}
.row.gtr-25.gtr-uniform {
  margin-top: -0.375em;
}
.row.gtr-25.gtr-uniform > * {
  padding-top: 0.375em;
}
.row.gtr-50 {
  margin-top: 0;
  margin-left: -0.75em;
}
.row.gtr-50 > * {
  padding: 0 0 0 0.75em;
}
.row.gtr-50.gtr-uniform {
  margin-top: -0.75em;
}
.row.gtr-50.gtr-uniform > * {
  padding-top: 0.75em;
}
.row {
  margin-top: 0;
  margin-left: -1.5em;
}
.row > * {
  padding: 0 0 0 1.5em;
}
.row.gtr-uniform {
  margin-top: -1.5em;
}
.row.gtr-uniform > * {
  padding-top: 1.5em;
}
.row.gtr-150 {
  margin-top: 0;
  margin-left: -2.25em;
}
.row.gtr-150 > * {
  padding: 0 0 0 2.25em;
}
.row.gtr-150.gtr-uniform {
  margin-top: -2.25em;
}
.row.gtr-150.gtr-uniform > * {
  padding-top: 2.25em;
}
.row.gtr-200 {
  margin-top: 0;
  margin-left: -3em;
}
.row.gtr-200 > * {
  padding: 0 0 0 3em;
}
.row.gtr-200.gtr-uniform {
  margin-top: -3em;
}
.row.gtr-200.gtr-uniform > * {
  padding-top: 3em;
}
@media screen and (max-width: 1680px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-xlarge {
    order: -1;
  }
  .row > .col-1-xlarge {
    width: 8.3333333333%;
  }
  .row > .off-1-xlarge {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-xlarge {
    width: 16.6666666667%;
  }
  .row > .off-2-xlarge {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-xlarge {
    width: 25%;
  }
  .row > .off-3-xlarge {
    margin-left: 25%;
  }
  .row > .col-4-xlarge {
    width: 33.3333333333%;
  }
  .row > .off-4-xlarge {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-xlarge {
    width: 41.6666666667%;
  }
  .row > .off-5-xlarge {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-xlarge {
    width: 50%;
  }
  .row > .off-6-xlarge {
    margin-left: 50%;
  }
  .row > .col-7-xlarge {
    width: 58.3333333333%;
  }
  .row > .off-7-xlarge {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-xlarge {
    width: 66.6666666667%;
  }
  .row > .off-8-xlarge {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-xlarge {
    width: 75%;
  }
  .row > .off-9-xlarge {
    margin-left: 75%;
  }
  .row > .col-10-xlarge {
    width: 83.3333333333%;
  }
  .row > .off-10-xlarge {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-xlarge {
    width: 91.6666666667%;
  }
  .row > .off-11-xlarge {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-xlarge {
    width: 100%;
  }
  .row > .off-12-xlarge {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0em;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0em;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.375em;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.375em;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 0.75em;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 0.75em;
  }
  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }
  .row > * {
    padding: 0 0 0 1.5em;
  }
  .row.gtr-uniform {
    margin-top: -1.5em;
  }
  .row.gtr-uniform > * {
    padding-top: 1.5em;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 2.25em;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 2.25em;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 3em;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 3em;
  }
}
@media screen and (max-width: 1280px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-large {
    order: -1;
  }
  .row > .col-1-large {
    width: 8.3333333333%;
  }
  .row > .off-1-large {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-large {
    width: 16.6666666667%;
  }
  .row > .off-2-large {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-large {
    width: 25%;
  }
  .row > .off-3-large {
    margin-left: 25%;
  }
  .row > .col-4-large {
    width: 33.3333333333%;
  }
  .row > .off-4-large {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-large {
    width: 41.6666666667%;
  }
  .row > .off-5-large {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-large {
    width: 50%;
  }
  .row > .off-6-large {
    margin-left: 50%;
  }
  .row > .col-7-large {
    width: 58.3333333333%;
  }
  .row > .off-7-large {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-large {
    width: 66.6666666667%;
  }
  .row > .off-8-large {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-large {
    width: 75%;
  }
  .row > .off-9-large {
    margin-left: 75%;
  }
  .row > .col-10-large {
    width: 83.3333333333%;
  }
  .row > .off-10-large {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-large {
    width: 91.6666666667%;
  }
  .row > .off-11-large {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-large {
    width: 100%;
  }
  .row > .off-12-large {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0em;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0em;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.375em;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.375em;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 0.75em;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 0.75em;
  }
  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }
  .row > * {
    padding: 0 0 0 1.5em;
  }
  .row.gtr-uniform {
    margin-top: -1.5em;
  }
  .row.gtr-uniform > * {
    padding-top: 1.5em;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 2.25em;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 2.25em;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 3em;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 3em;
  }
}
@media screen and (max-width: 980px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-medium {
    order: -1;
  }
  .row > .col-1-medium {
    width: 8.3333333333%;
  }
  .row > .off-1-medium {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-medium {
    width: 16.6666666667%;
  }
  .row > .off-2-medium {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-medium {
    width: 25%;
  }
  .row > .off-3-medium {
    margin-left: 25%;
  }
  .row > .col-4-medium {
    width: 33.3333333333%;
  }
  .row > .off-4-medium {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-medium {
    width: 41.6666666667%;
  }
  .row > .off-5-medium {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-medium {
    width: 50%;
  }
  .row > .off-6-medium {
    margin-left: 50%;
  }
  .row > .col-7-medium {
    width: 58.3333333333%;
  }
  .row > .off-7-medium {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-medium {
    width: 66.6666666667%;
  }
  .row > .off-8-medium {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-medium {
    width: 75%;
  }
  .row > .off-9-medium {
    margin-left: 75%;
  }
  .row > .col-10-medium {
    width: 83.3333333333%;
  }
  .row > .off-10-medium {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-medium {
    width: 91.6666666667%;
  }
  .row > .off-11-medium {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-medium {
    width: 100%;
  }
  .row > .off-12-medium {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0em;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0em;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.375em;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.375em;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 0.75em;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 0.75em;
  }
  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }
  .row > * {
    padding: 0 0 0 1.5em;
  }
  .row.gtr-uniform {
    margin-top: -1.5em;
  }
  .row.gtr-uniform > * {
    padding-top: 1.5em;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 2.25em;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 2.25em;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 3em;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 3em;
  }
}
@media screen and (max-width: 736px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-small {
    order: -1;
  }
  .row > .col-1-small {
    width: 8.3333333333%;
  }
  .row > .off-1-small {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-small {
    width: 16.6666666667%;
  }
  .row > .off-2-small {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-small {
    width: 25%;
  }
  .row > .off-3-small {
    margin-left: 25%;
  }
  .row > .col-4-small {
    width: 33.3333333333%;
  }
  .row > .off-4-small {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-small {
    width: 41.6666666667%;
  }
  .row > .off-5-small {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-small {
    width: 50%;
  }
  .row > .off-6-small {
    margin-left: 50%;
  }
  .row > .col-7-small {
    width: 58.3333333333%;
  }
  .row > .off-7-small {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-small {
    width: 66.6666666667%;
  }
  .row > .off-8-small {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-small {
    width: 75%;
  }
  .row > .off-9-small {
    margin-left: 75%;
  }
  .row > .col-10-small {
    width: 83.3333333333%;
  }
  .row > .off-10-small {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-small {
    width: 91.6666666667%;
  }
  .row > .off-11-small {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-small {
    width: 100%;
  }
  .row > .off-12-small {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0em;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0em;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.375em;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.375em;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 0.75em;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 0.75em;
  }
  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }
  .row > * {
    padding: 0 0 0 1.5em;
  }
  .row.gtr-uniform {
    margin-top: -1.5em;
  }
  .row.gtr-uniform > * {
    padding-top: 1.5em;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 2.25em;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 2.25em;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 3em;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 3em;
  }
}
@media screen and (max-width: 480px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-xsmall {
    order: -1;
  }
  .row > .col-1-xsmall {
    width: 8.3333333333%;
  }
  .row > .off-1-xsmall {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-xsmall {
    width: 16.6666666667%;
  }
  .row > .off-2-xsmall {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-xsmall {
    width: 25%;
  }
  .row > .off-3-xsmall {
    margin-left: 25%;
  }
  .row > .col-4-xsmall {
    width: 33.3333333333%;
  }
  .row > .off-4-xsmall {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-xsmall {
    width: 41.6666666667%;
  }
  .row > .off-5-xsmall {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-xsmall {
    width: 50%;
  }
  .row > .off-6-xsmall {
    margin-left: 50%;
  }
  .row > .col-7-xsmall {
    width: 58.3333333333%;
  }
  .row > .off-7-xsmall {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-xsmall {
    width: 66.6666666667%;
  }
  .row > .off-8-xsmall {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-xsmall {
    width: 75%;
  }
  .row > .off-9-xsmall {
    margin-left: 75%;
  }
  .row > .col-10-xsmall {
    width: 83.3333333333%;
  }
  .row > .off-10-xsmall {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-xsmall {
    width: 91.6666666667%;
  }
  .row > .off-11-xsmall {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-xsmall {
    width: 100%;
  }
  .row > .off-12-xsmall {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0em;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0em;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0em;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0em;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.375em;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.375em;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.375em;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.375em;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -0.75em;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 0.75em;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -0.75em;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 0.75em;
  }
  .row {
    margin-top: 0;
    margin-left: -1.5em;
  }
  .row > * {
    padding: 0 0 0 1.5em;
  }
  .row.gtr-uniform {
    margin-top: -1.5em;
  }
  .row.gtr-uniform > * {
    padding-top: 1.5em;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -2.25em;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 2.25em;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -2.25em;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 2.25em;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -3em;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 3em;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -3em;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 3em;
  }
}

/* Section/Article */
section.special, article.special {
  text-align: center;
}

header p {
  font-family: "Roboto Slab", serif;
  font-size: 1em;
  font-weight: 400;
  letter-spacing: 0.075em;
  margin-top: -0.5em;
  text-transform: uppercase;
}
header.major > :last-child {
  border-bottom: solid 3px #f56a6a;
  display: inline-block;
  margin: 0 0 2em 0;
  padding: 0 0.75em 0.5em 0;
}
header.main > :last-child {
  margin: 0 0 1em 0;
}

/* Form */
form {
  margin: 0 0 2em 0;
}

label {
  color: #3d4449;
  display: block;
  font-size: 0.9em;
  font-weight: 600;
  margin: 0 0 1em 0;
}

input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=search],
input[type=url],
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  background: #ffffff;
  border-radius: 0.375em;
  border: none;
  border: solid 1px rgba(210, 215, 217, 0.75);
  color: inherit;
  display: block;
  outline: 0;
  padding: 0 1em;
  text-decoration: none;
  width: 100%;
}
input[type=text]:invalid,
input[type=password]:invalid,
input[type=email]:invalid,
input[type=tel]:invalid,
input[type=search]:invalid,
input[type=url]:invalid,
select:invalid,
textarea:invalid {
  box-shadow: none;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=search]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
  border-color: #f56a6a;
  box-shadow: 0 0 0 1px #f56a6a;
}

select {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='black' /%3E%3C/svg%3E");
  background-size: 1.25em;
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) center;
  height: 2.75em;
  padding-right: 2.75em;
  text-overflow: ellipsis;
}
select option {
  color: #3d4449;
  background: #ffffff;
}
select:focus::-ms-value {
  background-color: transparent;
}
select::-ms-expand {
  display: none;
}

input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=search],
input[type=url],
select {
  height: 2.75em;
}

textarea {
  padding: 0.75em 1em;
}

input[type=checkbox],
input[type=radio] {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  display: block;
  float: left;
  margin-right: -2em;
  opacity: 0;
  width: 1em;
  z-index: -1;
}
input[type=checkbox] + label,
input[type=radio] + label {
  text-decoration: none;
  color: #7f888f;
  cursor: pointer;
  display: inline-block;
  font-size: 1em;
  font-weight: 400;
  padding-left: 2.4em;
  padding-right: 0.75em;
  position: relative;
}
input[type=checkbox] + label:before,
input[type=radio] + label:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
input[type=checkbox] + label:before,
input[type=radio] + label:before {
  background: #ffffff;
  border-radius: 0.375em;
  border: solid 1px rgba(210, 215, 217, 0.75);
  content: "";
  display: inline-block;
  font-size: 0.8em;
  height: 2.0625em;
  left: 0;
  line-height: 2.0625em;
  position: absolute;
  text-align: center;
  top: 0;
  width: 2.0625em;
}
input[type=checkbox]:checked + label:before,
input[type=radio]:checked + label:before {
  background: #3d4449;
  border-color: #3d4449;
  color: #ffffff;
  content: "\f00c";
}
input[type=checkbox]:focus + label:before,
input[type=radio]:focus + label:before {
  border-color: #f56a6a;
  box-shadow: 0 0 0 1px #f56a6a;
}

input[type=checkbox] + label:before {
  border-radius: 0.375em;
}

input[type=radio] + label:before {
  border-radius: 100%;
}

::-webkit-input-placeholder {
  color: #9fa3a6 !important;
  opacity: 1;
}

:-moz-placeholder {
  color: #9fa3a6 !important;
  opacity: 1;
}

::-moz-placeholder {
  color: #9fa3a6 !important;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #9fa3a6 !important;
  opacity: 1;
}

/* Box */
.box {
  border-radius: 0.375em;
  border: solid 1px rgba(210, 215, 217, 0.75);
  margin-bottom: 2em;
  padding: 1.5em;
}
.box > :last-child,
.box > :last-child > :last-child,
.box > :last-child > :last-child > :last-child {
  margin-bottom: 0;
}
.box.alt {
  border: 0;
  border-radius: 0;
  padding: 0;
}

/* Icon */
.icon {
  text-decoration: none;
  border-bottom: none;
  position: relative;
}
.icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}
.icon > .label {
  display: none;
}
.icon:before {
  line-height: inherit;
}
.icon.solid:before {
  font-weight: 900;
}
.icon.brands:before {
  font-family: "Font Awesome 5 Brands";
}

/* Image */
.image {
  border-radius: 0.375em;
  border: 0;
  display: inline-block;
  position: relative;
}
.image img {
  border-radius: 0.375em;
  display: block;
}
.image.left, .image.right {
  max-width: 40%;
}
.image.left img, .image.right img {
  width: 100%;
}
.image.left {
  float: left;
  padding: 0 1.5em 1em 0;
  top: 0.25em;
}
.image.right {
  float: right;
  padding: 0 0 1em 1.5em;
  top: 0.25em;
}
.image.fit {
  display: block;
  margin: 0 0 2em 0;
  width: 100%;
}
.image.fit img {
  width: 100%;
}
.image.main {
  display: block;
  margin: 0 0 3em 0;
  width: 100%;
}
.image.main img {
  width: 100%;
}

a.image {
  overflow: hidden;
}
a.image img {
  -moz-transition: -moz-transform 0.2s ease;
  -webkit-transition: -webkit-transform 0.2s ease;
  -ms-transition: -ms-transform 0.2s ease;
  transition: transform 0.2s ease;
}
a.image:hover img {
  -moz-transform: scale(1.075);
  -webkit-transform: scale(1.075);
  -ms-transform: scale(1.075);
  transform: scale(1.075);
}

/* List */
ol {
  list-style: decimal;
  margin: 0 0 2em 0;
  padding-left: 1.25em;
}
ol li {
  padding-left: 0.25em;
}

ul {
  list-style: disc;
  margin: 0 0 2em 0;
  padding-left: 1em;
}
ul li {
  padding-left: 0.5em;
}
ul.alt {
  list-style: none;
  padding-left: 0;
}
ul.alt li {
  border-top: solid 1px rgba(210, 215, 217, 0.75);
  padding: 0.5em 0;
}
ul.alt li:first-child {
  border-top: 0;
  padding-top: 0;
}

dl {
  margin: 0 0 2em 0;
}
dl dt {
  display: block;
  font-weight: 600;
  margin: 0 0 1em 0;
}
dl dd {
  margin-left: 2em;
}

/* Actions */
ul.actions {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  cursor: default;
  list-style: none;
  margin-left: -1em;
  padding-left: 0;
}
ul.actions li {
  padding: 0 0 0 1em;
  vertical-align: middle;
}
ul.actions.special {
  -moz-justify-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  width: 100%;
  margin-left: 0;
}
ul.actions.special li:first-child {
  padding-left: 0;
}
ul.actions.stacked {
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-left: 0;
}
ul.actions.stacked li {
  padding: 1.3em 0 0 0;
}
ul.actions.stacked li:first-child {
  padding-top: 0;
}
ul.actions.fit {
  width: calc(100% + 1em);
}
ul.actions.fit li {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 100%;
}
ul.actions.fit li > * {
  width: 100%;
}
ul.actions.fit.stacked {
  width: 100%;
}

/* Icons */
ul.icons {
  cursor: default;
  list-style: none;
  padding-left: 0;
}
ul.icons li {
  display: inline-block;
  padding: 0 1em 0 0;
}
ul.icons li:last-child {
  padding-right: 0;
}
ul.icons li .icon {
  color: inherit;
}
ul.icons li .icon:before {
  font-size: 1.25em;
}

/* Contact */
ul.contact {
  list-style: none;
  padding: 0;
}
ul.contact li {
  text-decoration: none;
  border-top: solid 1px rgba(210, 215, 217, 0.75);
  margin: 1.5em 0 0 0;
  padding: 1.5em 0 0 3em;
  position: relative;
}
ul.contact li:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}
ul.contact li:before {
  color: #f56a6a;
  display: inline-block;
  font-size: 1.5em;
  height: 1.125em;
  left: 0;
  line-height: 1.125em;
  position: absolute;
  text-align: center;
  top: 1em;
  width: 1.5em;
}
ul.contact li:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
ul.contact li:first-child:before {
  top: 0;
}
ul.contact li a {
  color: inherit;
}

/* Pagination */
ul.pagination {
  cursor: default;
  list-style: none;
  padding-left: 0;
}
ul.pagination li {
  display: inline-block;
  padding-left: 0;
  vertical-align: middle;
}
ul.pagination li > .page {
  -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  border-bottom: 0;
  border-radius: 0.375em;
  display: inline-block;
  font-size: 0.8em;
  font-weight: 600;
  height: 2em;
  line-height: 2em;
  margin: 0 0.125em;
  min-width: 2em;
  padding: 0 0.5em;
  text-align: center;
}
ul.pagination li > .page.active {
  background-color: #f56a6a;
  color: #ffffff !important;
}
ul.pagination li > .page.active:hover {
  background-color: rgb(245.9622641509, 120.3377358491, 120.3377358491);
}
ul.pagination li > .page.active:active {
  background-color: rgb(244.0377358491, 91.6622641509, 91.6622641509);
}
ul.pagination li:first-child {
  padding-right: 0.75em;
}
ul.pagination li:last-child {
  padding-left: 0.75em;
}
@media screen and (max-width: 480px) {
  ul.pagination li:nth-child(n+2):nth-last-child(n+2) {
    display: none;
  }
  ul.pagination li:first-child {
    padding-right: 0;
  }
}
 

/* Button */
#content-core input[type=submit],
#content-core input[type=reset],
#content-core input[type=button],
#content-core button,
#content-core .button,
#content-core .btn {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  background-color: transparent;
  border-radius: 0.375em;
  border: 0;
  box-shadow: inset 0 0 0 2px #f56a6a;
  color: #f56a6a !important;
  cursor: pointer;
  display: inline-block;
  font-family: "Roboto Slab", serif;
  font-size: 0.8em;
  font-weight: 700;
  height: 3.5em;
  letter-spacing: 0.075em;
  line-height: 3.5em;
  padding: 0 2.25em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
#content-core input[type=submit]:hover,
#content-core input[type=reset]:hover,
#content-core input[type=button]:hover,
#content-core button:hover,
#content-core .button:hover,
#content-core .btn:hover {
  background-color: rgba(245, 106, 106, 0.05);
}
#content-core input[type=submit]:active,
#content-core input[type=reset]:active,
#content-core input[type=button]:active,
#content-core button:active,
#content-core .button:active,
#content-core .btn:active {
  background-color: rgba(245, 106, 106, 0.15);
}
#content-core input[type=submit].icon:before,
#content-core input[type=reset].icon:before,
#content-core input[type=button].icon:before,
#content-core button.icon:before,
#content-core .button.icon:before,
#content-core .icon.btn:before {
  margin-right: 0.5em;
}
#content-core input[type=submit].fit,
#content-core input[type=reset].fit,
#content-core input[type=button].fit,
#content-core button.fit,
#content-core .button.fit,
#content-core .fit.btn {
  width: 100%;
}
#content-core input[type=submit].small,
#content-core input[type=reset].small,
#content-core input[type=button].small,
#content-core button.small,
#content-core .button.small,
#content-core .small.btn {
  font-size: 0.6em;
}
#content-core input[type=submit].large,
#content-core input[type=reset].large,
#content-core input[type=button].large,
#content-core button.large,
#content-core .button.large,
#content-core .large.btn {
  font-size: 1em;
  height: 3.65em;
  line-height: 3.65em;
}
#content-core input[type=submit].primary,
#content-core input[type=reset].primary,
#content-core input[type=button].primary,
#content-core button.primary,
#content-core .button.primary,
#content-core .primary.btn {
  background-color: #f56a6a;
  box-shadow: none;
  color: #ffffff !important;
}
#content-core input[type=submit].primary:hover,
#content-core input[type=reset].primary:hover,
#content-core input[type=button].primary:hover,
#content-core button.primary:hover,
#content-core .button.primary:hover,
#content-core .primary.btn:hover {
  background-color: rgb(245.9622641509, 120.3377358491, 120.3377358491);
}
#content-core input[type=submit].primary:active,
#content-core input[type=reset].primary:active,
#content-core input[type=button].primary:active,
#content-core button.primary:active,
#content-core .button.primary:active,
#content-core .primary.btn:active {
  background-color: rgb(244.0377358491, 91.6622641509, 91.6622641509);
}
#content-core input[type=submit].disabled, #content-core input[type=submit]:disabled,
#content-core input[type=reset].disabled,
#content-core input[type=reset]:disabled,
#content-core input[type=button].disabled,
#content-core input[type=button]:disabled,
#content-core button.disabled,
#content-core button:disabled,
#content-core .button.disabled,
#content-core .disabled.btn,
#content-core .button:disabled,
#content-core .btn:disabled {
  pointer-events: none;
  opacity: 0.25;
}

/* Mini Posts */
.mini-posts article {
  border-top: solid 1px rgba(210, 215, 217, 0.75);
  margin-top: 2em;
  padding-top: 2em;
}
.mini-posts article .image {
  display: block;
  margin: 0 0 1.5em 0;
}
.mini-posts article .image img {
  display: block;
  width: 100%;
}
.mini-posts article:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

/* Features */
.features {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2em -3em;
  width: calc(100% + 3em);
}
.features article {
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  margin: 0 0 3em 3em;
  position: relative;
  width: calc(50% - 3em);
}
.features article:nth-child(2n-1) {
  margin-right: 1.5em;
}
.features article:nth-child(2n) {
  margin-left: 1.5em;
}
.features article:nth-last-child(1), .features article:nth-last-child(2) {
  margin-bottom: 0;
}
.features article .icon {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  display: block;
  height: 10em;
  line-height: 10em;
  margin: 0 2em 0 0;
  text-align: center;
  width: 10em;
}
.features article .icon:before {
  color: #f56a6a;
  font-size: 2.75rem;
  position: relative;
  top: 0.05em;
}
.features article .icon:after {
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-radius: 0.25rem;
  border: solid 2px rgba(210, 215, 217, 0.75);
  content: "";
  display: block;
  height: 7em;
  left: 50%;
  margin: -3.5em 0 0 -3.5em;
  position: absolute;
  top: 50%;
  width: 7em;
}
.features article .content {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 100%;
}
.features article .content > :last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 980px) {
  .features {
    margin: 0 0 2em 0;
    width: 100%;
  }
  .features article {
    margin: 0 0 3em 0;
    width: 100%;
  }
  .features article:nth-child(2n-1) {
    margin-right: 0;
  }
  .features article:nth-child(2n) {
    margin-left: 0;
  }
  .features article:nth-last-child(1), .features article:nth-last-child(2) {
    margin-bottom: 3em;
  }
  .features article:last-child {
    margin-bottom: 0;
  }
  .features article .icon {
    height: 8em;
    line-height: 8em;
    width: 8em;
  }
  .features article .icon:before {
    font-size: 2.25rem;
  }
  .features article .icon:after {
    height: 6em;
    margin: -3em 0 0 -3em;
    width: 6em;
  }
}
@media screen and (max-width: 480px) {
  .features article {
    -moz-flex-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -moz-align-items: -moz-flex-start;
    -webkit-align-items: -webkit-flex-start;
    -ms-align-items: -ms-flex-start;
    align-items: flex-start;
  }
  .features article .icon {
    height: 6em;
    line-height: 6em;
    margin: 0 0 1.5em 0;
    width: 6em;
  }
  .features article .icon:before {
    font-size: 1.5rem;
  }
  .features article .icon:after {
    height: 4em;
    margin: -2em 0 0 -2em;
    width: 4em;
  }
}
@media screen and (max-width: 480px) {
  .features article .icon:before {
    font-size: 1.25rem;
  }
}

/* Posts */
.posts {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2em -6em;
  width: calc(100% + 6em);
}
.posts article {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  margin: 0 0 6em 6em;
  position: relative;
  width: calc(33.3333333333% - 6em);
}
.posts article:before {
  background: rgba(210, 215, 217, 0.75);
  content: "";
  display: block;
  height: calc(100% + 6em);
  left: -3em;
  position: absolute;
  top: 0;
  width: 1px;
}
.posts article:after {
  background: rgba(210, 215, 217, 0.75);
  bottom: -3em;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: 0;
  width: calc(100% + 6em);
}
.posts article > :last-child {
  margin-bottom: 0;
}
.posts article .image {
  display: block;
  margin: 0 0 2em 0;
}
.posts article .image img {
  display: block;
  width: 100%;
} 
 
@media screen and (max-width: 736px) {
  .posts {
    margin: 0 0 2em -4.5em;
    width: calc(100% + 4.5em);
  }
  .posts article {
    margin: 0 0 4.5em 4.5em;
    width: calc(50% - 4.5em);
  }
  .posts article:before {
    height: calc(100% + 4.5em);
    left: -2.25em;
  }
  .posts article:after {
    bottom: -2.25em;
    width: calc(100% + 4.5em);
  }
  .posts article:nth-last-child(3) {
    margin-bottom: 4.5em;
  }
} 

/* Wrapper */
#wrapper {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  min-height: 100vh;
}

/* Main */
#main {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 100%;
}
#main > .inner {
  padding: 0 6em 0.1em 6em;
  margin: 0 auto;
  max-width: 110em;
}
#main > .inner > section {
  padding: 6em 0 4em 0;
  border-top: solid 2px rgba(210, 215, 217, 0.75);
}
#main > .inner > section:first-of-type {
  border-top: 0 !important;
}
@media screen and (max-width: 1680px) {
  #main > .inner {
    padding: 0 5em 0.1em 5em;
  }
  #main > .inner > section {
    padding: 5em 0 3em 0;
  }
}
@media screen and (max-width: 1280px) {
  #main > .inner {
    padding: 0 4em 0.1em 4em;
  }
  #main > .inner > section {
    padding: 4em 0 2em 0;
  }
}
@media screen and (max-width: 736px) {
  #main > .inner {
    padding: 0 2em 0.1em 2em;
  }
  #main > .inner > section {
    padding: 3em 0 1em 0;
  }
}

/* Sidebar */
#search form {
  text-decoration: none;
  position: relative;
}
#search form:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
#search form:before {
  -moz-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1);
  color: #7f888f;
  content: "\f002";
  cursor: default;
  display: block;
  font-size: 1.5em;
  height: 2em;
  line-height: 2em;
  opacity: 0.325;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 2em;
}
#search form input[type=text] {
  padding-right: 2.75em;
}

#sidebar {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  -moz-transition: margin-left 0.5s ease, box-shadow 0.5s ease;
  -webkit-transition: margin-left 0.5s ease, box-shadow 0.5s ease;
  -ms-transition: margin-left 0.5s ease, box-shadow 0.5s ease;
  transition: margin-left 0.5s ease, box-shadow 0.5s ease;
  background-color: #f5f6f7;
  font-size: 0.9em;
  position: relative;
  width: 26em;
}
#sidebar h2, #sidebar .h2 {
  font-size: 1.3888888889em;
}
#sidebar > .inner {
  padding: 2.2222222222em 2.2222222222em 2.4444444444em 2.2222222222em;
  position: relative;
  width: 26em;
}
#sidebar > .inner > * {
  border-bottom: solid 2px rgba(210, 215, 217, 0.75);
  margin: 0 0 3.5em 0;
  padding: 0 0 3.5em 0;
}
#sidebar > .inner > * > :last-child {
  margin-bottom: 0;
}
#sidebar > .inner > *:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
#sidebar > .inner > .alt {
  background-color: rgb(239.3333333333, 240.9, 242.4666666667);
  border-bottom: 0;
  margin: -2.2222222222em 0 4.4444444444em -2.2222222222em;
  padding: 2.2222222222em;
  width: calc(100% + 4.4444444444em);
}
#sidebar .toggle {
  text-decoration: none;
  -moz-transition: left 0.5s ease;
  -webkit-transition: left 0.5s ease;
  -ms-transition: left 0.5s ease;
  transition: left 0.5s ease;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  border: 0;
  display: block;
  height: 7.5em;
  left: 26em;
  line-height: 7.5em;
  outline: 0;
  overflow: hidden;
  position: absolute;
  text-align: center;
  text-indent: -15em;
  white-space: nowrap;
  top: 0;
  width: 6em;
  z-index: 10000;
}
#sidebar .toggle:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
#sidebar .toggle:before {
  content: "\f0c9";
  font-size: 2rem;
  height: inherit;
  left: 0;
  line-height: inherit;
  position: absolute;
  text-indent: 0;
  top: 0;
  width: inherit;
}
#sidebar.inactive {
  margin-left: -26em;
}
@media screen and (max-width: 1680px) {
  #sidebar {
    width: 24em;
  }
  #sidebar > .inner {
    padding: 1.6666666667em 1.6666666667em 1.3333333333em 1.6666666667em;
    width: 24em;
  }
  #sidebar > .inner > .alt {
    margin: -1.6666666667em 0 3.3333333333em -1.6666666667em;
    padding: 1.6666666667em;
    width: calc(100% + 3.3333333333em);
  }
  #sidebar .toggle {
    height: 6.25em;
    left: 24em;
    line-height: 6.25em;
    text-indent: 5em;
    width: 5em;
  }
  #sidebar .toggle:before {
    font-size: 1.5rem;
  }
  #sidebar.inactive {
    margin-left: -24em;
  }
}
@media screen and (max-width: 1280px) {
  #sidebar {
    box-shadow: 0 0 5em 0 rgba(0, 0, 0, 0.175);
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    z-index: 10000;
  }
  #sidebar.inactive {
    box-shadow: none;
  }
  #sidebar > .inner {
    -webkit-overflow-scrolling: touch;
    height: 100%;
    left: 0;
    overflow-x: hidden;
    overflow-y: auto;
    position: absolute;
    top: 0;
  }
  #sidebar > .inner:after {
    content: "";
    display: block;
    height: 4em;
    width: 100%;
  }
  #sidebar .toggle {
    text-indent: 6em;
    width: 6em;
  }
  #sidebar .toggle:before {
    font-size: 1.5rem;
    margin-left: -0.4375em;
  }
  body.is-preload #sidebar {
    display: none;
  }
}
@media screen and (max-width: 736px) {
  #sidebar .toggle {
    text-indent: 7.25em;
    width: 7.25em;
  }
  #sidebar .toggle:before {
    color: #7f888f;
    margin-left: -0.0625em;
    margin-top: -0.25em;
    font-size: 1.1rem;
    z-index: 1;
  }
  #sidebar .toggle:after {
    background: rgba(222.2, 224.50625, 226.3, 0.75);
    border-radius: 0.375em;
    content: "";
    height: 3.5em;
    left: 1em;
    position: absolute;
    top: 1em;
    width: 5em;
  }
}

/* Header */
#header {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  border-bottom: solid 5px #f56a6a;
  padding: 6em 0 1em 0;
  position: relative;
}
#header > * {
  -moz-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-bottom: 0;
}
#header .logo {
  border-bottom: 0;
  color: inherit;
  font-family: "Roboto Slab", serif;
  font-size: 1.125em;
}
#header .icons {
  text-align: right;
}
@media screen and (max-width: 1680px) {
  #header {
    padding-top: 5em;
  }
}
@media screen and (max-width: 736px) {
  #header {
    padding-top: 6.5em;
  }
  #header .logo {
    font-size: 1.25em;
    margin: 0;
  }
  #header .icons {
    height: 5em;
    line-height: 5em;
    position: absolute;
    right: -0.5em;
    top: 0;
  }
}

/* Banner */
#banner {
  padding: 6em 0 4em 0;
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}
#banner h1, #banner .h1 {
  margin-top: -0.125em;
}
#banner .content {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 50%;
}
#banner .image {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  display: block;
  margin: 0 0 2em 4em;
  width: 50%;
}
#banner .image img {
  height: 100%;
  -moz-object-fit: cover;
  -webkit-object-fit: cover;
  -ms-object-fit: cover;
  object-fit: cover;
  -moz-object-position: center;
  -webkit-object-position: center;
  -ms-object-position: center;
  object-position: center;
  width: 100%;
}
@media screen and (orientation: portrait) {
  #banner {
    -moz-flex-direction: column-reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  } 
  #banner .content {
    -moz-flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-grow: 0;
    flex-grow: 0;
    -moz-flex-shrink: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-shrink: 0;
    flex-shrink: 0;
    width: 100%;
  }
  #banner .image {
    -moz-flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-grow: 0;
    flex-grow: 0;
    -moz-flex-shrink: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-shrink: 0;
    flex-shrink: 0;
    margin: 0 0 4em 0;
    height: 25em;
    max-height: 50vh;
    min-height: 18em;
    width: 100%;
  }
}
@media screen and (orientation: portrait) and (max-width: 480px) {
  #banner .image {
    max-height: 35vh;
  }
}

/* Footer */
#footer .copyright {
  color: #9fa3a6;
  font-size: 0.9em;
}
#footer .copyright a {
  color: inherit;
}

/* Menu */
#menu ul {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #3d4449;
  font-family: "Roboto Slab", serif;
  font-weight: 400;
  letter-spacing: 0.075em;
  list-style: none;
  margin-bottom: 0;
  padding: 0;
  text-transform: uppercase;
}
#menu ul a, #menu ul span {
  border-bottom: 0;
  color: inherit;
  cursor: pointer;
  display: block;
  font-size: 0.9em;
  padding: 0.625em 0;
}
#menu ul a:hover, #menu ul span:hover {
  color: #f56a6a;
}
#menu ul a.opener, #menu ul span.opener {
  -moz-transition: color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  position: relative;
}
#menu ul a.opener:before, #menu ul span.opener:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
#menu ul a.opener:before, #menu ul span.opener:before {
  -moz-transition: color 0.2s ease-in-out, -moz-transform 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, -ms-transform 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
  color: #9fa3a6;
  content: "\f078";
  position: absolute;
  right: 0;
}
#menu ul a.opener:hover:before, #menu ul span.opener:hover:before {
  color: #f56a6a;
}
#menu ul a.opener.active + ul, #menu ul span.opener.active + ul {
  display: block;
}
#menu ul a.opener.active:before, #menu ul span.opener.active:before {
  -moz-transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
#menu > ul > li {
  border-top: solid 1px rgba(210, 215, 217, 0.75);
  margin: 0.5em 0 0 0;
  padding: 0.5em 0 0 0;
}

#content-core h2 strong, #content-core .h2 strong {
  border-bottom: solid 3px #f56a6a;
  margin: 0 0 2em 0;
  padding: 0 0.75em 0.5em 0;
  display: inline-block;
}

.formunloadalert {
  background: red !important;
}

 

.card-header a {
  color: black !important;
  border-bottom: solid 3px #f56a6a;
  display: inline-block;
  margin: 0 0 2em 0;
  padding: 0 0.75em 0.5em 0;
  font-size: 1.38889em;
  font-family: "Roboto Slab", serif;
  font-weight: 700;
  text-decoration: none;
}

#sidebar nav li {
  border-top: solid 1px rgba(210, 215, 217, 0.75) !important;
  margin: 0.5em 0 0 0 !important;
  padding: 0.5em 0 0 0 !important;
  list-style-type: none !important;
}

#sidebar .navTreeItem a,
#sidebar nav li a {
  color: black !important;
  text-decoration: none !important;
  transition: none !important;
  text-transform: uppercase;
  border-bottom: 0 none;
}

#sidebar {
  min-height: 100vh;
  height: 100%;
  transform: translateX(0);
  transition: transform 1.6s ease-in-out;
}

#sidebar.sidebar-hidden,
.sidebar-hidden {
  transform: translateX(0);
  transition: transform 1.6s ease-in-out;
  width: 0 !important;
  display: none !important;
}

.card-header {
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
}

#sidebar ul.navTree {
  padding-left: 0;
}

body.col-one.col-content #portal-column-content {
  padding-left: 4rem;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRoZW1lLnNjc3MiLCJodG1sNXVwLWVkaXRvcmlhbC9hc3NldHMvc2Fzcy9tYWluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9fcm9vdF92YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwidmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL192YXJpYWJsZXMuYmFyY2Vsb25ldGEuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvX3ZhcmlhYmxlcy5jb2xvcnMucGxvbmUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb250YWluZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3ItYmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvcmVkLWxpbmtzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fZm9jdXMtcmluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ljb24tbGluay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3JhdGlvLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdGFja3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdGV4dC10cnVuY2F0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdnIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS12YXJpYW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19sYWJlbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY29udHJvbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY2hlY2suc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mbG9hdGluZy1sYWJlbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2Ryb3Auc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX29mZmNhbnZhcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wbGFjZWhvbGRlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3V0aWxpdGllcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYXBpLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL19hbGVydHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL19jb250cm9scGFuZWxzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL19sb2dpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9fdG9vbGJhci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9fY29udGVudF9iYXNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL19jYXJkcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9fc2NhZmZvbGRpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvX2ljb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL19oZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvX3NpdGVuYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL19jb250ZW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL19wb3J0bGV0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9taXhpbnMvX21peGluLnBvcnRsZXRzLnBsb25lLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL19mb290ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvcHJpbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvbWl4aW5zL19taXhpbi5mb250LnBsb25lLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL19yb2JvdG8td2ViZm9udC5zY3NzIiwiY29tbWVudHMuc2NzcyIsImN1c3RvbS5zY3NzIiwiLi4vY29tbW9uLnNjc3MiLCJodG1sNXVwLWVkaXRvcmlhbC9hc3NldHMvc2Fzcy9iYXNlL19yZXNldC5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvYmFzZS9fcGFnZS5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvbGlicy9fYnJlYWtwb2ludHMuc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2xpYnMvX3ZlbmRvci5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fcm93LnNjc3MiLCJodG1sNXVwLWVkaXRvcmlhbC9hc3NldHMvc2Fzcy9saWJzL19odG1sLWdyaWQuc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX3NlY3Rpb24uc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2xpYnMvX21peGlucy5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fYm94LnNjc3MiLCJodG1sNXVwLWVkaXRvcmlhbC9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19pY29uLnNjc3MiLCJodG1sNXVwLWVkaXRvcmlhbC9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19pbWFnZS5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fbGlzdC5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fYWN0aW9ucy5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9faWNvbnMuc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX2NvbnRhY3Quc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJodG1sNXVwLWVkaXRvcmlhbC9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX21pbmktcG9zdHMuc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX2ZlYXR1cmVzLnNjc3MiLCJodG1sNXVwLWVkaXRvcmlhbC9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19wb3N0cy5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvbGF5b3V0L193cmFwcGVyLnNjc3MiLCJodG1sNXVwLWVkaXRvcmlhbC9hc3NldHMvc2Fzcy9sYXlvdXQvX21haW4uc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2xheW91dC9fc2lkZWJhci5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvbGF5b3V0L19oZWFkZXIuc2NzcyIsImh0bWw1dXAtZWRpdG9yaWFsL2Fzc2V0cy9zYXNzL2xheW91dC9fYmFubmVyLnNjc3MiLCJodG1sNXVwLWVkaXRvcmlhbC9hc3NldHMvc2Fzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzIiwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvbGF5b3V0L19tZW51LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVNRO0FDRkE7QUNQUjtBQUFBO0VBU0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFPQTtFQzJPSSxxQkFMSTtFRHBPUjtFQUNBO0VBS0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtFQUNBOzs7QUVoSEU7RUZzSEE7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0U7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtF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QUFHRjtFQUNFOzs7QUFTRjtFQUNFO0VBQ0E7OztBQVFGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtFQUNFOzs7QUFLRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQUtGO0VBQ0U7OztBQUtGO0VBQ0U7OztBQU9GO0VBQ0U7RUFDQTs7O0FBUUY7RUFDRTs7O0FBUUY7RUFDRTs7O0FLcmtCRjtFUm1RTSxXQUxJO0VRNVBSLGFKd29CNEI7OztBSW5vQjVCO0VSZ1FNO0VRNVBKLGFKeW5Ca0I7RUl4bkJsQixhSndtQjBCOztBSnpnQjFCO0VRcEdGO0lSdVFNOzs7O0FRdlFOO0VSZ1FNO0VRNVBKLGFKeW5Ca0I7RUl4bkJsQixhSndtQjBCOztBSnpnQjFCO0VRcEdGO0lSdVFNOzs7O0FRdlFOO0VSZ1FNO0VRNVBKLGFKeW5Ca0I7RUl4bkJsQixhSndtQjBCOztBSnpnQjFCO0VRcEdGO0lSdVFNOzs7O0FRdlFOO0VSZ1FNO0VRNVBKLGFKeW5Ca0I7RUl4bkJsQixhSndtQjBCOztBSnpnQjFCO0VRcEdGO0lSdVFNOzs7O0FRdlFOO0VSZ1FNO0VRNVBKLGFKeW5Ca0I7RUl4bkJsQixhSndtQjBCOztBSnpnQjFCO0VRcEdGO0lSdVFNOzs7O0FRdlFOO0VSZ1FNO0VRNVBKLGFKeW5Ca0I7RUl4bkJsQixhSndtQjBCOztBSnpnQjFCO0VRcEdGO0lSdVFNOzs7O0FRL09SO0VDdkRFO0VBQ0E7OztBRDJERjtFQzVERTtFQUNBOzs7QUQ4REY7RUFDRTs7QUFFQTtFQUNFLGNKc29CMEI7OztBSTVuQjlCO0VSOE1NLFdBTEk7RVF2TVI7OztBQUlGO0VBQ0UsZUZ0RjBDO0VONlJ0QyxXQUxJOztBUS9MUjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0EsZUZoRzBDO0VONlJ0QyxXQUxJO0VRdExSLE9FM0ZTOztBRjZGVDtFQUNFOzs7QUdoR0o7RUNJRTtFQUdBOzs7QURERjtFQUNFLFNOb2pCNEI7RU1uakI1QixrQk5tWTBCO0VNbFkxQjtFSkdFO0VLUkY7RUFHQTs7O0FEY0Y7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFWHlQTSxXQUxJO0VXbFBSLE9Qa2pEa0M7OztBU3BsRGxDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VDSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3NERTtFRjVDRTtJQUNFLFdUa2VlOzs7QVd2Ym5CO0VGNUNFO0lBQ0UsV1RrZWU7OztBV3ZibkI7RUY1Q0U7SUFDRSxXVGtlZTs7O0FXdmJuQjtFRjVDRTtJQUNFLFdUa2VlOzs7QVd2Ym5CO0VGNUNFO0lBQ0UsV1RrZWU7OztBWWxmdkI7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBQUtGO0VDTkE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FERUU7RUNPRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQStDSTtFQUNFOzs7QUFHRjtFQXBDSjtFQUNBOzs7QUFjQTtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUErQkU7RUFoREo7RUFDQTs7O0FBcURRO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBdUVRO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQW1FTTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFH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O0VBQ0UsZS9CdTJCc0M7OztBK0I5MUJ4QztFQUNFO0VBQ0E7RUFDQTtFbkM4UUksV0FMSTtFbUNyUVIsYS9CK2xCNEI7OztBK0IzbEI5QjtFQUNFO0VBQ0E7RW5Db1FJLFdBTEk7OztBbUMzUFY7RUFDRTtFQUNBO0VuQzhQSSxXQUxJOzs7QW9DdFJWO0VBQ0UsWWhDKzFCc0M7RUpya0JsQyxXQUxJO0VvQ2pSUixPaEMrMUJzQzs7O0FpQ3AyQnhDO0VBQ0U7RUFDQTtFQUNBO0VyQ3dSSSxXQUxJO0VxQ2hSUixhL0JvRDBDO0UrQm5EMUMsYWpDeW1CNEI7RWlDeG1CNUIsT2hDaVhZO0VnQ2hYWjtFQUNBLGtCaENpZ0IrQjtFZ0NoZ0IvQjtFQUNBO0U5QkdFO0VnQkhFLFljTUo7O0FkRkk7RWNoQk47SWRpQlE7OztBY0dOO0VBQ0U7O0FBRUE7RUFDRTs7QUFLSjtFQUNFLE9qQ3MyQm9DO0VpQ3IyQnBDLGtCakNnMkJvQztFaUMvMUJwQyxjakM4MkJvQztFaUM3MkJwQztFQUtFLFlqQ2toQmtCOztBaUM5Z0J0QjtFQU1FO0VBTUE7RUFLQTs7QUFLRjtFQUNFO0VBQ0E7O0FBSUY7RUFDRSxPakM0MEJvQztFaUMxMEJwQzs7QUFRRjtFQUVFLGtCakM4eUJvQztFaUMzeUJwQzs7QUFJRjtFQUNFO0VBQ0E7RUFDQSxtQmpDb3JCMEI7RWlDbnJCMUIsT2pDc3lCb0M7RWtDcDRCdEMsa0JsQ3FpQ2dDO0VpQ3I4QjlCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJqQ2dzQjBCO0VpQy9yQjFCO0VkekZFLFljMEZGOztBZHRGRTtFYzBFSjtJZHpFTTs7O0Fjd0ZOO0VBQ0Usa0JqQzQ3QjhCOzs7QWlDbjdCbEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFqQ3dmNEI7RWlDdmY1QixPakMyeEJzQztFaUMxeEJ0QztFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUVFO0VBQ0E7OztBQVdKO0VBQ0UsWWpDNHdCc0M7RWlDM3dCdEM7RXJDeUlJLFdBTEk7RU92UU47O0E4QnVJRjtFQUNFO0VBQ0E7RUFDQSxtQmpDb29CMEI7OztBaUNob0I5QjtFQUNFLFlqQ2d3QnNDO0VpQy92QnRDO0VyQzRISSxXQUxJO0VPdlFOOztBOEJvSkY7RUFDRTtFQUNBO0VBQ0EsbUJqQzJuQjBCOzs7QWlDbm5CNUI7RUFDRSxZakM2dUJvQzs7QWlDMXVCdEM7RUFDRSxZakMwdUJvQzs7QWlDdnVCdEM7RUFDRSxZakN1dUJvQzs7O0FpQ2x1QnhDO0VBQ0UsT2pDcXVCc0M7RWlDcHVCdEMsUWpDOHRCc0M7RWlDN3RCdEMsU2pDaWxCNEI7O0FpQy9rQjVCO0VBQ0U7O0FBR0Y7RUFDRTtFOUJ2TEE7O0E4QjJMRjtFQUNFO0U5QjVMQTs7QThCZ01GO0VBQW9CLFFqQzhzQmtCOztBaUM3c0J0QztFQUFvQixRakM4c0JrQjs7O0FtQzc1QnhDO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RXZDcVJJLFdBTEk7RXVDN1FSLGFqQ2lEMEM7RWlDaEQxQyxhbkNzbUI0QjtFbUNybUI1QixPbkN5M0JzQztFbUN4M0J0QztFQUNBLGtCbkNrM0JzQztFbUNqM0J0QztFQUNBO0VBQ0EscUJuQys5QmtDO0VtQzk5QmxDLGlCbkMrOUJrQztFbUM5OUJsQztFaENIRTtFZ0JIRSxZZ0JTSjs7QWhCTEk7RWdCZk47SWhCZ0JROzs7QWdCTU47RUFDRSxjbkNzM0JvQztFbUNyM0JwQztFQUtFLFluQ2krQjRCOztBbUM3OUJoQztFQUVFLGVuQzZ1QjBCO0VtQzV1QjFCOztBQUdGO0VBRUUsa0JuQ3UxQm9DOztBbUNsMUJ0QztFQUNFO0VBQ0E7OztBQUlKO0VBQ0UsYW5Dc3VCNEI7RW1DcnVCNUIsZ0JuQ3F1QjRCO0VtQ3B1QjVCLGNuQ3F1QjRCO0VKbGdCeEIsV0FMSTtFT3ZRTjs7O0FnQzhDSjtFQUNFLGFuQ2t1QjRCO0VtQ2p1QjVCLGdCbkNpdUI0QjtFbUNodUI1QixjbkNpdUI0QjtFSnRnQnhCLFdBTEk7RU92UU47OztBZ0N3REE7RUFDRTs7O0FDeEVOO0VBQ0U7RUFDQSxZcENxNkJ3QztFb0NwNkJ4QyxjcENxNkJ3QztFb0NwNkJ4QyxlcENxNkJ3Qzs7QW9DbjZCeEM7RUFDRTtFQUNBOzs7QUFJSjtFQUNFLGVwQzI1QndDO0VvQzE1QnhDO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFFQTtFQUNBLE9wQzA0QndDO0VvQ3o0QnhDLFFwQ3k0QndDO0VvQ3g0QnhDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxRcEMyNEJ3QztFb0MxNEJ4Qzs7QUFHQTtFakMzQkU7O0FpQytCRjtFQUVFLGVwQ200QnNDOztBb0NoNEJ4QztFQUNFLFFwQzAzQnNDOztBb0N2M0J4QztFQUNFLGNwQ3MxQm9DO0VvQ3IxQnBDO0VBQ0EsWXBDOGZvQjs7QW9DM2Z0QjtFQUNFLGtCOUJaZ0M7RThCYWhDLGM5QmJnQzs7QThCZWhDO0VBSUk7O0FBSUo7RUFJSTs7QUFLTjtFQUNFLGtCOUJqQ2dDO0U4QmtDaEMsYzlCbENnQztFOEJ1QzlCOztBQUlKO0VBQ0U7RUFDQTtFQUNBLFNwQ2syQnVDOztBb0MzMUJ2QztFQUNFO0VBQ0EsU3BDeTFCcUM7OztBb0MzMEIzQztFQUNFLGNwQ28xQmdDOztBb0NsMUJoQztFQUNFO0VBRUEsT3BDODBCOEI7RW9DNzBCOUI7RUFDQTtFQUNBO0VqQ2pIQTtFZ0JIRSxZaUJzSEY7O0FqQmxIRTtFaUIwR0o7SWpCekdNOzs7QWlCbUhKO0VBQ0U7O0FBR0Y7RUFDRSxxQnBDNjBCNEI7RW9DeDBCMUI7O0FBS047RUFDRSxlcEN3ekI4QjtFb0N2ekI5Qjs7QUFFQTtFQUNFO0VBQ0E7OztBQUtOO0VBQ0U7RUFDQSxjcENzeUJnQzs7O0FvQ255QmxDO0VBQ0U7RUFDQTtFQUNBOztBQUlFO0VBQ0U7RUFDQTtFQUNBLFNwQ3NwQndCOzs7QW9DL29CMUI7RUFDRTs7O0FDbkxOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlBO0VBQTBCLFlyQzhnQ2E7O0FxQzdnQ3ZDO0VBQTBCLFlyQzZnQ2E7O0FxQzFnQ3pDO0VBQ0U7O0FBR0Y7RUFDRSxPckMrL0J1QztFcUM5L0J2QyxRckM4L0J1QztFcUM3L0J2QztFQUNBO0VIMUJGLGtCNUJrRGtDO0UrQnRCaEMsUXJDNi9CdUM7RUcxZ0N2QztFZ0JIRSxZa0JtQkY7O0FsQmZFO0VrQk1KO0lsQkxNOzs7QWtCZ0JKO0VIakNGLGtCbEM4aEN5Qzs7QXFDeC9CekM7RUFDRSxPckN3K0I4QjtFcUN2K0I5QixRckN3K0I4QjtFcUN2K0I5QjtFQUNBLFFyQ3UrQjhCO0VxQ3QrQjlCLGtCckN1K0I4QjtFcUN0K0I5QjtFbEM3QkE7O0FrQ2tDRjtFQUNFLE9yQ28rQnVDO0VxQ24rQnZDLFFyQ20rQnVDO0VxQ2wrQnZDO0VIcERGLGtCNUJrRGtDO0UrQkloQyxRckNtK0J1QztFRzFnQ3ZDO0VnQkhFLFlrQjZDRjs7QWxCekNFO0VrQmlDSjtJbEJoQ007OztBa0IwQ0o7RUgzREYsa0JsQzhoQ3lDOztBcUM5OUJ6QztFQUNFLE9yQzg4QjhCO0VxQzc4QjlCLFFyQzg4QjhCO0VxQzc4QjlCO0VBQ0EsUXJDNjhCOEI7RXFDNThCOUIsa0JyQzY4QjhCO0VxQzU4QjlCO0VsQ3ZEQTs7QWtDNERGO0VBQ0U7O0FBRUE7RUFDRSxrQnJDZzlCcUM7O0FxQzc4QnZDO0VBQ0Usa0JyQzQ4QnFDOzs7QXNDbmlDM0M7RUFDRTs7QUFFQTtBQUFBO0FBQUE7RUFHRSxRdEN3aUNvQztFc0N2aUNwQyxZdEN1aUNvQztFc0N0aUNwQyxhdEN1aUNvQzs7QXNDcGlDdEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbkJSRSxZbUJTRjs7QW5CTEU7RW1CVEo7SW5CVU07OztBbUJPTjtBQUFBO0VBRUU7O0FBRUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUVFLGF0QzRnQ2tDO0VzQzNnQ2xDLGdCdEM0Z0NrQzs7QXNDemdDcEM7QUFBQTtFQUNFLGF0Q3VnQ2tDO0VzQ3RnQ2xDLGdCdEN1Z0NrQzs7QXNDbmdDdEM7RUFDRSxhdENpZ0NvQztFc0NoZ0NwQyxnQnRDaWdDb0M7O0FzQzEvQnBDO0FBQUE7QUFBQTtBQUFBO0VBQ0U7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O0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQ0SEE7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQrR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxpQnpDOFF3Qzs7QXlDcFF4QztFQUNF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LFk2QmdPSTs7RUFHQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBckM1TFI7RXFDc0lBO0lBRUk7SUFDQTs7RUFFQTtJQUNFOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STdCOU5KLFk2QmdPSTs7RUFHQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBckM1TFI7RXFDc0lBO0lBRUk7SUFDQTs7RUFFQTtJQUNFOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STdCOU5KLFk2QmdPSTs7RUFHQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBckM1TFI7RXFDc0lBO0lBRUk7SUFDQTs7RUFFQTtJQUNFOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STdCOU5KLFk2QmdPSTs7RUFHQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBckM1TFI7RXFDc0lBO0lBRUk7SUFDQTs7RUFFQTtJQUNFOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STdCOU5KLFk2QmdPSTs7RUFHQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBQXREUjtFQUVJO0VBQ0E7O0FBRUE7RUFDRTs7QUFFQTtFQUNF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O0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBeERuQ047RXdENUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEQ1QkEsWWdEOEJBOzs7QWhEMUJBO0VnRFlKO0loRFhNOzs7QVJ1REo7RXdENUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBeEQ1Qko7RXdEL0JGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBeERuQ047RXdENUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEQ1QkEsWWdEOEJBOzs7QWhEMUJBO0VnRFlKO0loRFhNOzs7QVJ1REo7RXdENUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBeEQ1Qko7RXdEL0JGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBeERuQ047RXdENUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEQ1QkEsWWdEOEJBOzs7QWhEMUJBO0VnRFlKO0loRFhNOzs7QVJ1REo7RXdENUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBeEQ1Qko7RXdEL0JGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBQS9FUjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhENUJBLFlnRDhCQTs7QWhEMUJBO0VnRFlKO0loRFhNOzs7QWdEMkJGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUVFOztBQUdGO0VBR0U7OztBQTJCUjtFTnBIRTtFQUNBO0VBQ0E7RUFDQSxTN0QwbUNrQztFNkR6bUNsQztFQUNBO0VBQ0Esa0J2REtTOztBdURGVDtFQUFTOztBQUNUO0VBQVMsUzdEbStDeUI7OztBbUVyM0NwQztFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQzdJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxTcEVnekNrQzs7QW9FOXlDbEM7RUFDRTtFQUNBOzs7QUFLSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFLQTtFQUNFOzs7QUFJSjtFQUNFO0lBQ0UsU3BFbXhDZ0M7OztBb0Uvd0NwQztFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUNrQkk7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQXJCSjtBQWNBO0VBT0k7RUFBQTs7O0FBbUJKO0FBMUJBO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQWpCSjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFTRjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFqQko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBSUo7RUFPSTs7O0FBS0Y7RUFPSTs7O0FBbkJOO0VBT0k7OztBQUtGO0VBT0k7OztBQW5CTjtFQU9JOzs7QUFLRjtFQU9JOzs7QUFuQk47RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBakJKO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQUlKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFqQko7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBU0Y7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFP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QUVBO0VBQ0M7OztBQUtIO0VBQ0M7RUFDQTs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQzs7O0FBS0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FGc0hPO0VFbEhQO0lBQ0M7OztBRmlITTtFRTVHUDtJQUNDOzs7QUYyR007RUV0R1A7SUFDQztJQUNBOztFQUdEO0lBQ0M7OztBQUlGO0VBQ0M7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOzs7QUFJRjtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDOzs7QUN0TEY7QUFFQztFQ2tDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHQztFQUNDOztBQU1DO0VBQ0M7O0FBTUg7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7O0FBaUJDO0VBQ0M7O0FBS0E7RUFDQzs7QUFHRDtFQUNDOztBQUxEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFMRDtFQUNDOztBQUdEO0VBQ0M7O0FBTEQ7RUFDQzs7QUFHRDtFQUNDOztBQUxEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFMRDtFQUNDOztBQUdEO0VBQ0M7O0FBTEQ7RUFDQzs7QUFHRDtFQUNDOztBQUxEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFMRDtFQUNDOztBQUdEO0VBQ0M7O0FBTEQ7RUFDQzs7QUFHRDtFQUNDOztBQUxEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFMRDtFQUNDOztBQUdEO0VBQ0M7O0FBY0E7RUFDQztFQUNBOztBQUVBO0VBQ0M7O0FBSUE7RUFDQzs7QUFFQTtFQUNDOztBQWJKO0VBQ0M7RUFDQTs7QUFFQTtFQUNDOztBQUlBO0VBQ0M7O0FBRUE7RUFDQzs7QUFiSjtFQUNDO0VBQ0E7O0FBRUE7RUFDQzs7QUFJQTtFQUNDOztBQUVBO0VBQ0M7O0FBYko7RUFDQztFQUNBOztBQUVBO0VBQ0M7O0FBSUE7RUFDQzs7QUFFQTtFQUNDOztBQWJKO0VBQ0M7RUFDQTs7QUFFQTtFQUNDOztBQUlBO0VBQ0M7O0FBRUE7RUFDQzs7QUFiSjtFQUNDO0VBQ0E7O0FBRUE7RUFDQzs7QUFJQTtFQUNDOztBQUVBO0VBQ0M7O0FKZ0ZIO0VHbE5SO0lDa0NFO0lBQ0E7SUFDQTtJQUNBOztFQUdDO0lBQ0M7O0VBTUM7SUFDQzs7RUFNSDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFHRDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFpQkM7SUFDQzs7RUFLQTtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFjQTtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7RUFiSjtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7O0FKZ0ZIO0VHbE5SO0lDa0NFO0lBQ0E7SUFDQTtJQUNBOztFQUdDO0lBQ0M7O0VBTUM7SUFDQzs7RUFNSDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFHRDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFpQkM7SUFDQzs7RUFLQTtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFjQTtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7RUFiSjtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7O0FKZ0ZIO0VHbE5SO0lDa0NFO0lBQ0E7SUFDQTtJQUNBOztFQUdDO0lBQ0M7O0VBTUM7SUFDQzs7RUFNSDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFHRDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFpQkM7SUFDQzs7RUFLQTtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFjQTtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7RUFiSjtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7O0FKZ0ZIO0VHbE5SO0lDa0NFO0lBQ0E7SUFDQTtJQUNBOztFQUdDO0lBQ0M7O0VBTUM7SUFDQzs7RUFNSDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFHRDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFpQkM7SUFDQzs7RUFLQTtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFjQTtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7RUFiSjtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7O0FKZ0ZIO0VHbE5SO0lDa0NFO0lBQ0E7SUFDQTtJQUNBOztFQUdDO0lBQ0M7O0VBTUM7SUFDQzs7RUFNSDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFHRDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFpQkM7SUFDQzs7RUFLQTtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFMRDtJQUNDOztFQUdEO0lBQ0M7O0VBTEQ7SUFDQzs7RUFHRDtJQUNDOztFQUxEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFjQTtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7RUFiSjtJQUNDO0lBQ0E7O0VBRUE7SUFDQzs7RUFJQTtJQUNDOztFQUVBO0lBQ0M7O0VBYko7SUFDQztJQUNBOztFQUVBO0lBQ0M7O0VBSUE7SUFDQzs7RUFFQTtJQUNDOztFQWJKO0lBQ0M7SUFDQTs7RUFFQTtJQUNDOztFQUlBO0lBQ0M7O0VBRUE7SUFDQzs7OztBQ3BJWjtBQUdFO0VBQ0M7OztBQUtEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0M7O0FBS0Y7RUFDQzs7O0FDN0JKO0FBRUM7RUFDQzs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VMbVZVO0VBQUE7RUFBQTtFQUFBO0VLMVVUO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDQzs7QUFHRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0M7RUFDQTs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7O0FBSUE7RUFDQzs7QUFJRjtFQUNDOzs7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU9DOzs7QUFHRDtFQUNDOzs7QUFHRDtBQUFBO0VMOFFVO0VBQUE7RUFBQTtFQUFBO0VLM1FUO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VDN0ZEO0VEK0ZFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDcEdGO0FBQUE7RUFNQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBTUM7RUFDQTs7QURrRkE7QUFBQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztB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QUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0c7OztBQUdKO0FBQUE7RUFFQztFQUNHO0VBQ0g7RUFDQTs7O0FBR0Q7RUFDQztFQUNBOzs7QUFHRDtFQUNJOzs7QUFLSjtFQUNDIiwiZmlsZSI6InRoZW1lLmNzcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGVtZSBpbXBvcnQgc3RydWN0dXJlIGlzIGJhc2VkIG9uIEJvb3RzdHJhcCBkb2N1bWVudGF0aW9uXG4vLyBodHRwczovL2dldGJvb3RzdHJhcC5jb20vZG9jcy81LjIvY3VzdG9taXplL3Nhc3MvI2ltcG9ydGluZ1xuXG4vLyBCYXJjZWxvbmV0YSBhbmQgQm9vdHN0cmFwIGltcG9ydCBhcmUgdXNpbmcgLS1sb2FkLXBhdGg9bm9kZV9tb2R1bGVzXG5cbi8vIFJvYm90byBpcyBub3QgaW5jbHVkZWQgaW4gdGhpcyB0ZW1wbGF0ZSBhbmQgdGhlcmVmb3JlIHdlIGRpc2FibGUgdGhlIHNldHVwIGhlcmUuXG4vLyRlbmFibGUtcm9ib3RvLXdlYmZvbnQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyovLyBGb250IGZhbWlsaWVzXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUJpdHRlcjo0MDAsNDAwaSw3MDB8RW5jb2RlK1NhbnM6MjAwLDQwMCcpO1xuLy8gQGltcG9ydCAnQGZvbnRzb3VyY2UvZW5jb2RlLXNhbnMnO1xuXG4vLyAxLiBJbmNsdWRlIGZ1bmN0aW9ucyBmaXJzdCAoc28geW91IGNhbiBtYW5pcHVsYXRlIGNvbG9ycywgU1ZHcywgY2FsYywgZXRjKVxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuXG4vLyAyLiBJbmNsdWRlIGFueSBkZWZhdWx0IHZhcmlhYmxlIG92ZXJyaWRlcyBoZXJlXG5cbi8vIDMuIEluY2x1ZGUgcmVtYWluZGVyIG9mIHJlcXVpcmVkIEJhcmNlbG9uZXRhIGFuZCBCb290c3RyYXAgc3R5bGVzaGVldHNcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvdmFyaWFibGVzLmNvbG9ycy5wbG9uZVwiO1xuXG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL3ZhcmlhYmxlcy5jb2xvcnMuZGFyay5wbG9uZVwiO1xuQGltcG9ydCBcIkBwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy92YXJpYWJsZXMuY29sb3JzLmRhcmsucGxvbmVcIjtcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvdmFyaWFibGVzLnByb3BlcnRpZXNcIjtcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvdmFyaWFibGVzLmJhcmNlbG9uZXRhXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzLWRhcmtcIjtcbkBpbXBvcnQgXCJ0aGVtZV92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLy8gNC4gSW5jbHVkZSBhbnkgZGVmYXVsdCBtYXAgb3ZlcnJpZGVzIGhlcmVcblxuLy8gNS4gSW5jbHVkZSByZW1haW5kZXIgb2YgcmVxdWlyZWQgcGFydHNcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9tYXBzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3Mvcm9vdFwiO1xuQGltcG9ydCBcIkBwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9taXhpbnMvbWl4aW4ucG9ydGxldHMucGxvbmVcIjtcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvbWl4aW5zL21peGluLmZvbnQucGxvbmVcIjtcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3Mvcm9vdF92YXJpYWJsZXNcIjtcblxuLy8gNi4gQm9vdHN0cmFwIGJhc2UgcGFydHMgYXMgbmVlZGVkXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvcmVib290XCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdHlwZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2ltYWdlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2NvbnRhaW5lcnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9ncmlkXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvaGVscGVyc1wiO1xuXG4vLyA3LiBCb290c3RyYXAgY29tcG9uZW50c1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3RhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Zvcm1zXCI7XG5cbi5mb3JtQ29udHJvbHMge1xuICAgIEBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9idXR0b25zXCI7XG59XG5cbi8vICNjb250ZW50LWNvcmUge1xuLy8gICAgIEBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9idXR0b25zXCI7XG4vLyB9XG5cbi8vIDpub3QoI2NvbnRlbnQtY29yZSkge1xuLy8gICAgICAgICBAYXQtcm9vdCB7XG4vLyAgICAgICAgICAgQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2J1dHRvbnNcIjtcbi8vICAgICAgICAgfVxuLy8gfVxuXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9kcm9wZG93blwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2J1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL25hdlwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL25hdmJhclwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2NhcmRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9hY2NvcmRpb25cIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2JhZGdlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYWxlcnRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9wcm9ncmVzc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jbG9zZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3RvYXN0c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21vZGFsXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdG9vbHRpcFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3BvcG92ZXJcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jYXJvdXNlbFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3NwaW5uZXJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3Mvb2ZmY2FudmFzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvcGxhY2Vob2xkZXJzXCI7XG5cbi8vIDguIE9wdGlvbmFsbHkgaW5jbHVkZSB1dGlsaXRpZXMgQVBJIGxhc3QgdG8gZ2VuZXJhdGUgY2xhc3NlcyBiYXNlZCBvbiB0aGUgU2FzcyBtYXAgaW4gYF91dGlsaXRpZXMuc2Nzc2BcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvYXBpXCI7XG5cbi8vIDkuIEJhcmNlbG9uZXRhIGJhc2VcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvYWxlcnRzXCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL2Zvcm1zXCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL2NvbnRyb2xwYW5lbHNcIjtcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvbG9naW5cIjtcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvdG9vbGJhclwiO1xuQGltcG9ydCBcIkBwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9ncmlkXCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL2NvbnRlbnRfYmFzZVwiO1xuQGltcG9ydCBcIkBwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9jb250ZW50X3RhYmxlc1wiO1xuXG4vLyBCYXJjZWxvbmV0YSBmdWxsXG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL2NhcmRzXCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL3NjYWZmb2xkaW5nXCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL2ljb25zXCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL2hlYWRlclwiO1xuQGltcG9ydCBcIkBwbG9uZS9wbG9uZXRoZW1lLWJhcmNlbG9uZXRhLWJhc2Uvc2Nzcy9zaXRlbmF2XCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL2NvbnRlbnRcIjtcbi8vIEBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvY29tbWVudHNcIjtcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvcG9ydGxldHNcIjtcbkBpbXBvcnQgXCJAcGxvbmUvcGxvbmV0aGVtZS1iYXJjZWxvbmV0YS1iYXNlL3Njc3MvZm9vdGVyXCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL3ByaW50XCI7XG5AaW1wb3J0IFwiQHBsb25lL3Bsb25ldGhlbWUtYmFyY2Vsb25ldGEtYmFzZS9zY3NzL3JvYm90by13ZWJmb250XCI7XG5cbi8vKi8vIEN1c3RvbSBzdHVmZlxuQGltcG9ydCBcImNvbW1lbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCJjdXN0b20uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL2NvbW1vbi5zY3NzXCI7IFxuLy8gQGltcG9ydCBcInRvb2xiYXJcIjtcblxuLy8gLy8gOS4gQWRkIGFkZGl0aW9uYWwgY3VzdG9tIGNvZGUgaGVyZVxuXG5AaW1wb3J0IFwiaHRtbDV1cC1lZGl0b3JpYWwvYXNzZXRzL3Nhc3MvbWFpblwiO1xuXG4jY29udGVudC1jb3JlIGgyIHN0cm9uZ3tcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgM3B4ICNmNTZhNmE7XG5cdG1hcmdpbjogMCAwIDJlbSAwO1xuXHRwYWRkaW5nOiAwIDAuNzVlbSAwLjVlbSAwOyBcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuXG4uZm9ybXVubG9hZGFsZXJ0IHtcblx0YmFja2dyb3VuZDogcmVkICFpbXBvcnRhbnQ7XG59XG5cbnRkLnNvcnRpbmdfMSB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50fVxuICBcblxuXG4vLyAjZWRpdC16b25lICB7XG4vLyBcdEBleHRlbmQgbWVudSAhb3B0aW9uYWw7XG4vLyB9XG4gXG5cbi5idG4ge1xuICAgIEBleHRlbmQgLmJ1dHRvbiAhb3B0aW9uYWw7XG59XG5cbi5jYXJkLWhlYWRlciBhIHtcblx0Y29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDNweCAjZjU2YTZhO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMCAwIDJlbSAwO1xuXHRwYWRkaW5nOiAwIDAuNzVlbSAwLjVlbSAwOyBcblx0Zm9udC1zaXplOiAxLjM4ODg5ZW07XG5cdGZvbnQtZmFtaWx5OiBcIlJvYm90byBTbGFiXCIsIHNlcmlmO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNzaWRlYmFyIG5hdiBsaSB7XG5cdGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKDIxMCwgMjE1LCAyMTcsIDAuNzUpICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMC41ZW0gMCAwIDAgICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDAuNWVtIDAgMCAwICAhaW1wb3J0YW50O1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLm5hdlRyZWVJdGVtIGEsXG4jc2lkZWJhciBuYXYgbGkgYSB7XG5cdGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0dHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHR0ZXh0LXRyYW5zZm9ybTogIHVwcGVyY2FzZTtcblx0Ym9yZGVyLWJvdHRvbTogMCBub25lO1xufVxuXG4jc2lkZWJhciB7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMS42cyBlYXNlLWluLW91dDsgXG59XG5cbiNzaWRlYmFyLnNpZGViYXItaGlkZGVuLFxuLnNpZGViYXItaGlkZGVuIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjZzIGVhc2UtaW4tb3V0OyBcblx0d2lkdGg6IDAgIWltcG9ydGFudDtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2FyZC1oZWFkZXIge1xuXHRib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgdWwubmF2VHJlZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwXG5cbn1cblxuXG5ib2R5LmNvbC1vbmUuY29sLWNvbnRlbnQgI3BvcnRhbC1jb2x1bW4tY29udGVudCB7XG5cdHBhZGRpbmctbGVmdDogNHJlbTtcbn1cbiIsIkBpbXBvcnQgICdsaWJzL3ZhcnMnO1xyXG5AaW1wb3J0ICAnbGlicy9mdW5jdGlvbnMnO1xyXG5AaW1wb3J0ICAnbGlicy9taXhpbnMnO1xyXG5AaW1wb3J0ICAnbGlicy92ZW5kb3InO1xyXG5AaW1wb3J0ICAnbGlicy9icmVha3BvaW50cyc7XHJcbkBpbXBvcnQgICdsaWJzL2h0bWwtZ3JpZCc7XHJcbi8vIEBpbXBvcnQgICcuLi9jc3MvZm9udGF3ZXNvbWUtYWxsLm1pbi5jc3MnO1xyXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2Fuczo0MDAsNjAwLDQwMGl0YWxpYyw2MDBpdGFsaWN8Um9ib3RvK1NsYWI6NDAwLDcwMCcpO1xyXG4vLyBAaW1wb3J0IHVybCgnKytyZXNvdXJjZSsrbWVkaWFsb2cuaWNvbnBpY2tlci9pY29uLWZvbnRzL2ZvbnQtYXdlc29tZS00LjIuMC9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmYnKTtcclxuLy8gQGltcG9ydCB1cmwoJy9mb250LWF3ZXNvbWUtNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzJyk7XHJcbi8vIEBpbXBvcnQgJ2ZvbnRhd2Vzb21lLWFsbC5taW4uY3NzJztcclxuXHJcbi8vIEBpbXBvcnQgXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC50dGZcIjtcclxuLy8gQGltcG9ydCBcIkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWRcIjtcclxuLy8gQGltcG9ydCBcIkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvcmVndWxhclwiO1xyXG4vLyBAaW1wb3J0IFwiQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9icmFuZHNcIjtcclxuXHJcbi8vICRmYS1mb250LXBhdGg6IFwiQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvd2ViZm9udHNcIjtcclxuXHJcblxyXG4vKlxyXG5cdEVkaXRvcmlhbCBieSBIVE1MNSBVUFxyXG5cdGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcblx0RnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbiovXHJcblxyXG4vLyBCcmVha3BvaW50cy5cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludHMoKFxyXG5cdFx0eGxhcmdlOiAgICggMTI4MXB4LCAgMTY4MHB4ICksXHJcblx0XHRsYXJnZTogICAgKCA5ODFweCwgICAxMjgwcHggKSxcclxuXHRcdG1lZGl1bTogICAoIDczN3B4LCAgIDk4MHB4ICApLFxyXG5cdFx0c21hbGw6ICAgICggNDgxcHgsICAgNzM2cHggICksXHJcblx0XHR4c21hbGw6ICAgKCAzNjFweCwgICA0ODBweCAgKSxcclxuXHRcdHh4c21hbGw6ICAoIG51bGwsICAgIDM2MHB4ICApLFxyXG5cdFx0eGxhcmdlLXRvLW1heDogICAgJyhtaW4td2lkdGg6IDE2ODFweCknLFxyXG5cdFx0c21hbGwtdG8teGxhcmdlOiAgJyhtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogMTY4MHB4KSdcclxuXHQpKTtcclxuXHJcblxyXG4gXHJcblx0QGltcG9ydCAgJ2Jhc2UvcmVzZXQnO1xyXG5cdEBpbXBvcnQgICdiYXNlL3BhZ2UnO1xyXG5cdEBpbXBvcnQgICdiYXNlL3R5cG9ncmFwaHknO1xyXG5cdEBpbXBvcnQgICdjb21wb25lbnRzL3Jvdyc7XHJcblx0QGltcG9ydCAgJ2NvbXBvbmVudHMvc2VjdGlvbic7XHJcblx0QGltcG9ydCAgJ2NvbXBvbmVudHMvZm9ybSc7XHJcblx0QGltcG9ydCAgJ2NvbXBvbmVudHMvYm94JztcclxuXHRAaW1wb3J0ICAnY29tcG9uZW50cy9pY29uJztcclxuXHRAaW1wb3J0ICAnY29tcG9uZW50cy9pbWFnZSc7XHJcblx0QGltcG9ydCAgJ2NvbXBvbmVudHMvbGlzdCc7XHJcblx0QGltcG9ydCAgJ2NvbXBvbmVudHMvYWN0aW9ucyc7XHJcblx0QGltcG9ydCAgJ2NvbXBvbmVudHMvaWNvbnMnO1xyXG5cdEBpbXBvcnQgICdjb21wb25lbnRzL2NvbnRhY3QnO1xyXG5cdEBpbXBvcnQgICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xyXG5cdEBpbXBvcnQgICdjb21wb25lbnRzL3RhYmxlJztcclxuXHRAaW1wb3J0ICAnY29tcG9uZW50cy9idXR0b24nO1xyXG5cdEBpbXBvcnQgICdjb21wb25lbnRzL21pbmktcG9zdHMnO1xyXG5cdEBpbXBvcnQgICdjb21wb25lbnRzL2ZlYXR1cmVzJztcclxuXHRAaW1wb3J0ICAnY29tcG9uZW50cy9wb3N0cyc7XHJcblxyXG5cdEBpbXBvcnQgICdsYXlvdXQvd3JhcHBlcic7XHJcblx0QGltcG9ydCAgJ2xheW91dC9tYWluJztcclxuXHRAaW1wb3J0ICAnbGF5b3V0L3NpZGViYXInO1xyXG5cdEBpbXBvcnQgICdsYXlvdXQvaGVhZGVyJztcclxuXHRAaW1wb3J0ICAnbGF5b3V0L2Jhbm5lcic7XHJcblx0QGltcG9ydCAgJ2xheW91dC9mb290ZXInO1xyXG5cdEBpbXBvcnQgICdsYXlvdXQvbWVudSc7XHJcbiAiLCI6cm9vdCxcbltkYXRhLWJzLXRoZW1lPVwibGlnaHRcIl0ge1xuICAvLyBOb3RlOiBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cblxuICAvLyBDb2xvcnNcbiAgLy9cbiAgLy8gR2VuZXJhdGUgcGFsZXR0ZXMgZm9yIGZ1bGwgY29sb3JzLCBncmF5cywgYW5kIHRoZW1lIGNvbG9ycy5cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRncmF5cyB7XG4gICAgLS0jeyRwcmVmaXh9Z3JheS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1yZ2Ige1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dCB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICAtLSN7JHByZWZpeH13aGl0ZS1yZ2I6ICN7dG8tcmdiKCR3aGl0ZSl9O1xuICAtLSN7JHByZWZpeH1ibGFjay1yZ2I6ICN7dG8tcmdiKCRibGFjayl9O1xuXG4gIC8vIEZvbnRzXG5cbiAgLy8gTm90ZTogVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktYmFzZSl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgQGlmICRib2R5LXRleHQtYWxpZ24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduOiAjeyRib2R5LXRleHQtYWxpZ259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yKX07XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9keS12YXJpYWJsZXNcblxuICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1saW5rLWRlY29yYXRpb246ICN7JGxpbmstZGVjb3JhdGlvbn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvcil9O1xuXG4gIEBpZiAkbGluay1ob3Zlci1kZWNvcmF0aW9uICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItZGVjb3JhdGlvbjogI3skbGluay1ob3Zlci1kZWNvcmF0aW9ufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmd9O1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvcmRlci12YXJcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoOiAjeyRib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItc3R5bGU6ICN7JGJvcmRlci1zdHlsZX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnR9O1xuXG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtOiAjeyRib3JkZXItcmFkaXVzLXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZzogI3skYm9yZGVyLXJhZGl1cy1sZ307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGw6ICN7JGJvcmRlci1yYWRpdXMteGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bDogI3skYm9yZGVyLXJhZGl1cy14eGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLTJ4bDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsKTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjAgZm9yIGNvbnNpc3RlbmN5XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbDogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvcmRlci12YXJcblxuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbTogI3skYm94LXNoYWRvdy1zbX07XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGc6ICN7JGJveC1zaGFkb3ctbGd9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0OiAjeyRib3gtc2hhZG93LWluc2V0fTtcblxuICAvLyBGb2N1cyBzdHlsZXNcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9jdXMtdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGg6ICN7JGZvY3VzLXJpbmctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLW9wYWNpdHk6ICN7JGZvY3VzLXJpbmctb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3I6ICN7JGZvY3VzLXJpbmctY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9jdXMtdmFyaWFibGVzXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgY29sb3Itc2NoZW1lOiBkYXJrO1xuXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZy1kYXJrKX07XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3ItZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItbW9kZS1taXhpblxuQG1peGluIGNvbG9yLW1vZGUoJG1vZGU6IGxpZ2h0LCAkcm9vdDogZmFsc2UpIHtcbiAgQGlmICRjb2xvci1tb2RlLXR5cGUgPT0gXCJtZWRpYS1xdWVyeVwiIHtcbiAgICBAaWYgJHJvb3QgPT0gdHJ1ZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgW2RhdGEtYnMtdGhlbWU9XCIjeyRtb2RlfVwiXSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItbW9kZS1taXhpblxuIiwiOnJvb3QsXG5bZGF0YS1icy10aGVtZT1cImxpZ2h0XCJdIHtcbiAgLy8gTm90ZTogQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG5cbiAgLy8gQ29sb3JzXG4gIC8vXG4gIC8vIEdlbmVyYXRlIHBhbGV0dGVzIGZvciBmdWxsIGNvbG9ycywgZ3JheXMsIGFuZCB0aGVtZSBjb2xvcnMuXG5cbiAgQGVhY2ggJGNvbG9yLFxuICAkdmFsdWUgaW4gJHBsb25lLWNvbG9ycyB7XG4gICAgLS1wbG9uZS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvcixcbiAgJHZhbHVlIGluICRzdGF0ZS1jb2xvcnMge1xuICAgIC0tcGxvbmUtc3RhdGUtI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICAgIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWRhcmstbW9kZS12YXJzXG4gICAgICBAZWFjaCAkY29sb3IsXG4gICAgICAkdmFsdWUgaW4gJHBsb25lLWNvbG9ycy1kYXJrIHtcbiAgICAgICAgLS1wbG9uZS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgICAgIH1cbiAgICBcbiAgICAgIEBlYWNoICRjb2xvcixcbiAgICAgICR2YWx1ZSBpbiAkc3RhdGUtY29sb3JzLWRhcmsge1xuICAgICAgICAtLXBsb25lLXN0YXRlLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICAgICAgfVxuICAgIH1cbn0iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLy8gUm9vdFxuLy9cbi8vIEFiaWxpdHkgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290IGZvbnQgc2l6ZXMsIGFmZmVjdGluZyB0aGUgdmFsdWUgb2YgYHJlbWAuXG4vLyBudWxsIGJ5IGRlZmF1bHQsIHRodXMgbm90aGluZyBpcyBnZW5lcmF0ZWQuXG5cbjpyb290IHtcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplKSk7XG4gIH1cblxuICBAaWYgJGVuYWJsZS1zbW9vdGgtc2Nyb2xsIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbi8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVib290LWJvZHktcnVsZXNcbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktYmcpOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNFxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZWJvb3QtYm9keS1ydWxlc1xuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBSZXNldCBGaXJlZm94J3MgZ3JheSBjb2xvclxuXG5ociB7XG4gIG1hcmdpbjogJGhyLW1hcmdpbi15IDA7XG4gIGNvbG9yOiAkaHItY29sb3I7IC8vIDFcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuXG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyAxLiBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy8gICAgQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vICAgIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cblxuJWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXN0eWxlOiAkaGVhZGluZ3MtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbn1cblxuaDEge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG59XG5cbmgyIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xufVxuXG5oMyB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbn1cblxuaDQge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG59XG5cbmg1IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xufVxuXG5oNiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbn1cblxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDIuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDMuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMVxuICBjdXJzb3I6IGhlbHA7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyAzXG59XG5cblxuLy8gQWRkcmVzc1xuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaXN0c1xuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIDFcbn1cblxuXG4vLyBCbG9ja3F1b3RlXG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIFN0cm9uZ1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyO1xufVxuXG5cbi8vIFNtYWxsXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gTWFya1xuXG5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnKTtcbn1cblxuXG4vLyBTdWIgYW5kIFN1cFxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc3ViLXN1cC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiKTtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICAmLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBDb2RlXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1jb2RlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICBvdmVyZmxvdzogYXV0bzsgLy8gM1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y29kZS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cblxuLy8gRm9ybXNcbi8vXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbiAgd29yZC13cmFwOiBub3JtYWw7XG5cbiAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcblxuW2xpc3RdOm5vdChbdHlwZT1cImRhdGVcIl0pOm5vdChbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdKTpub3QoW3R5cGU9XCJtb250aFwiXSk6bm90KFt0eXBlPVwid2Vla1wiXSk6bm90KFt0eXBlPVwidGltZVwiXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBsZWZ0OyAvLyAxXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGVnZW5kLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVnZW5kLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICArICoge1xuICAgIGNsZWFyOiBsZWZ0OyAvLyAyXG4gIH1cbn1cblxuLy8gRml4IGhlaWdodCBvZiBpbnB1dHMgd2l0aCBhIHR5cGUgb2YgZGF0ZXRpbWUtbG9jYWwsIGRhdGUsIG1vbnRoLCB3ZWVrLCBvciB0aW1lXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg0MlxuXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4vLyAgICBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbi8vICAgIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4vLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxufVxuXG4vLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbi8vIFNlZSBodHRwczovL3J0bHN0eWxpbmcuY29tL3Bvc3RzL3J0bC1zdHlsaW5nI2Zvcm0taW5wdXRzXG4vLyAyLiBSVEwgb25seSBvdXRwdXRcbi8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyAxLiBJbmhlcml0IGZvbnQgZmFtaWx5IGFuZCBsaW5lIGhlaWdodCBmb3IgZmlsZSBpbnB1dCBidXR0b25zXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU3VtbWFyeVxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC12YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6IHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICBzaGFkZS1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgIHNoYWRlLWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtdGV4dC1lbXBoYXNpczogICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDgwJSkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGU6ICAgICAgICAgIHRpbnQtY29sb3IoJGluZm8sIDgwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZTogICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgODAlKSAhZGVmYXVsdDtcbiRsaWdodC1iZy1zdWJ0bGU6ICAgICAgICAgbWl4KCRncmF5LTEwMCwgJHdoaXRlKSAhZGVmYXVsdDtcbiRkYXJrLWJnLXN1YnRsZTogICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgIHRpbnQtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlOiAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuXG4kZW5hYmxlLWRhcmstbW9kZTogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGNvbG9yLW1vZGUtdHlwZTogICAgICAgICAgICAgZGF0YSAhZGVmYXVsdDsgLy8gYGRhdGFgIG9yIGBtZWRpYS1xdWVyeWBcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib2R5LXRlcnRpYXJ5LWNvbG9yOiAgICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4vLyBmdXN2LWRpc2FibGVcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvY3VzLXJpbmctdmFyaWFibGVzXG4kZm9jdXMtcmluZy13aWR0aDogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAgICAuMjUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICByZ2JhKCRwcmltYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ib3gtc2hhZG93OiAwIDAgJGZvY3VzLXJpbmctYmx1ciAkZm9jdXMtcmluZy13aWR0aCAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9jdXMtcmluZy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kaHItY29sb3I6ICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQWxsb3dzIGZvciBpbmhlcml0ZWQgY29sb3JzXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZyLXZhcmlhYmxlc1xuJHZyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZyLXZhcmlhYmxlc1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjE4NzVlbSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6ICAgICAgIC4wNzUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAkZm9jdXMtcmluZy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogJGZvY3VzLXJpbmctb3BhY2l0eSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6ICAgICAgICAgICRmb2N1cy1yaW5nLWJsdXIgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWJ0bi12YXJpYWJsZXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFibGVzXG4kYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYjogICB0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRsaW5rLWNvbG9yKSwgJGxpbmstY29sb3IsIDE1JSkpICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcbiRmb3JtLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvciksXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpLFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtbGV2ZWxzLW1hcFxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjNcbi8vIGZ1c3YtZW5hYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiA1TDggMTFMMTQgNScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiA1TDggMTFMMTQgNScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgY2FsYygjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuLy8gZnVzdi1lbmFibGVcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcblxuXG4vLyBTcGlubmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci12YXJpYWJsZXNcbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAuNzVzICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLXZhcmlhYmxlc1xuXG5cbi8vIENsb3NlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS12YXJpYWJsZXNcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuQGltcG9ydCBcInZhcmlhYmxlcy1kYXJrXCI7IC8vIFRPRE86IGNhbiBiZSByZW1vdmVkIHNhZmVseSBpbiB2Niwgb25seSBoZXJlIHRvIGF2b2lkIGJyZWFraW5nIGNoYW5nZXMgaW4gdjUuM1xuIiwiLy8gVGhpcyBmaWxlIGlzIHBvcnRlZCBmcm9tIFBsb25lLCBzbyBtYW55IGRlZmluaXRpb25zIGFyZSBub3Qgd29ya2luZ1xuXG5cblxuLy8qLy8gQ09MT1JTXG4vLyAkcm9kOiByZWQ7XG4vLyAkcHJpbWFyeTogJHJvZDsgXG4vLyBkZmFzZlxuLy9ncmF5c1xuJHBsb25lLWdyYXktZGFya2VyOlx0XHRcdFx0XHRcdFx0bGlnaHRlbigjMDAwLCAyMCUpOyAgIC8vICMzMzNcbiRwbG9uZS1ncmF5LWRhcms6XHRcdFx0XHRcdFx0XHRsaWdodGVuKCMwMDAsIDMwJSk7ICAgLy8gIzRjNGM0Y1xuJHBsb25lLWdyYXk6XHRcdFx0XHRcdFx0XHRcdGxpZ2h0ZW4oIzAwMCwgNDElKTsgICAvLyAjNjk2OTY5XG4kcGxvbmUtZ3JheS1saWdodDpcdFx0XHRcdFx0XHRcdGxpZ2h0ZW4oIzAwMCwgNDYuNSUpOyAvLyAjNzY3Njc2IC8vZGlzY3JlZXRcbiRwbG9uZS1ncmF5LWxpZ2h0ZXI6XHRcdFx0XHRcdFx0bGlnaHRlbigjMDAwLCA4MCUpOyAgIC8vICNjY2MgLy9kaXNhYmxlZHMgbGlrZVxuXG5cblxuLy9jb2xvcnNcbiRwbG9uZS1saW5rLWNvbG9yOlx0XHRcdFx0XHRcdFx0I2Q1NDU0NTsgLy9yZWRpc2hcbiRwbG9uZS1saW5rLWNvbG9yLW9uLWRhcms6XHRcdFx0XHRcdCMyMGE3ZGU7XG4kcGxvbmUtbGluay1jb2xvci1vbi1ncmV5Olx0XHQgIFx0XHRcdCMyMGE3ZGU7XG4kcGxvbmUtbGluay1zZWNvbmRhcnk6IGFkanVzdC1odWUoJHBsb25lLWxpbmstY29sb3IsIC0oMTIwKSk7XG4kcGxvbmUtbGluay10ZXJ0aWFyeTogYWRqdXN0LWh1ZSgkcGxvbmUtbGluay1jb2xvciwgKDEyMCkpO1xuJHBsb25lLWxpbmstb3Bwb3NpdGU6IGFkanVzdC1odWUoJHBsb25lLWxpbmstY29sb3IsICgxODApKTtcbi8vICRicy1oZWFkaW5ncy1jb2xvcjogICAgJHBsb25lLWxpbmstY29sb3I7XG4gXG5cbi8vaWYgeW91IG5lZWQgZGlmZmVyZW50IGNvbnRyYXN0IG9yIGNvbG9yXG5cbiRsaW5rLWNvbG9yLW9uLWdyZXk6XHRcdCAgXHRcdFx0IzA4NmNhMzsgLy92YWxpZCB3Y2FnIDIuMFxuJGRlZmF1bHQtcHVibGlzaGVkLWNvbG9yOlx0XHRcdFx0JHBsb25lLWxpbmstY29sb3I7IC8vcHVibGlzaGVkIGFuZCBleHRlcm5hbCBzYW1lIGNvbG9yXG4vLyAkcGxvbmUtZGVmYXVsdC1kcmFmdC1jb2xvcjpcdFx0XHRcdFx0ZGFya2VuKCRwbG9uZS10b29sYmFyLWRyYWZ0LWNvbG9yLCAxNSUpOyAvLyBsaW1lLXllbGxvdyAvL2RyYWZ0IGlzIHZpc2libGVcbi8vICRwbG9uZS1kZWZhdWx0LXBlbmRpbmctY29sb3I6XHRcdFx0XHRkYXJrZW4oJHBsb25lLXRvb2xiYXItcGVuZGluZy1jb2xvciwgMTUlKTsgLy8gb3JhbmdlXG4vLyAkcGxvbmUtZGVmYXVsdC1wcml2YXRlLWNvbG9yOlx0XHRcdFx0JHBsb25lLXRvb2xiYXItcHJpdmF0ZS1jb2xvcjsgLy8gcmVkXG4vLyAkcGxvbmUtZGVmYXVsdC1pbnRlcm5hbC1jb2xvcjpcdFx0XHRcdGRhcmtlbigkcGxvbmUtdG9vbGJhci1pbnRlcm5hbC1jb2xvciwgMTUlKTsgLy8gaXMgZHJhZnRcbi8vICRwbG9uZS1kZWZhdWx0LWludGVybmFsbHktcHVibGlzaGVkLWNvbG9yOlx0ZGFya2VuKCRwbG9uZS10b29sYmFyLWludGVybmFsbHktcHVibGlzaGVkLWNvbG9yLCA1JSk7IC8vIGlzIGludHJhbmV0XG5cblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkO1xuXG4vLyovLyBTQ0FGRk9MRElOR1xuIFxuJHBsb25lLWJvZHktYmc6ICAgICAgICAgICAgICRib2R5LWJnO1xuJHBsb25lLWZvb3Rlci1iZzogICAgICAgICAgICBcdFx0XHQjQUFBO1xuJHBsb25lLXRleHQtY29sb3I6ICAgICAgICAgICBcdFx0XHRcdCAjMDAwO1xuJHBsb25lLWxpbmstaG92ZXItY29sb3I6ICAgICBcdFx0XHRcdCBkYXJrZW4oJHBsb25lLWxpbmstY29sb3IsIDc1JSk7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICAgICAgZGFya2VuKCRwbG9uZS1saW5rLWNvbG9yLCAxNSUpOyAgLy8gdmlya2VyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE0cHg7IC8vIHZpcmtlclxuJHBsb25lLWZvbnQtc2l6ZS1iYXNlOiAgICAgJGZvbnQtc2l6ZS1iYXNlOyBcblxuLy8qLy8gVFlQT0dSQVBIWSAvL1xuJHBsb25lLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IC8vIFJvYm90byBzZWVtcyBQbG9uZSdzIERJTlxuJHBsb25lLWZvbnQtZmFtaWx5LWNvbmRlbnNlZDogICBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgc2Fucy1zZXJpZjsgLy9qdXN0IG9uIHRvb2xiYXJcbiRwbG9uZS1mb250LWZhbWlseS1zZXJpZjogICAgICAgXCJNZW5sb1wiLCBcIkJpdHRlclwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XG4kcGxvbmUtZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiRwbG9uZS1mb250LWZhbWlseS1iYXNlOiAgICAgICAgJHBsb25lLWZvbnQtZmFtaWx5LXNlcmlmO1xuXG5cbi8vKi8vIFRZUE9HUkFQSFlcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgJHBsb25lLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktY29uZGVuc2VkOiAgIFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBzYW5zLXNlcmlmOyAvL2p1c3Qgb24gdG9vbGJhclxuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBcIkJpdHRlclwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJHBsb25lLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRwbG9uZS1mb250LXNpemUtYmFzZSAqIDEuMjUpKTtcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJHBsb25lLWZvbnQtc2l6ZS1iYXNlICogMC44NSkpO1xuXG4vLyAkZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkcGxvbmUtZm9udC1zaXplLWJhc2UgKiAyLjgpKTtcbi8vICRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRwbG9uZS1mb250LXNpemUtYmFzZSAqIDEuMjUpKTtcbi8vICRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoJHBsb25lLWZvbnQtc2l6ZS1iYXNlICogMS44KSk7XG4vLyAkZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRwbG9uZS1mb250LXNpemUtYmFzZSAqIDEuMzUpKTtcbi8vICRmb250LXNpemUtaDU6ICAgICAgICAgICAgY2VpbCgoJHBsb25lLWZvbnQtc2l6ZS1iYXNlICogMS4xMikpO1xuLy8gJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKCgkcGxvbmUtZm9udC1zaXplLWJhc2UgKiAxKSk7XG5cbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbiRwbG9uZS1saW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS41O1xuXG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJHBsb25lLWxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoJHBsb25lLWZvbnQtc2l6ZS1iYXNlICogJHBsb25lLWxpbmUtaGVpZ2h0LWJhc2UpKTsgLy8gfjIwcHhcblxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjI7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgMjAwICFkZWZhdWx0O1xuXG5cbi8vKi8vIENPTVBPTkVOVFNcbi8vICRwbG9uZS1wYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHg7XG4vLyAkcGxvbmUtcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweDtcbi8vICRwbG9uZS1wYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4O1xuLy8gJHBsb25lLXBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHg7XG4vLyAkcGxvbmUtcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4O1xuLy8gJHBsb25lLXBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHg7XG4vLyAkcGxvbmUtcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4O1xuLy8gJHBsb25lLXBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweDtcbi8vICRwbG9uZS1saW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzO1xuLy8gJHBsb25lLWxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNTtcbi8vICRwbG9uZS1ib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICA0cHg7XG4vLyAkcGxvbmUtYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4O1xuLy8gJHBsb25lLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDJweDtcbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbi8vICRwbG9uZS1jb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmO1xuLy8gLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4vLyAkcGxvbmUtY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJHBsb25lLWxpbmstY29sb3I7XG4vLyAvLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0ZSBkcm9wZG93bnMuXG4vLyAkcGxvbmUtY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4O1xuLy8gLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4vLyAkcGxvbmUtY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4O1xuXG5cblxuLy8qLy8gVEFCTEVTXG4kcGxvbmUtdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDhweDtcbiRwbG9uZS10YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4O1xuJHBsb25lLXRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuJHBsb25lLXRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICBsaWdodGVuKCRwbG9uZS1saW5rLWNvbG9yLCA0MCUpO1xuJHBsb25lLXRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjBmMGYwO1xuJHBsb25lLXRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkcGxvbmUtdGFibGUtYmctaG92ZXI7XG4kcGxvbmUtdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRwbG9uZS1saW5rLWNvbG9yO1xuXG5cblxuLy8qLy8gU1RBVEVTXG4kcGxvbmUtc3RhdGUtaW5mby10ZXh0OiAgICBcdFx0ICAgICAgICAgICAgcmdiYSgwLDAsMCwuNSk7XG4kcGxvbmUtc3RhdGUtaW5mby1iZzogICAgIFx0XHQgICAgICAgICAgICAjYWFkNmVhO1xuJHBsb25lLXN0YXRlLWluZm8tYm9yZGVyOiBcdFx0ICAgICAgICAgICAgMXB4IHNvbGlkIGRhcmtlbigkcGxvbmUtc3RhdGUtaW5mby1iZyw0JSk7XG4kcGxvbmUtc3RhdGUtaW5mby1idWxsZXQ6XHRcdFx0XHRcdCMzZTdiOTE7XG4kcGxvbmUtc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICBcdCAgICByZ2JhKDAsMCwwLC41KTtcbiRwbG9uZS1zdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICBcdCBcdCAgICAjZWJkMzgwO1xuJHBsb25lLXN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgXHQgICAgMXB4IHNvbGlkIGRhcmtlbigkcGxvbmUtc3RhdGUtd2FybmluZy1iZyw2JSk7XG4kcGxvbmUtc3RhdGUtd2FybmluZy1idWxsZXQ6XHRcdFx0XHQjYmM4ZDBkO1xuJHBsb25lLXN0YXRlLWVycm9yLXRleHQ6ICAgICAgICAgICAgICBcdFx0cmdiYSgwLDAsMCwuNSk7XG4kcGxvbmUtc3RhdGUtZXJyb3ItYmc6ICAgICAgICAgICAgICAgIFx0XHQjRUM5QzhEO1xuJHBsb25lLXN0YXRlLWVycm9yLWJvcmRlcjogICAgICAgICAgICBcdFx0MXB4IHNvbGlkIGRhcmtlbigkcGxvbmUtc3RhdGUtZXJyb3ItYmcsMiUpO1xuJHBsb25lLXN0YXRlLWVycm9yLWJ1bGxldDpcdFx0XHRcdFx0I2FjNDkzZjtcblxuXG4vLyovLyBUT09MQkFSXG5cbiRwbG9uZS1sZWZ0LXRvb2xiYXItZXhwYW5kZWQ6IDE4MHB4O1xuJHBsb25lLWxlZnQtdG9vbGJhcjogNjBweDtcblxuLy8qLy8gREVWSUNFU1xuJHBsb25lLXNjcmVlbi14cy1taW46ICAgICAgICAgICAgICA0ODBweDtcbiRwbG9uZS1zY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgNzY4cHg7XG4kcGxvbmUtc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgIDk5MnB4O1xuJHBsb25lLXNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAxMjAwcHg7XG4kcGxvbmUtc2NyZWVuLXhsLW1pbjogICAgICAgICAgICAgIDE2MDBweDtcblxuJHBsb25lLXNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHBsb25lLXNjcmVlbi1zbS1taW4gLSAxKTtcbiRwbG9uZS1zY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRwbG9uZS1zY3JlZW4tbWQtbWluIC0gMSk7XG4kcGxvbmUtc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkcGxvbmUtc2NyZWVuLWxnLW1pbiAtIDEpO1xuJHBsb25lLXNjcmVlbi1sZy1tYXg6ICAgICAgICAgICAgICAoJHBsb25lLXNjcmVlbi14bC1taW4gLSAxKTtcblxuJHBsb25lLWdyaWQtY29sdW1uczogICAgICAgIDEyO1xuJHBsb25lLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDMwcHg7XG4kcGxvbmUtZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHBsb25lLXNjcmVlbi1zbS1taW47XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kcGxvbmUtZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRwbG9uZS1ncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKTtcblxuXG4vLyovLyBDT05UQUlORVJTXG4kcGxvbmUtY29udGFpbmVyLXhzOiAgICAgICAgICAgICAgICAgKDU0MHB4ICsgJHBsb25lLWdyaWQtZ3V0dGVyLXdpZHRoKTtcbiRwbG9uZS1jb250YWluZXItc206ICAgICAgICAgICAgICAgICAoNzIwcHggKyAkcGxvbmUtZ3JpZC1ndXR0ZXItd2lkdGgpO1xuJHBsb25lLWNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICg5NjBweCArICRwbG9uZS1ncmlkLWd1dHRlci13aWR0aCk7XG4kcGxvbmUtY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgKDExNDBweCArICRwbG9uZS1ncmlkLWd1dHRlci13aWR0aCk7XG4kcGxvbmUtY29udGFpbmVyLXhsOiAgICAgICAgICAgICAgICAgKDE1NDBweCArICRwbG9uZS1ncmlkLWd1dHRlci13aWR0aCk7XG5cbi8vKi8vIENPTlRBSU5FUiBTSVpFIEFMSUFTRVNcbiRwbG9uZS1jb250YWluZXItbW9iaWxlOiAgICAgICAgICAgICAgJHBsb25lLWNvbnRhaW5lci14cztcbiRwbG9uZS1jb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAgJHBsb25lLWNvbnRhaW5lci1zbTtcbiRwbG9uZS1jb250YWluZXItZGVza3RvcDogICAgICAgICAgICAgJHBsb25lLWNvbnRhaW5lci1tZDtcbiRwbG9uZS1jb250YWluZXItbGFyZ2UtZGVza3RvcDogICAgICAgJHBsb25lLWNvbnRhaW5lci1sZztcbiRwbG9uZS1jb250YWluZXItZXh0cmEtbGFyZ2U6ICAgICAgICAgJHBsb25lLWNvbnRhaW5lci14bDtcblxuXG5cbi8vKi8vIEJ1dHRvbnNcbi8vICRwbG9uZS1idG4tc3RhbmRhbG9uZS1jb2xvcjogICAgICAgICAgXHRcdHJlZDtcbi8vICRwbG9uZS1idG4tc3RhbmRhbG9uZS1iZzogICAgICAgICAgICAgXHQjMjBhN2RlO1xuLy8gJHBsb25lLWJ0bi1zdGFuZGFsb25lLWJvcmRlcjogICAgICAgICAgXHRkYXJrZW4oJHBsb25lLWJ0bi1zdGFuZGFsb25lLWJnLCA1JSk7XG4vLyAkcGxvbmUtYnRuLWNvbnRleHQtY29sb3I6ICAgICAgICAgICAgICBcdFx0I2ZmZjtcbi8vICRwbG9uZS1idG4tY29udGV4dC1iZzogICAgICAgICAgICAgICAgIFx0IzIwYTdkZTtcbi8vICRwbG9uZS1idG4tY29udGV4dC1ib3JkZXI6ICAgICAgICAgICAgIFx0ZGFya2VuKCRwbG9uZS1idG4tY29udGV4dC1iZywgNSUpO1xuLy8gJHBsb25lLWJ0bi1kZXN0cnVjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmY7XG4vLyAkcGxvbmUtYnRuLWRlc3RydWN0aXZlLWJnOiAgICAgICAgICAgICAgICRwbG9uZS1saW5rLW9wcG9zaXRlO1xuLy8gJGJ0bi1zdGFuZGFsb25lLWNvbG9yOiAgICAgICAgICBcdFx0cmVkO1xuLy9cblxuLy8gJGJ0bi1wcmltYXJ5LWJnIDogICAgICAgICAgICAgICAgICAkcGxvbmUtbGluay1jb2xvcjsgXG4vLyAvLyAkcGxvbmUtYnRuLXByaW1hcnktYmcgOiAgICAgICAgICAgcmVkOyBcbi8vICRicy1idG4tcHJpbWFyeS1iZyA6ICAgICAgICAgICAgICAgICAgJHBsb25lLWxpbmstY29sb3I7IFxuLy8gJGJ0bi1wcmltYXJ5LWJhY2tncm91bmQgOiAgICAgICAgICAgICAgICAgICRwbG9uZS1saW5rLWNvbG9yOyBcbi8vICRwbG9uZS1idG4tcHJpbWFyLWJnIDogICAgICAgICAgICAgICAgICAkcGxvbmUtbGluay1jb2xvcjsgXG4vLyAkYnMtYnRuLWJnIDogICAgICAgICAgICAgICAgICAkcGxvbmUtbGluay1jb2xvcjsgXG5cblxuLy8gJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgXCJDb3VyaWVyXCI7XG4vLyAkYnRuLWZvbnQtc2l6ZTogMnJlbTtcblxuXG5cbi8vIC8vICRwbG9uZS1idG4tZGVzdHJ1Y3RpdmUtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGJzLSRidG4tZGVzdHJ1Y3RpdmUtYmcsIDUlKTtcblxuLy8gLy8qLy8gRk9STVNcbi8vIC8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3Jcbi8vICRwbG9uZS1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4vLyAvLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4vLyAkcGxvbmUtaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkcGxvbmUtdGFibGUtYm9yZGVyLWNvbG9yO1xuLy8gLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4vLyAkcGxvbmUtaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkcGxvbmUtZ3JheTtcbi8vIC8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuLy8gJHBsb25lLWlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgIzIwYTdkZTtcbi8vIC8vKiogYDxpbnB1dD5gIGJvcmRlciByYWRpdXNcbi8vICRwbG9uZS1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRwbG9uZS1ib3JkZXItcmFkaXVzLWJhc2U7XG4vLyAvLyoqIEJvcmRlciBjb2xvciBmb3IgaW5wdXRzIG9uIGZvY3VzXG4vLyAvLyAkcGxvbmUtaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAkcGxvbmUtcG9ydGxldC1saXN0LWJ1bGxldDtcbi8vIC8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuLy8gJHBsb25lLWlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgJHBsb25lLWdyYXktbGlnaHQ7XG4vLyAvLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuLy8gJHBsb25lLWlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKCRwbG9uZS1saW5lLWhlaWdodC1jb21wdXRlZCArICgkcGxvbmUtcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKTtcbi8vIC8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuLy8gJHBsb25lLWlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoJHBsb25lLWZvbnQtc2l6ZS1sYXJnZSAqICRwbG9uZS1saW5lLWhlaWdodC1sYXJnZSkgKyAoJHBsb25lLXBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpO1xuLy8gLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4vLyAkcGxvbmUtaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICAoZmxvb3IoJHBsb25lLWZvbnQtc2l6ZS1zbWFsbCAqICRwbG9uZS1saW5lLWhlaWdodC1zbWFsbCkgKyAoJHBsb25lLXBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpO1xuLy8gJHBsb25lLWxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBsb25lLWxpbmstY29sb3Itb24tZ3JleTtcbi8vICRwbG9uZS1sZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRwbG9uZS1saW5rLWNvbG9yO1xuXG4vLyAvLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4vLyAkcGxvbmUtaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkcGxvbmUtZ3JheS1saWdodGVyO1xuLy8gLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4vLyAkcGxvbmUtaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkcGxvbmUtaW5wdXQtYm9yZGVyO1xuXG5cblxuLy8gLy8qLy8gQUxFUlRTXG4vLyAkcGxvbmUtYWxlcnQtaWNvbi1zaXplOlx0XHRcdFx0XHRcdFx0MjBweDtcbi8vICRwbG9uZS1hbGVydC1wYWRkaW5nOlx0XHRcdFx0XHRcdFx0MTVweDtcbi8vICRwbG9uZS1hbGVydC1ib3JkZXItcmFkaXVzOlx0XHRcdFx0XHQ0cHg7XG4vLyAkcGxvbmUtYWxlcnQtbGluay1mb250LXdlaWdodDpcdFx0XHRcdCRwbG9uZS1mb250LXdlaWdodC1yZWd1bGFyOyAvL2l0IGRlcGVuZHMgb24geW91ciBmb250LWZhbWlseVxuLy8gJHBsb25lLWFsZXJ0LWluZm8tYmc6XHRcdFx0XHRcdFx0JHBsb25lLXN0YXRlLWluZm8tYmc7XG4vLyAkcGxvbmUtYWxlcnQtaW5mby10ZXh0Olx0XHRcdFx0XHRcdCRwbG9uZS1zdGF0ZS1pbmZvLXRleHQ7IC8vdGhlIHRleHQgb24gYWxlcnQgaXMgYmxhY2sgd2l0aCBvcGFjaXR5IHRvIHVzZSB0aGUgc2FtZSBjb2xvciBhbmQgbWF0Y2ggdGhlIGJnLlxuLy8gJHBsb25lLWFsZXJ0LWluZm8tYm9yZGVyOlx0XHRcdFx0XHQkcGxvbmUtc3RhdGUtaW5mby1ib3JkZXI7XG4vLyAkcGxvbmUtYWxlcnQtaW5mby1idWxsZXQ6XHRcdFx0XHRcdCRwbG9uZS1zdGF0ZS1pbmZvLWJ1bGxldDtcbi8vICRwbG9uZS1hbGVydC13YXJuaW5nLWJnOlx0XHRcdFx0XHQkcGxvbmUtc3RhdGUtd2FybmluZy1iZztcbi8vICRwbG9uZS1hbGVydC13YXJuaW5nLXRleHQ6XHRcdFx0XHRcdCRwbG9uZS1zdGF0ZS13YXJuaW5nLXRleHQ7XG4vLyAkcGxvbmUtYWxlcnQtd2FybmluZy1ib3JkZXI6XHRcdFx0XHQkcGxvbmUtc3RhdGUtd2FybmluZy1ib3JkZXI7XG4vLyAkcGxvbmUtYWxlcnQtd2FybmluZy1idWxsZXQ6XHRcdFx0XHQkcGxvbmUtc3RhdGUtd2FybmluZy1idWxsZXQ7XG4vLyAkcGxvbmUtYWxlcnQtZXJyb3ItYmc6XHRcdFx0XHRcdFx0JHBsb25lLXN0YXRlLWVycm9yLWJnO1xuLy8gJHBsb25lLWFsZXJ0LWVycm9yLXRleHQ6XHRcdFx0XHRcdCRwbG9uZS1zdGF0ZS1lcnJvci10ZXh0O1xuLy8gJHBsb25lLWFsZXJ0LWVycm9yLWJvcmRlcjpcdFx0XHRcdFx0JHBsb25lLXN0YXRlLWVycm9yLWJvcmRlcjtcbi8vICRwbG9uZS1hbGVydC1lcnJvci1idWxsZXQ6XHRcdFx0XHRcdCRwbG9uZS1zdGF0ZS1lcnJvci1idWxsZXQ7XG5cblxuXG4vLyAvLyovLyBQT1JUTEVUU1xuLy8gJHBsb25lLWJvcmRlci1iYXNlOlx0XHRcdFx0XHRcdFx0MXB4IHNvbGlkICRwbG9uZS1saW5rLWNvbG9yO1xuLy8gJHBsb25lLXBvcnRsZXQtaGVhZGVyLWJnOlx0XHRcdFx0XHQkcGxvbmUtbGluay1jb2xvcjtcbi8vICRwbG9uZS1wb3J0bGV0LWhlYWRlci1jb2xvcjpcdFx0XHRcdCAjRkZGO1xuLy8gJHBsb25lLXBvcnRsZXQtY29udGVudC1iZzpcdFx0XHRcdFx0I2ZmZjtcbi8vICRwbG9uZS1wb3J0bGV0LWZvb3Rlci1iZzpcdFx0XHRcdFx0JHBsb25lLWxpbmstY29sb3I7XG4vLyAkcGxvbmUtcG9ydGxldC1ib3JkZXI6XHRcdFx0XHRcdFx0MXB4IHNvbGlkICRwbG9uZS1saW5rLWNvbG9yO1xuLy8gJHBsb25lLXBvcnRsZXQtY29udHJhc3QtYmc6XHRcdFx0XHRcdCNGRkY7XG4vLyAkcGxvbmUtcG9ydGxldC1ldmVudC1idWxsZXQ6XHRcdFx0XHQkcGxvbmUtbGluay1jb2xvcjtcbi8vICRwbG9uZS1wb3J0bGV0LWxpc3QtYnVsbGV0Olx0XHRcdFx0XHQjNjRiZWU4O1xuLy8gJHBsb25lLXBvcnRsZXQtbGlzdC1ob3Zlci1iZzpcdFx0XHRcdCNmZWZlZmU7XG4vLyAkcGxvbmUtcG9ydGxldC1saXN0LXNtYWxsLXRleHQ6XHRcdFx0JHBsb25lLWdyYXktZGFya2VyO1xuXG5cblxuLy8qLy8gVEhVTUJTXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2Vcbi8vICRwbG9uZS10aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweDtcbi8vIC8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3Jcbi8vICRwbG9uZS10aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnO1xuLy8gLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4vLyAkcGxvbmUtdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkO1xuLy8gLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuLy8gLy8gJHBsb25lLXRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJHBsb25lLWJvcmRlci1yYWRpdXMtYmFzZTtcbi8vIC8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuLy8gJHBsb25lLXRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgJHBsb25lLXRleHQtY29sb3I7XG4vLyAvLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuLy8gJHBsb25lLXRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4O1xuXG5cblxuLy8qLy8gQlJFQURDUlVNQlNcbi8vICRwbG9uZS1icmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4O1xuLy8gJHBsb25lLWJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4O1xuLy8gLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3Jcbi8vICRwbG9uZS1icmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkcGxvbmUtcG9ydGxldC1oZWFkZXItYmcsIDc1JSk7XG4vLyAvLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuLy8gJHBsb25lLWJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAkcGxvbmUtZ3JheS1saWdodGVyO1xuLy8gLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuLy8gJHBsb25lLWJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkcGxvbmUtZ3JheS1saWdodDtcblxuXG4vLyovLyBTSVRFIE5BVlxuLy8gJHBsb25lLXNpdGVuYXYtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweDtcbi8vICRwbG9uZS1zaXRlbmF2LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICRwbG9uZS1saW5lLWhlaWdodC1jb21wdXRlZDtcbi8vICRwbG9uZS1zaXRlbmF2LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRwbG9uZS1ib3JkZXItcmFkaXVzLWJhc2U7XG4vLyAvLyAkcGxvbmUtc2l0ZW5hdi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJHBsb25lLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuLy8gLy8gJHBsb25lLXNpdGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgKCRwbG9uZS1zaXRlbmF2LWhlaWdodCAtICRwbG9uZS1saW5lLWhlaWdodC1jb21wdXRlZCkgLyAyO1xuLy8gJHBsb25lLXNpdGVuYXYtY29sbGFwc2UtbWF4LWhlaWdodDogICAgICAgMzQwcHg7XG4vLyAkcGxvbmUtc2l0ZW5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAxMHB4IDE1cHg7XG4vLyAkcGxvbmUtc2l0ZW5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICBsaWdodGVuKCRwbG9uZS1saW5rLWNvbG9yLCAxMCUpO1xuLy8gJGJzLW5hdmJhci1iYWNrZ3JvdW5kICAgICAgICAgOiAgICAgIFx0XHRcdCAkcGxvbmUtbGluay1jb2xvcjtcbi8vICRwbG9uZS1zaXRlbmF2LWJnOiAgICAgIFx0XHRcdCAgICAgICRwbG9uZS1saW5rLWNvbG9yO1xuLy8gJHBsb25lLXNpdGVuYXYtaG92ZXItYmc6ICAgICAgXHRcdFx0ICAkcGxvbmUtbGluay1jb2xvcjtcbi8vICAgJHBsb25lLXBvcnRsZXQtbmF2dHJlZS1tYXhsZXZlbDpcdFx0ICA1O1xuXG5cbiRuYXZiYXItYmFyY2Vsb25ldGEtYmFja2dyb3VuZDogICAgICAgICAgICAkcGxvbmUtbGluay1jb2xvcjtcbi8vbmF2YmFyIHRleHRcbi8vICRuYXZiYXItYmFyY2Vsb25ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiKDI1NSwyNDgsMjIwKTtcbi8vIC8vc2VsZWN0ZWQgdGV4dFxuLy8gJG5hdmJhci1iYXJjZWxvbmV0YS1hY3RpdmUtY29sb3I6ICAgICAgICAgICB3aGl0ZXNtb2tlO1xuXG4vLyAvLyBzZWxlY3RlZCBiYWNrZ3JvdW5kXG4vLyAkbmF2YmFyLWJhcmNlbG9uZXRhLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICMxMjM0NTY7XG5cbi8vIC8vIEhvdmVyIGFuZCBzZWxlY3RlZCBjb2xvclxuLy8gLy8kbmF2YmFyLWJhcmNlbG9uZXRhLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHB1cnBsZTtcblxuLy8gLy8vLyBob3ZlciBiYWNrZ3JvdW5kIGNvbG9yXG4vLyAkbmF2YmFyLWJhcmNlbG9uZXRhLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICByZ2JhKDE4LDUyLDg2LCAwLjcpO1xuXG4vLyAvLyovLyBQQUdJTkFUSU9OXG4vLyAkcGxvbmUtcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBsb25lLWxpbmstY29sb3I7XG4vLyAkcGxvbmUtcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJHBsb25lLXBvcnRsZXQtY29udGVudC1iZztcbi8vICRwbG9uZS1wYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAkcGxvbmUtcG9ydGxldC1ib3JkZXI7XG4vLyAkcGxvbmUtcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJHBsb25lLWxpbmstaG92ZXItY29sb3I7XG4vLyAkcGxvbmUtcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgJHBsb25lLXBvcnRsZXQtaGVhZGVyLWJnO1xuLy8gJHBsb25lLXBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICRwbG9uZS1wb3J0bGV0LWJvcmRlcjtcbi8vICRwbG9uZS1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAkcGxvbmUtcG9ydGxldC1jb250ZW50LWJnO1xuLy8gJHBsb25lLXBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICRwbG9uZS1saW5rLWNvbG9yO1xuLy8gJHBsb25lLXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICRwbG9uZS1saW5rLWNvbG9yO1xuLy8gJHBsb25lLXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICRwbG9uZS1ncmF5LWxpZ2h0ZXI7XG4vLyAkcGxvbmUtcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJHBsb25lLXBvcnRsZXQtZm9vdGVyLWJnO1xuLy8gJHBsb25lLXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICRwbG9uZS1wb3J0bGV0LWJvcmRlcjtcblxuXG5cbi8vIC8vKi8vIENPREVcbi8vICRwbG9uZS1jb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgIFx0I2M3MjU0ZTtcbi8vICRwbG9uZS1jb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQ7XG4vLyAkcGxvbmUta2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmO1xuLy8gJHBsb25lLWtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMztcbi8vICRwbG9uZS1wcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgIFx0I2Y1ZjVmNTtcbi8vICRwbG9uZS1wcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwbG9uZS1ncmF5LWRhcms7XG4vLyAkcGxvbmUtcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjO1xuLy8gJHBsb25lLXByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHg7XG5cblxuXG4vLyAvLyovLyBUWVBFXG4vLyAvLyoqIFRleHQgbXV0ZWQgY29sb3Jcbi8vICRwbG9uZS10ZXh0LWRpc2NyZWV0OiAgICAgICAgICAgICAgICRwbG9uZS1ncmF5O1xuLy8gLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3Jcbi8vICRwbG9uZS1hYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgICRwbG9uZS1ncmF5LWxpZ2h0O1xuLy8gLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxuLy8gJHBsb25lLWhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJHBsb25lLWdyYXktbGlnaHQ7XG4vLyAvLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3Jcbi8vICRwbG9uZS1ibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRwbG9uZS1ncmF5LWxpZ2h0O1xuLy8gLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuLy8gJHBsb25lLWJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRwbG9uZS1mb250LXNpemUtYmFzZSAqIDEuMjUpO1xuLy8gLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuLy8gJHBsb25lLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJHBsb25lLWdyYXktbGlnaHRlcjtcbi8vIC8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG4vLyAkcGxvbmUtcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAjRkZGO1xuXG5cblxuLy8gLy8qLy8gTUlTQ1xuLy8gLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4vLyAkcGxvbmUtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkcGxvbmUtbGluay1jb2xvcjtcbi8vIC8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbi8vICRwbG9uZS1jb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4O1xuXG5cbiRncmF5LWRhcmtlcjpcdFx0XHRcdFx0XHRcdGxpZ2h0ZW4oIzAwMCwgMjAlKTsgICAvLyAjMzMzXG4kZ3JheS1kYXJrOlx0XHRcdFx0XHRcdFx0bGlnaHRlbigjMDAwLCAzMCUpOyAgIC8vICM0YzRjNGNcbiRncmF5Olx0XHRcdFx0XHRcdFx0XHRsaWdodGVuKCMwMDAsIDQxJSk7ICAgLy8gIzY5Njk2OVxuJGdyYXktbGlnaHQ6XHRcdFx0XHRcdFx0XHRsaWdodGVuKCMwMDAsIDQ2LjUlKTsgLy8gIzc2NzY3NiAvL2Rpc2NyZWV0XG4kZ3JheS1saWdodGVyOlx0XHRcdFx0XHRcdGxpZ2h0ZW4oIzAwMCwgODAlKTsgICAvLyAjY2NjIC8vZGlzYWJsZWRzIGxpa2VcblxuJGxpbmstY29sb3I6XHRcdFx0XHRcdFx0XHQjMjBhN2RlOyAvL2R1dGNobWFuYmx1ZVxuJGxpbmstY29sb3Itb24tZGFyazpcdFx0XHRcdFx0IzIwYTdkZTtcbiRsaW5rLWNvbG9yLW9uLWdyZXk6XHRcdCAgXHRcdFx0IzIwYTdkZTtcbiRsaW5rLXNlY29uZGFyeTogYWRqdXN0LWh1ZSgkbGluay1jb2xvciwgLSgxMjApKTtcbiRsaW5rLXRlcnRpYXJ5OiBhZGp1c3QtaHVlKCRsaW5rLWNvbG9yLCAoMTIwKSk7XG4kbGluay1vcHBvc2l0ZTogYWRqdXN0LWh1ZSgkbGluay1jb2xvciwgKDE4MCkpO1xuXG5cbiRkZWZhdWx0LXB1Ymxpc2hlZC1jb2xvcjpcdFx0XHRcdCRsaW5rLWNvbG9yOyAvL3B1Ymxpc2hlZCBhbmQgZXh0ZXJuYWwgc2FtZSBjb2xvclxuLy8gJGRlZmF1bHQtZHJhZnQtY29sb3I6XHRcdFx0XHRcdGRhcmtlbigkdG9vbGJhci1kcmFmdC1jb2xvciwgMTUlKTsgLy8gbGltZS15ZWxsb3cgLy9kcmFmdCBpcyB2aXNpYmxlXG4vLyAkZGVmYXVsdC1wZW5kaW5nLWNvbG9yOlx0XHRcdFx0ZGFya2VuKCR0b29sYmFyLXBlbmRpbmctY29sb3IsIDE1JSk7IC8vIG9yYW5nZVxuLy8gJGRlZmF1bHQtcHJpdmF0ZS1jb2xvcjpcdFx0XHRcdCR0b29sYmFyLXByaXZhdGUtY29sb3I7IC8vIHJlZFxuLy8gJGRlZmF1bHQtaW50ZXJuYWwtY29sb3I6XHRcdFx0XHRkYXJrZW4oJHRvb2xiYXItaW50ZXJuYWwtY29sb3IsIDE1JSk7IC8vIGlzIGRyYWZ0XG4vLyAkZGVmYXVsdC1pbnRlcm5hbGx5LXB1Ymxpc2hlZC1jb2xvcjpcdGRhcmtlbigkdG9vbGJhci1pbnRlcm5hbGx5LXB1Ymxpc2hlZC1jb2xvciwgNSUpOyAvLyBpcyBpbnRyYW5ldFxuXG5cblxuJGJvZHktYmc6ICAgICAgICAgICAgXHRcdFx0XHQgICAjRkZGO1xuJGZvb3Rlci1iZzogICAgICAgICAgICBcdFx0XHRcdCAjREREOyAvL3BvcnRsYW5kXG4kdGV4dC1jb2xvcjogICAgICAgICAgIFx0XHRcdFx0ICMwMDA7XG4kbGluay1ob3Zlci1jb2xvcjogICAgIFx0XHRcdFx0IGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcblxuXG5cblxuXG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKTtcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpO1xuXG4vLyAkZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjgpKTtcbi8vICRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuMjUpKTtcbi8vICRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS44KSk7XG4vLyAkZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMzUpKTtcbi8vICRmb250LXNpemUtaDU6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4xMikpO1xuLy8gJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxKSk7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS41O1xuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpOyAvLyB+MjBweFxuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICdFbmNvZGUgU2Fucyc7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICRmb250LXdlaWdodC1saWdodDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0Olx0XHQyMDA7XG4kZm9udC13ZWlnaHQtcmVndWxhcjpcdFx0NDAwO1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTpcdFx0NDAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6XHRcdDcwMDtcblxuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHg7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweDtcbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHg7XG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHg7XG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweDtcbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzO1xuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNTtcbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICA0cHg7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDJweDtcbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmO1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRsaW5rLWNvbG9yO1xuJGNhcmV0LXdpZHRoLWJhc2U6ICAgICAgICAgIDRweDtcbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHg7XG5cblxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDhweDtcbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICBsaWdodGVuKCRsaW5rLWNvbG9yLCA0MCUpO1xuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjBmMGYwO1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXI7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWNvbG9yO1xuXG5cblxuJHN0YXRlLWluZm8tdGV4dDogICAgXHRcdCAgICAgICAgICAgIHJnYmEoMCwwLDAsLjUpO1xuJHN0YXRlLWluZm8tYmc6ICAgICBcdFx0ICAgICAgICAgICAgI2FhZDZlYTtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogXHRcdCAgICAgICAgICAgIDFweCBzb2xpZCBkYXJrZW4oJHN0YXRlLWluZm8tYmcsNCUpO1xuJHN0YXRlLWluZm8tYnVsbGV0Olx0XHRcdFx0XHQjM2U3YjkxO1xuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgXHQgICAgcmdiYSgwLDAsMCwuNSk7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgXHQgXHQgICAgI2ViZDM4MDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgIFx0ICAgIDFweCBzb2xpZCBkYXJrZW4oJHN0YXRlLXdhcm5pbmctYmcsNiUpO1xuJHN0YXRlLXdhcm5pbmctYnVsbGV0Olx0XHRcdFx0I2JjOGQwZDtcbiRzdGF0ZS1lcnJvci10ZXh0OiAgICAgICAgICAgICAgXHRcdHJnYmEoMCwwLDAsLjUpO1xuJHN0YXRlLWVycm9yLWJnOiAgICAgICAgICAgICAgICBcdFx0I0VDOUM4RDtcbiRzdGF0ZS1lcnJvci1ib3JkZXI6ICAgICAgICAgICAgXHRcdDFweCBzb2xpZCBkYXJrZW4oJHN0YXRlLWVycm9yLWJnLDIlKTtcbiRzdGF0ZS1lcnJvci1idWxsZXQ6XHRcdFx0XHRcdCNhYzQ5M2Y7XG5cblxuXG4kbGVmdC10b29sYmFyLWV4cGFuZGVkOiAxMjBweDtcbiRsZWZ0LXRvb2xiYXI6IDYwcHg7XG5cblxuXG5cbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgNDgwcHg7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgIDc2OHB4O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICA5OTJweDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgMTIwMHB4O1xuJHNjcmVlbi14bC1taW46ICAgICAgICAgICAgICAxNjAwcHg7XG5cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSk7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpO1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKTtcbiRzY3JlZW4tbGctbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4teGwtbWluIC0gMSk7XG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAxMjtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4O1xuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgICRzY3JlZW4tc20tbWluO1xuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSk7XG5cblxuJGNvbnRhaW5lci14czogICAgICAgICAgICAgICAgICg1NDBweCArICRncmlkLWd1dHRlci13aWR0aCk7XG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKTtcbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAoOTYwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuJGNvbnRhaW5lci14bDogICAgICAgICAgICAgICAgICgxNTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuXG4kY29udGFpbmVyLW1vYmlsZTogICAgICAgICAgICAgICRjb250YWluZXIteHM7XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgICRjb250YWluZXItc207XG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgICRjb250YWluZXItbWQ7XG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgICRjb250YWluZXItbGc7XG4kY29udGFpbmVyLWV4dHJhLWxhcmdlOiAgICAgICAgICRjb250YWluZXIteGw7XG5cbi8vICRicy1idG4tYmc6ICAgICAgICAgICAgIFx0IzIwYTdkZTtcbi8vICRidG4tYmc6ICAgICAgICAgICAgIFx0IzIwYTdkZTtcbi8vICRidG4tc3RhbmRhbG9uZS1iZzogICAgICAgICAgICAgXHQjMjBhN2RlO1xuLy8gJGJ0bi1zdGFuZGFsb25lLWJvcmRlcjogICAgICAgICAgXHRkYXJrZW4oJGJ0bi1zdGFuZGFsb25lLWJnLCA1JSk7XG4vLyAkYnRuLWNvbnRleHQtY29sb3I6ICAgICAgICAgICAgICBcdFx0I2ZmZjtcbi8vICRidG4tY29udGV4dC1iZzogICAgICAgICAgICAgICAgIFx0IzIwYTdkZTtcbi8vICRidG4tY29udGV4dC1ib3JkZXI6ICAgICAgICAgICAgIFx0ZGFya2VuKCRidG4tY29udGV4dC1iZywgNSUpO1xuLy8gJGJ0bi1kZXN0cnVjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmY7XG4vLyAkYnRuLWRlc3RydWN0aXZlLWJnOiAgICAgICAgICAgICAgICRsaW5rLW9wcG9zaXRlO1xuLy8gXG4vLyAkYnRuLWRlc3RydWN0aXZlLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihicy0kYnRuLWRlc3RydWN0aXZlLWJnLCA1JSk7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkdGFibGUtYm9yZGVyLWNvbG9yO1xuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXk7XG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjMjBhN2RlO1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZTtcbi8vICRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICRwb3J0bGV0LWxpc3QtYnVsbGV0O1xuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgJGdyYXktbGlnaHQ7XG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAyKSArIDIpO1xuJGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSkgKyAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpO1xuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKTtcbiRsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yLW9uLWdyZXk7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkbGluay1jb2xvcjtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlcjtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXI7XG5cblxuXG4kYWxlcnQtaWNvbi1zaXplOlx0XHRcdFx0XHRcdFx0MjBweDtcbiRhbGVydC1wYWRkaW5nOlx0XHRcdFx0XHRcdFx0MTVweDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOlx0XHRcdFx0XHQ0cHg7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDpcdFx0XHRcdCRmb250LXdlaWdodC1yZWd1bGFyOyAvL2l0IGRlcGVuZHMgb24geW91ciBmb250LWZhbWlseVxuJGFsZXJ0LWluZm8tYmc6XHRcdFx0XHRcdFx0JHN0YXRlLWluZm8tYmc7XG4kYWxlcnQtaW5mby10ZXh0Olx0XHRcdFx0XHRcdCRzdGF0ZS1pbmZvLXRleHQ7IC8vdGhlIHRleHQgb24gYWxlcnQgaXMgYmxhY2sgd2l0aCBvcGFjaXR5IHRvIHVzZSB0aGUgc2FtZSBjb2xvciBhbmQgbWF0Y2ggdGhlIGJnLlxuJGFsZXJ0LWluZm8tYm9yZGVyOlx0XHRcdFx0XHQkc3RhdGUtaW5mby1ib3JkZXI7XG4kYWxlcnQtaW5mby1idWxsZXQ6XHRcdFx0XHRcdCRzdGF0ZS1pbmZvLWJ1bGxldDtcbiRhbGVydC13YXJuaW5nLWJnOlx0XHRcdFx0XHQkc3RhdGUtd2FybmluZy1iZztcbiRhbGVydC13YXJuaW5nLXRleHQ6XHRcdFx0XHRcdCRzdGF0ZS13YXJuaW5nLXRleHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6XHRcdFx0XHQkc3RhdGUtd2FybmluZy1ib3JkZXI7XG4kYWxlcnQtd2FybmluZy1idWxsZXQ6XHRcdFx0XHQkc3RhdGUtd2FybmluZy1idWxsZXQ7XG4kYWxlcnQtZXJyb3ItYmc6XHRcdFx0XHRcdFx0JHN0YXRlLWVycm9yLWJnO1xuJGFsZXJ0LWVycm9yLXRleHQ6XHRcdFx0XHRcdCRzdGF0ZS1lcnJvci10ZXh0O1xuJGFsZXJ0LWVycm9yLWJvcmRlcjpcdFx0XHRcdFx0JHN0YXRlLWVycm9yLWJvcmRlcjtcbiRhbGVydC1lcnJvci1idWxsZXQ6XHRcdFx0XHRcdCRzdGF0ZS1lcnJvci1idWxsZXQ7XG5cblxuXG4kYm9yZGVyLWJhc2U6XHRcdFx0XHRcdFx0XHQxcHggc29saWQgJGxpbmstY29sb3I7XG4kcG9ydGxldC1oZWFkZXItYmc6XHRcdFx0XHRcdCRsaW5rLWNvbG9yO1xuJHBvcnRsZXQtaGVhZGVyLWNvbG9yOlx0XHRcdFx0ICNGRkY7XG4kcG9ydGxldC1jb250ZW50LWJnOlx0XHRcdFx0XHQjZmZmO1xuJHBvcnRsZXQtZm9vdGVyLWJnOlx0XHRcdFx0XHQjREREO1xuJHBvcnRsZXQtYm9yZGVyOlx0XHRcdFx0XHRcdDFweCBzb2xpZCAkbGluay1jb2xvcjtcbiRwb3J0bGV0LWNvbnRyYXN0LWJnOlx0XHRcdFx0XHQjRkZGO1xuJHBvcnRsZXQtZXZlbnQtYnVsbGV0Olx0XHRcdFx0JGxpbmstY29sb3I7XG4kcG9ydGxldC1saXN0LWJ1bGxldDpcdFx0XHRcdFx0IzY0YmVlODtcbiRwb3J0bGV0LWxpc3QtaG92ZXItYmc6XHRcdFx0XHQjZmVmZWZlO1xuJHBvcnRsZXQtbGlzdC1zbWFsbC10ZXh0Olx0XHRcdCRncmF5LWRhcmtlcjtcblxuXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnO1xuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzLWJhc2U7XG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvcjtcbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweDtcblxuXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4O1xuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRwb3J0bGV0LWhlYWRlci1iZywgNzUlKTtcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlcjtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQ7XG5cblxuJHNpdGVuYXYtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweDtcbiRzaXRlbmF2LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiRzaXRlbmF2LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2U7XG4vLyAkc2l0ZW5hdi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuLy8gJHNpdGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgKCRzaXRlbmF2LWhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyO1xuJHNpdGVuYXYtY29sbGFwc2UtbWF4LWhlaWdodDogICAgICAgMzQwcHg7XG4kc2l0ZW5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAxMHB4IDE1cHg7XG4kc2l0ZW5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICBsaWdodGVuKCRsaW5rLWNvbG9yLCAxMCUpO1xuJHNpdGVuYXYtYmc6ICAgICAgXHRcdFx0ICAgICAgJGxpbmstY29sb3I7XG4kc2l0ZW5hdi1ob3Zlci1iZzogICAgICBcdFx0XHQgICRsaW5rLWNvbG9yO1xuICAkcG9ydGxldC1uYXZ0cmVlLW1heGxldmVsOlx0XHQgIDU7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvcjtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcG9ydGxldC1jb250ZW50LWJnO1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICRwb3J0bGV0LWJvcmRlcjtcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvcjtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAkcG9ydGxldC1oZWFkZXItYmc7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgJHBvcnRsZXQtYm9yZGVyO1xuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICRwb3J0bGV0LWNvbnRlbnQtYmc7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgJGxpbmstY29sb3I7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgJGxpbmstY29sb3I7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlcjtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkcG9ydGxldC1mb290ZXItYmc7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgJHBvcnRsZXQtYm9yZGVyO1xuXG5cblxuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgXHQjYzcyNTRlO1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y5ZjJmNDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmY7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzO1xuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgXHQjZjVmNWY1O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyaztcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2M7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweDtcblxuXG5cbiR0ZXh0LWRpc2NyZWV0OiAgICAgICAgICAgICAgICRncmF5O1xuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQ7XG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodDtcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpO1xuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlcjtcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICNGRkY7XG5cblxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3I7XG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweDtcblxuXG5cbi8vKi8vIEVORFxuIiwiLy8gQmFyY2Vsb25ldGEgc2V0dGluZ3NcblxuJHNwYWNlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxcmVtIWRlZmF1bHQ7IC8vIG5vdCBjaGFuZ2VkIGJ1dCBuZWVkZWQgdG8gY2FsYyBvdGhlciBkZWZpbml0aW9uc1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbi8vICRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4vLyAkZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbi8vICRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbiRncmlkLW1haW4tYnJlYWtwb2ludDogICAgICAgICAgICAgICAgICAgICAgbGchZGVmYXVsdDtcbiRuYXYtbWFpbi1icmVha3BvaW50OiAgICAgICAgICAgICAgICAgICAgICAgJGdyaWQtbWFpbi1icmVha3BvaW50IWRlZmF1bHQ7XG5cbiRuYXZiYXItYmFyY2Vsb25ldGEtYmFja2dyb3VuZDogICAgICAgICAgICAgJHByaW1hcnkhZGVmYXVsdDtcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjc1ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAxKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIDEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuMykgIWRlZmF1bHQ7XG5cbiRuYXZiYXItYmFyY2Vsb25ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIDEpICFkZWZhdWx0O1xuJG5hdmJhci1iYXJjZWxvbmV0YS1hY3RpdmUtY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWJhcmNlbG9uZXRhLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWJhcmNlbG9uZXRhLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAxKSAhZGVmYXVsdDtcbiRuYXZiYXItYmFyY2Vsb25ldGEtaG92ZXItYmFja2dyb3VuZDogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcblxuXG4kcGxvbmUtcG9ydGxldC1uYXZ0cmVlLW1heGxldmVsOiAgICAgICAgICAgIDUhZGVmYXVsdDtcblxuXG4vLyBUeXBvZ3JhcGh5XG4vLyBXaGlsZSBQbG9uZSBMb2dvIHVzZXMgdGhlIERJTiBGb250LCB3ZSB1c2UgUm9ib3RvLCB3aGljaCB3YXMgZGVzaWduZWQgZm9yIEFuZHJvaWQgYW5kIHNvIG1vYmlsZSBvcHRpbWl6ZWRcbi8vIEEgZnJlZSBESU4gdmFyaWFudCBpcyBhdmFpbGFibGUgaGVyZSAoVFRGIG9ubHkpOiBodHRwczovL3d3dy4xMDAxZm9udHMuY29tL2FsdGUtZGluLTE0NTEtbWl0dGVsc2NocmlmdC1mb250Lmh0bWxcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgICAgICAgICAgICAgICAgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29uZGVuc2VkOiAgICAgICAgICAgICAgICAgICAgIFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIkFyaWFsIE5hcnJvd1wiLCBzYW5zLXNlcmlmIWRlZmF1bHQ7IC8vanVzdCBvbiB0b29sYmFyXG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgICAgICAgICAgICAgICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiFkZWZhdWx0O1xuLy8gJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbi8vICRmb250LWZhbWlseS1jb2RlOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gSW5jbHVkZSBSb2JvdG8gYXMgd2ViZm9udFxuJGVuYWJsZS1yb2JvdG8td2ViZm9udDogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuLy8gJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuLy8gJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgICAgICAgICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgICAgICAgICAgICAgICA2MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICAgICAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4vLyAkZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vICRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuLy8gJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuLy8gJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAyICFkZWZhdWx0O1xuXG4vLyAkaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbi8vICRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbi8vICRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbi8vICRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuLy8gJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuLy8gJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbi8vICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuLy8gJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuLy8gJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG4vLyAkaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbi8vIEJyZWFkY3J1bWJzXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLWJzLXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAwLjUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAxICFkZWZhdWx0O1xuXG5cbi8vIEZvb3RlclxuJGZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZm9vdGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiLy9cbi8vIEhlYWRpbmdzXG4vL1xuLmgxIHtcbiAgQGV4dGVuZCBoMTtcbn1cblxuLmgyIHtcbiAgQGV4dGVuZCBoMjtcbn1cblxuLmgzIHtcbiAgQGV4dGVuZCBoMztcbn1cblxuLmg0IHtcbiAgQGV4dGVuZCBoNDtcbn1cblxuLmg1IHtcbiAgQGV4dGVuZCBoNTtcbn1cblxuLmg2IHtcbiAgQGV4dGVuZCBoNjtcbn1cblxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG5AZWFjaCAkZGlzcGxheSwgJGZvbnQtc2l6ZSBpbiAkZGlzcGxheS1mb250LXNpemVzIHtcbiAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBmb250LWZhbWlseTogJGRpc3BsYXktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGRpc3BsYXktZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGRpc3BsYXktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cbi5zbWFsbCB7XG4gIEBleHRlbmQgc21hbGw7XG59XG5cbi5tYXJrIHtcbiAgQGV4dGVuZCBtYXJrO1xufVxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbml0aWFsaXNtLWZvbnQtc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IC0kYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFRoZXNlIGFyZSBjb3BpZWQgZnJvbSBCb290c3RyYXAgc28gdGhhdCB3ZSBjYW4gdXNlIGFuZCByZWRlZmluZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHRoZW1lLlxuXG4vLyBDb2xvciBzeXN0ZW1cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGJsdWU6ICAgICMwZDZlZmQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNkNjMzODQgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzE5ODc1NCAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMwZGNhZjAgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFBsb25lIHNwZWNpZmljIGNvbG9yc1xuLy9jb2xvcnNcbiRzdGF0ZS1kcmFmdC1jb2xvcjogICAgICAgICAgICAgICAgICNmYWI4MmEhZGVmYXVsdDsgLy8gbGltZS15ZWxsb3cgLy9kcmFmdCBpcyB2aXNpYmxlXG4kc3RhdGUtcGVuZGluZy1jb2xvcjogICAgICAgICAgICAgICAjY2NkMTExIWRlZmF1bHQ7IC8vIG9yYW5nZVxuJHN0YXRlLXByaXZhdGUtY29sb3I6ICAgICAgICAgICAgICAgI2M0MTgzYyFkZWZhdWx0OyAvLyByZWRcbiRzdGF0ZS1pbnRlcm5hbC1jb2xvcjogICAgICAgICAgICAgICNmYWI4MmEhZGVmYXVsdDsgLy8gaXMgZHJhZnRcbiRzdGF0ZS1pbnRlcm5hbGx5LXB1Ymxpc2hlZC1jb2xvcjogICM4ODNkZmEhZGVmYXVsdDsgLy8gaXMgaW50cmFuZXRcblxuLy8gUGxvbmVcbi8vIEJvb3RzdHJhcCAkcHJpbWFyeSBjb2xvciBpcyBQbG9uZSBibHVlXG4kcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAjMDA3YmIxIWRlZmF1bHQ7IC8vcGxvbmUgYmx1ZSBtYWRlIHNsaWdodGx5IGRhcmtlciBmb3Igd2NhZyAyLjBcblxuJHBsb25lLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcGxvbmUtbGluay1jb2xvci1vbi1kYXJrOiAgICAgICAgICAjMTZhMWUzIWRlZmF1bHQ7IC8vcGxvbmUgYmx1ZVxuLy9pZiB5b3UgbmVlZCBkaWZmZXJlbnQgY29udHJhc3RcbiRwbG9uZS1saW5rLWNvbG9yLW9uLWdyZXk6ICAgICAgICAgICMwODZjYTMhZGVmYXVsdDsgLy92YWxpZCB3Y2FnIDIuMFxuJHBsb25lLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgZGFya2VuKCRwbG9uZS1saW5rLWNvbG9yLCAxNSUpIWRlZmF1bHQ7XG5cbiRwbG9uZS1saWdodC1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuJHBsb25lLWRhcmstY29sb3I6ICRncmF5LTkwMCAhZGVmYXVsdDtcblxuLy8gUG9ydGxldHNcbiRwbG9uZS1wb3J0bGV0LWxpc3QtaG92ZXItYmc6ICAgICAgICNmY2ZjZmQhZGVmYXVsdDtcbiRwbG9uZS1wb3J0bGV0LWZvb3Rlci1iZzogICAgICAgICAgICNmY2ZjZmQhZGVmYXVsdDtcbiRwbG9uZS1wb3J0bGV0LWxpc3QtYnVsbGV0OiAgICAgICAgICM2NGJlZTghZGVmYXVsdDtcblxuJHBsb25lLWNvbG9yczogKFxuICBcImxpbmstY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAkcGxvbmUtbGluay1jb2xvcixcbiAgXCJsaW5rLWNvbG9yLW9uLWRhcmtcIjogICAgICAgICAgICAgJHBsb25lLWxpbmstY29sb3Itb24tZGFyayxcbiAgXCJsaW5rLWNvbG9yLW9uLWdyZXlcIjogICAgICAgICAgICAgJHBsb25lLWxpbmstY29sb3Itb24tZ3JleSxcbiAgXCJsaW5rLWhvdmVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgJHBsb25lLWxpbmstaG92ZXItY29sb3IsXG4gIFwicG9ydGxldC1saXN0LWhvdmVyLWJnXCI6ICAgICAgICAgICRwbG9uZS1wb3J0bGV0LWxpc3QtaG92ZXItYmcsXG4gIFwicG9ydGxldC1mb290ZXItYmdcIjogICAgICAgICAgICAgICRwbG9uZS1wb3J0bGV0LWZvb3Rlci1iZyxcbiAgXCJwb3J0bGV0LWxpc3QtYnVsbGV0XCI6ICAgICAgICAgICAgJHBsb25lLXBvcnRsZXQtbGlzdC1idWxsZXQsXG4pICFkZWZhdWx0O1xuXG4kc3RhdGUtY29sb3JzOiAoXG4gIFwiZHJhZnRcIjogICAgICAgICAgICAgICAgICAgICAgICAgICRzdGF0ZS1kcmFmdC1jb2xvcixcbiAgXCJwZW5kaW5nXCI6ICAgICAgICAgICAgICAgICAgICAgICAgJHN0YXRlLXBlbmRpbmctY29sb3IsXG4gIFwicHJpdmF0ZVwiOiAgICAgICAgICAgICAgICAgICAgICAgICRzdGF0ZS1wcml2YXRlLWNvbG9yLFxuICBcImludGVybmFsXCI6ICAgICAgICAgICAgICAgICAgICAgICAkc3RhdGUtaW50ZXJuYWwtY29sb3IsXG4gIFwiaW50ZXJuYWxseS1wdWJsaXNoZWRcIjogICAgICAgICAgICRzdGF0ZS1pbnRlcm5hbGx5LXB1Ymxpc2hlZC1jb2xvcixcbikgIWRlZmF1bHQ7XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAuNTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBtaXhpbnNcblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRjb250YWluZXItcGFkZGluZy14KSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuOnJvb3Qge1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLSN7JHByZWZpeH1icmVha3BvaW50LSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1jc3NncmlkIHtcbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tI3skcHJlZml4fXJvd3MsIDEpLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1jb2x1bW5zLCAjeyRncmlkLWNvbHVtbnN9KSwgMWZyKTtcbiAgICBnYXA6IHZhcigtLSN7JHByZWZpeH1nYXAsICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG5cbiAgICBAaW5jbHVkZSBtYWtlLWNzc2dyaWQoKTtcbiAgfVxufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLy8gVE9ETzogUmV2aXNpdCBjYWxjIG9yZGVyIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy82MDM5IGlzIGZpeGVkXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICBib3gtc2l6aW5nOiBpZih2YXJpYWJsZS1leGlzdHMoaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZykgYW5kICRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nLCBib3JkZXItYm94LCBudWxsKTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHNldCB0aGUgd2lkdGhcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBgLmNvbC1hdXRvYCwgYC5jb2xgICgmIHJlc3BvbnNpdmUgdmFyaWFudHMpIGZyb20gYnJlYWtpbmcgb3V0IHRoZSBncmlkXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZTogZmFsc2UsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkc2l6ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuXG4gIH0gQGVsc2Uge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXIgb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkY291bnQpKTtcbiAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAwIDAlOyAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIH1cblxuICAgICAgLnJvdy1jb2xzI3skaW5maXh9LWF1dG8gPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICAvL1xuICAgICAgLy8gTWFrZSB1c2Ugb2YgYC5nLSpgLCBgLmd4LSpgIG9yIGAuZ3ktKmAgdXRpbGl0aWVzIHRvIGNoYW5nZSBzcGFjaW5nIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGd1dHRlcnMge1xuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3gjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neSN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNzc2dyaWQoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmctY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB3aXRoIGAxYCBiZWNhdXNlIGAwYCBpcyBhbiBpbnZhbGlkIHZhbHVlLlxuICAgICAgICAvLyBFbmRzIHdpdGggYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlLlxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICAuZy1zdGFydCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2xlYXJmaXhcbiIsIi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAudGV4dC1iZy0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBjb2xvci1jb250cmFzdCgkdmFsdWUpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1iZy1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgfVxufVxuIiwiLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5saW5rLSN7JGNvbG9yfSB7XG4gICAgY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgICBAaWYgJGxpbmstc2hhZGUtcGVyY2VudGFnZSAhPSAwIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgJGhvdmVyLWNvbG9yOiBpZihjb2xvci1jb250cmFzdCgkdmFsdWUpID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSwgdGludC1jb2xvcigkdmFsdWUsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpKTtcbiAgICAgICAgY29sb3I6IFJHQkEoI3t0by1yZ2IoJGhvdmVyLWNvbG9yKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodG8tcmdiKCRob3Zlci1jb2xvciksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT25lLW9mZiBzcGVjaWFsIGxpbmsgaGVscGVyIGFzIGEgYnJpZGdlIHVudGlsIHY2XG4ubGluay1ib2R5LWVtcGhhc2lzIHtcbiAgY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcblxuICBAaWYgJGxpbmstc2hhZGUtcGVyY2VudGFnZSAhPSAwIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIC43NSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvY3VzLXJpbmc6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICAvLyBCeSBkZWZhdWx0LCB0aGVyZSBpcyBubyBgLS1icy1mb2N1cy1yaW5nLXhgLCBgLS1icy1mb2N1cy1yaW5nLXlgLCBvciBgLS1icy1mb2N1cy1yaW5nLWJsdXJgLCBidXQgd2UgcHJvdmlkZSBDU1MgdmFyaWFibGVzIHdpdGggZmFsbGJhY2tzIHRvIGluaXRpYWwgYDBgIHZhbHVlc1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy14LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy15LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1ibHVyLCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3IpO1xufVxuIiwiLmljb24tbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6ICRpY29uLWxpbmstZ2FwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgLjUpKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkaWNvbi1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICA+IC5iaSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6ICRpY29uLWxpbmstaWNvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGljb24tbGluay1pY29uLXRyYW5zaXRpb24pO1xuICB9XG59XG5cbi5pY29uLWxpbmstaG92ZXIge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgID4gLmJpIHtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWljb24tbGluay10cmFuc2Zvcm0sICRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24gYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLnJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBlYWNoICRrZXksICRyYXRpbyBpbiAkYXNwZWN0LXJhdGlvcyB7XG4gIC5yYXRpby0jeyRrZXl9IHtcbiAgICAtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW86ICN7JHJhdGlvfTtcbiAgfVxufVxuIiwiLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi8vIFJlc3BvbnNpdmUgc3RpY2t5IHRvcCBhbmQgYm90dG9tXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LXRvcCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuXG4gICAgLnN0aWNreSN7JGluZml4fS1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IHN0YWNrc1xuLmhzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52c3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3RhY2tzXG4iLCIvL1xuLy8gVmlzdWFsbHkgaGlkZGVuXG4vL1xuXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gSGlkZSBjb250ZW50IHZpc3VhbGx5IHdoaWxlIGtlZXBpbmcgaXQgYWNjZXNzaWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC8vIEZpeCBmb3IgcG9zaXRpb25lZCB0YWJsZSBjYXB0aW9uIHRoYXQgY291bGQgYmVjb21lIGFub255bW91cyBjZWxsc1xuICAmOm5vdChjYXB0aW9uKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVXNlIHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLCBvciBvbmUgb2YgaXRzIGNoaWxkIGVsZW1lbnRzIGlzIGZvY3VzZWRcbi8vIChpLmUuIHdoZW4gZm9jdXMgaXMgd2l0aGluIHRoZSBlbGVtZW50L2NvbnRhaW5lciB0aGF0IHRoZSBjbGFzcyB3YXMgYXBwbGllZCB0bylcbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCkge1xuICAmOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6I3skc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnR9IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vXG4vLyBUZXh0IHRydW5jYXRpb25cbi8vXG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIudnIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHdpZHRoOiAkdnItYm9yZGVyLXdpZHRoO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICAvLyBSZXNldCBuZWVkZWQgZm9yIG5lc3RpbmcgdGFibGVzXG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogaW5pdGlhbDtcbiAgLy8gRW5kIG9mIHJlc2V0XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyR0YWJsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyR0YWJsZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnOiAjeyR0YWJsZS1hY2NlbnQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAjeyR0YWJsZS1zdHJpcGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skdGFibGUtc3RyaXBlZC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3skdGFibGUtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyR0YWJsZS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3skdGFibGUtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skdGFibGUtaG92ZXItYmd9O1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB2ZXJ0aWNhbC1hbGlnbjogJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ247XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG5cbiAgLy8gVGFyZ2V0IHRoICYgdGRcbiAgLy8gV2UgbmVlZCB0aGUgY2hpbGQgY29tYmluYXRvciB0byBwcmV2ZW50IHN0eWxlcyBsZWFraW5nIHRvIG5lc3RlZCB0YWJsZXMgd2hpY2ggZG9lc24ndCBoYXZlIGEgYC50YWJsZWAgY2xhc3MuXG4gIC8vIFdlIHVzZSB0aGUgdW5pdmVyc2FsIHNlbGVjdG9ycyBoZXJlIHRvIHNpbXBsaWZ5IHRoZSBzZWxlY3RvciAoZWxzZSB3ZSB3b3VsZCBuZWVkIDYgZGlmZmVyZW50IHNlbGVjdG9ycykuXG4gIC8vIEFub3RoZXIgYWR2YW50YWdlIGlzIHRoYXQgdGhpcyBnZW5lcmF0ZXMgbGVzcyBjb2RlIGFuZCBtYWtlcyB0aGUgc2VsZWN0b3IgbGVzcyBzcGVjaWZpYyBtYWtpbmcgaXQgZWFzaWVyIHRvIG92ZXJyaWRlLlxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15ICR0YWJsZS1jZWxsLXBhZGRpbmcteDtcbiAgICAvLyBGb2xsb3dpbmcgdGhlIHByZWNlcHQgb2YgY2FzY2FkZXM6IGh0dHBzOi8vY29kZXBlbi5pby9taXJpYW1zdXphbm5lL2Z1bGwvdllOZ29kYlxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OTlweCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnKSkpO1xuICB9XG5cbiAgPiB0Ym9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIH1cblxuICA+IHRoZWFkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cbi50YWJsZS1ncm91cC1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogY2FsYygjeyR0YWJsZS1ib3JkZXItd2lkdGh9ICogMikgc29saWQgJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy9cbi8vIENoYW5nZSBwbGFjZW1lbnQgb2YgY2FwdGlvbnMgd2l0aCBhIGNsYXNzXG4vL1xuXG4uY2FwdGlvbi10b3Age1xuICBjYXB0aW9uLXNpZGU6IHRvcDtcbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbSAkdGFibGUtY2VsbC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuLy9cbi8vIFdoZW4gYm9yZGVycyBhcmUgYWRkZWQgb24gYWxsIHNpZGVzIG9mIHRoZSBjZWxscywgdGhlIGNvcm5lcnMgY2FuIHJlbmRlciBvZGQgd2hlblxuLy8gdGhlc2UgYm9yZGVycyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBjb2xvciBvciBpZiB0aGV5IGFyZSBzZW1pLXRyYW5zcGFyZW50LlxuLy8gVGhlcmVmb3JlIHdlIGFkZCB0b3AgYW5kIGJvcmRlciBib3R0b21zIHRvIHRoZSBgdHJgcyBhbmQgbGVmdCBhbmQgcmlnaHQgYm9yZGVyc1xuLy8gdG8gdGhlIGB0ZGBzIG9yIGB0aGBzXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gID4gOm5vdChjYXB0aW9uKSA+ICoge1xuICAgIGJvcmRlci13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aCAwO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgICA+ICoge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi8vIEZvciByb3dzXG4udGFibGUtc3RyaXBlZCB7XG4gID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEZvciBjb2x1bW5zXG4udGFibGUtc3RyaXBlZC1jb2x1bW5zIHtcbiAgPiA6bm90KGNhcHRpb24pID4gdHIgPiA6bnRoLWNoaWxkKCN7JHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcn0pIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEFjdGl2ZSB0YWJsZVxuLy9cbi8vIFRoZSBgLnRhYmxlLWFjdGl2ZWAgY2xhc3MgY2FuIGJlIGFkZGVkIHRvIGhpZ2hsaWdodCByb3dzIG9yIGNlbGxzXG5cbi50YWJsZS1hY3RpdmUge1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcik7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnKTtcbn1cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnKTtcbiAgfVxufVxuXG5cbi8vIFRhYmxlIHZhcmlhbnRzXG4vL1xuLy8gVGFibGUgdmFyaWFudHMgc2V0IHRoZSB0YWJsZSBjZWxsIGJhY2tncm91bmRzLCBib3JkZXIgY29sb3JzXG4vLyBhbmQgdGhlIGNvbG9ycyBvZiB0aGUgc3RyaXBlZCwgaG92ZXJlZCAmIGFjdGl2ZSB0YWJsZXNcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRhYmxlLXZhcmlhbnRzIHtcbiAgQGluY2x1ZGUgdGFibGUtdmFyaWFudCgkY29sb3IsICR2YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLnRhYmxlLXJlc3BvbnNpdmUjeyRpbmZpeH0ge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYW50XG5AbWl4aW4gdGFibGUtdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICRjb2xvcjogY29sb3ItY29udHJhc3Qob3BhcXVlKCRib2R5LWJnLCAkYmFja2dyb3VuZCkpO1xuICAgICRob3Zlci1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikpO1xuICAgICRzdHJpcGVkLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpKTtcbiAgICAkYWN0aXZlLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikpO1xuICAgICR0YWJsZS1ib3JkZXItY29sb3I6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ib3JkZXItZmFjdG9yKSk7XG5cbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skc3RyaXBlZC1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyRob3Zlci1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGhvdmVyLWJnKX07XG5cbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhbnRcbiIsIi8vXG4vLyBMYWJlbHNcbi8vXG5cbi5mb3JtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWxhYmVsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgZm9udC1zdHlsZTogJGZvcm0tbGFiZWwtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xufVxuIiwiLy9cbi8vIEZvcm0gdGV4dFxuLy9cblxuLmZvcm0tdGV4dCB7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXRleHQtZm9udC1zaXplKTtcbiAgZm9udC1zdHlsZTogJGZvcm0tdGV4dC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tdGV4dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG59XG4iLCIvL1xuLy8gR2VuZXJhbCBmb3JtIGNvbnRyb2xzIChwbHVzIGEgZmV3IHNwZWNpZmljIGhpZ2gtbGV2ZWwgaW50ZXJ2ZW50aW9ucylcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiZmlsZVwiXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCBwc2V1ZG8gZWxlbWVudCBidXR0b24gb3ZlcmxhcFxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIC8vIE9uIEFuZHJvaWQgQ2hyb21lLCBmb3JtLWNvbnRyb2wncyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICAvL1xuICAgIC8vIE9uIGlPUyBTYWZhcmksIGZvcm0tY29udHJvbCdzIFwiYXBwZWFyYW5jZTogbm9uZVwiICsgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgaU9TIDE2LjIgLyBTYWZhcmkgMTYuMlxuICAgIG1pbi13aWR0aDogODVweDsgLy8gU2VlbXMgdG8gYmUgYSBnb29kIG1pbmltdW0gc2FmZSB3aWR0aFxuXG4gICAgLy8gQWRkIHNvbWUgaGVpZ2h0IHRvIGRhdGUgaW5wdXRzIG9uIGlPU1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjMzMDdcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCBvbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTkgaXMgcmVzb2x2ZWRcbiAgICAvLyBNdWx0aXBseSBsaW5lLWhlaWdodCBieSAxZW0gaWYgaXQgaGFzIG5vIHVuaXRcbiAgICBoZWlnaHQ6IGlmKHVuaXQoJGlucHV0LWxpbmUtaGVpZ2h0KSA9PSBcIlwiLCAkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1saW5lLWhlaWdodCk7XG5cbiAgICAvLyBBbmRyb2lkIENocm9tZSB0eXBlPVwiZGF0ZVwiIGlzIHRhbGxlciB0aGFuIHRoZSBvdGhlciBpbnB1dHNcbiAgICAvLyBiZWNhdXNlIG9mIFwibWFyZ2luOiAxcHggMjRweCAxcHggNHB4XCIgaW5zaWRlIHRoZSBzaGFkb3cgRE9NXG4gICAgLy8gVGVzdGVkIHVuZGVyIEFuZHJvaWQgMTEgLyBDaHJvbWUgODksIEFuZHJvaWQgMTIgLyBDaHJvbWUgMTAwLCBBbmRyb2lkIDEzIC8gQ2hyb21lIDEwOVxuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFByZXZlbnQgZXhjZXNzaXZlIGRhdGUgaW5wdXQgaGVpZ2h0IGluIFdlYmtpdFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzM0NDMzXG4gICY6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRmlsZSBpbnB1dCBidXR0b25zIHRoZW1pbmdcbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteSkgKC0kaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogJGZvcm0tZmlsZS1idXR0b24tY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tZmlsZS1idXR0b24tYmcpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc7XG4gIH1cbn1cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktc20pICgtJGlucHV0LXBhZGRpbmcteC1zbSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LWxnKSAoLSRpbnB1dC1wYWRkaW5nLXgtbGcpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LWxnO1xuICB9XG59XG5cbi8vIE1ha2Ugc3VyZSB0ZXh0YXJlYXMgZG9uJ3Qgc2hyaW5rIHRvbyBtdWNoIHdoZW4gcmVzaXplZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjkxMjRcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxudGV4dGFyZWEge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogJGZvcm0tY29sb3Itd2lkdGg7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjo6LW1vei1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20geyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207IH1cbiAgJi5mb3JtLWNvbnRyb2wtbGcgeyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7IH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtYmctbWl4aW5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3I6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1iZy1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtbWl4aW5zXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogbnVsbCwgJGVuZC1wZXJjZW50OiBudWxsKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LW1peGluc1xuIiwiLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvcil9O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZyksIHZhcigtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uLCBub25lKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplO1xuICBib3JkZXI6ICRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXNlbGVjdC10cmFuc2l0aW9uKTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmZvcm0tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLXNlbGVjdC1sZyB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvci1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ2hlY2svcmFkaW9cbi8vXG5cbi5mb3JtLWNoZWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZzogI3skZm9ybS1jaGVjay1pbnB1dC1iZ307XG5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgaGVpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjU7IC8vIGxpbmUtaGVpZ2h0IG1pbnVzIGNoZWNrIGhlaWdodFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWNoZWNrLXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGZpbHRlcjogJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuXG4gICAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3R5cGU9XCJjaGVja2JveFwiXTppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG5cbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX07XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cblxuICAvLyBVc2UgZGlzYWJsZWQgYXR0cmlidXRlIGluIGFkZGl0aW9uIG9mIDpkaXNhYmxlZCBwc2V1ZG8tY2xhc3NcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yO1xuICBjdXJzb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjtcbn1cblxuLy9cbi8vIFN3aXRjaFxuLy9cblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UpfTtcblxuICAgIHdpZHRoOiAkZm9ybS1zd2l0Y2gtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXN3aXRjaC10cmFuc2l0aW9uKTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2UpfTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb247XG5cbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ7XG59XG5cbi5idG4tY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICArIC5idG4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0Om5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UtZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uZm9ybS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQsICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0KSAqIC41OyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtLWZsb2F0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ7XG4gIH1cblxuICA+IGxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIGFsbG93IHRleHRhcmVhc1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gUmVxdWlyZWQgZm9yIGFsaWduaW5nIGxhYmVsJ3MgdGV4dCB3aXRoIHRoZSBpbnB1dCBhcyBpdCBhZmZlY3RzIGlubmVyIGJveCBtb2RlbFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gICAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksICN7JGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eX0pO1xuICAgICAgdHJhbnNmb3JtOiAkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm07XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICgkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXggKiAuNSk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBoZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAjeyRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHl9KTtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIH4gbGFiZWwge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7IC8vIFJlcXVpcmVkIHRvIHByb3Blcmx5IHBvc2l0aW9uIGxhYmVsIHRleHQgLSBhcyBleHBsYWluZWQgYWJvdmVcbiAgICB9XG4gIH1cblxuICA+IDpkaXNhYmxlZCB+IGxhYmVsLFxuICA+IC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQgfiBsYWJlbCB7IC8vIFJlcXVpcmVkIGZvciBgLmZvcm0tY29udHJvbGBzIGJlY2F1c2Ugb2Ygc3BlY2lmaWNpdHlcbiAgICBjb2xvcjogJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tc2VsZWN0LFxuICA+IC5mb3JtLWZsb2F0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5pbnB1dC1ncm91cCB7XG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gOm50aC1sYXN0LWNoaWxkKG4gKyAzKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuICAgID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuICsgNCksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiO1xuICBAZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMpIHtcbiAgICAkdmFsaWRhdGlvbi1tZXNzYWdlczogJHZhbGlkYXRpb24tbWVzc2FnZXMgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItdG9vbHRpcClcIiArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi1mZWVkYmFjaylcIjtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSkjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZSxcbiAgJGNvbG9yLFxuICAkaWNvbixcbiAgJHRvb2x0aXAtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICR0b29sdGlwLWJnLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KSxcbiAgJGZvY3VzLWJveC1zaGFkb3c6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAkYm9yZGVyLWNvbG9yOiAkY29sb3Jcbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1zdHlsZTogJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZy1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRmb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLFxuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbjogI3tlc2NhcGUtc3ZnKCRpY29uKX07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfSBAZWxzZSBpZiAkc3RhdGUgPT0gXCJpbnZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRidG4tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skYnRuLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseTogI3skYnRuLWZvbnQtZmFtaWx5fTtcbiAgQGluY2x1ZGUgcmZzKCRidG4tZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRidG4tZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQ6ICN7JGJ0bi1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aDogI3skYnRuLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYnRuLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6ICN7JGJ0bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnRuLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXgpO1xuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogaWYoJGVuYWJsZS1idXR0b24tcG9pbnRlcnMsIHBvaW50ZXIsIG51bGwpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuYnRuLWNoZWNrICsgJjpob3ZlciB7XG4gICAgLy8gb3ZlcnJpZGUgZm9yIHRoZSBjaGVja2JveC9yYWRpbyBidXR0b25zXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQgKyAmLFxuICA6bm90KC5idG4tY2hlY2spICsgJjphY3RpdmUsXG4gICY6Zmlyc3QtY2hpbGQ6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJi5zaG93IHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnKTtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSk7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQ6Zm9jdXMtdmlzaWJsZSArICYge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0OmRpc2FibGVkICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbG9vcHNcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGlmICRjb2xvciA9PSBcImxpZ2h0XCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2UgaWYgJGNvbG9yID09IFwiZGFya1wiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbG9vcHNcblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1ub3JtYWx9O1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skYnRuLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYnRuLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skYnRuLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6IDAgMCAwICMwMDA7IC8vIENhbid0IHVzZSBgbm9uZWAgYXMga2V5d29yZCBuZWdhdGVzIGFsbCB2YWx1ZXMgd2hlbiB1c2VkIHdpdGggbXVsdGlwbGUgc2hhZG93c1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3skYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYn07XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoXG4gICRiYWNrZ3JvdW5kLFxuICAkYm9yZGVyLFxuICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpLFxuICAkZGlzYWJsZWQtYmFja2dyb3VuZDogJGJhY2tncm91bmQsXG4gICRkaXNhYmxlZC1ib3JkZXI6ICRib3JkZXIsXG4gICRkaXNhYmxlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGRpc2FibGVkLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGhvdmVyLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRob3Zlci1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSl9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6ICN7JGRpc2FibGVkLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRkaXNhYmxlZC1ib3JkZXJ9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoXG4gICRjb2xvcixcbiAgJGNvbG9yLWhvdmVyOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvcixcbiAgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skY29sb3ItaG92ZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYigkY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogbm9uZTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXNpemUtbWl4aW5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXNpemUtbWl4aW5cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLWNsYXNzZXNcbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG5cbiAgJi5jb2xsYXBzZS1ob3Jpem9udGFsIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtY2xhc3Nlc1xuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3BlbmQsXG4uZHJvcGRvd24sXG4uZHJvcHN0YXJ0LFxuLmRyb3B1cC1jZW50ZXIsXG4uZHJvcGRvd24tY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4OiAjeyR6aW5kZXgtZHJvcGRvd259O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGg6ICN7JGRyb3Bkb3duLW1pbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteDogI3skZHJvcGRvd24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15OiAjeyRkcm9wZG93bi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXI6ICN7JGRyb3Bkb3duLXNwYWNlcn07XG4gIEBpbmNsdWRlIHJmcygkZHJvcGRvd24tZm9udC1zaXplLCAtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcjogI3skZHJvcGRvd24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGg6ICN7JGRyb3Bkb3duLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogI3skZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6ICN7JGRyb3Bkb3duLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAjeyRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tY3NzLXZhcnNcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBtaW4td2lkdGg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14KTtcbiAgbWFyZ2luOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IG1hcmdpbiBvZiB1bFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3cpKTtcblxuICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICA+IC5kcm9wZG93bi1pdGVtOmZpcnN0LWNoaWxkLFxuICAgID4gbGk6Zmlyc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gICAgPiAuZHJvcGRvd24taXRlbTpsYXN0LWNoaWxkLFxuICAgID4gbGk6bGFzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG4vLyBXZSBkZWxpYmVyYXRlbHkgaGFyZGNvZGUgdGhlIGBicy1gIHByZWZpeCBiZWNhdXNlIHdlIGNoZWNrXG4vLyB0aGlzIGN1c3RvbSBwcm9wZXJ0eSBpbiBKUyB0byBkZXRlcm1pbmUgUG9wcGVyJ3MgcG9zaXRpb25pbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tZW5kIHtcbiAgICAgIC0tYnMtcG9zaXRpb246IGVuZDtcblxuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcGVuZCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChlbmQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcHN0YXJ0IHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChzdGFydCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgb3BhY2l0eTogMTsgLy8gUmV2aXNpdCBpbiB2NiB0byBkZS1kdXBlIHN0eWxlcyB0aGF0IGNvbmZsaWN0IHdpdGggPGhyPiBlbGVtZW50XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1ib3JkZXItcmFkaXVzLCAwKSk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZykpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbn1cblxuLy8gRGFyayBkcm9wZG93bnNcbi5kcm9wZG93bi1tZW51LWRhcmsge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcjogI3skZHJvcGRvd24tZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJnOiAjeyRkcm9wZG93bi1kYXJrLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6ICN7JGRyb3Bkb3duLWRhcmstYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmc6ICN7JGRyb3Bkb3duLWRhcmstZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICN7JGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtbWl4aW5zXG5AbWl4aW4gY2FyZXQtZG93bigkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LWVuZCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtc3RhcnQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoXG4gICRkaXJlY3Rpb246IGRvd24sXG4gICR3aWR0aDogJGNhcmV0LXdpZHRoLFxuICAkc3BhY2luZzogJGNhcmV0LXNwYWNpbmcsXG4gICR2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduXG4pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oJHdpZHRoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZW5kKCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gc3RhcnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXN0YXJ0KCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LW1peGluc1xuIiwiLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuICA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuICA+IC5idG46aG92ZXIsXG4gID4gLmJ0bjpmb2N1cyxcbiAgPiAuYnRuOmFjdGl2ZSxcbiAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IDpub3QoLmJ0bi1jaGVjazpmaXJzdC1jaGlsZCkgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGJ0bi1ib3JkZXItd2lkdGh9ICogLTEpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgfVxuXG4gIC8vIFRoZSBsZWZ0IHJhZGl1cyBzaG91bGQgYmUgMCBpZiB0aGUgYnV0dG9uIGlzOlxuICAvLyAtIHRoZSBcInRoaXJkIG9yIG1vcmVcIiBjaGlsZFxuICAvLyAtIHRoZSBzZWNvbmQgY2hpbGQgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IGlzbid0IGAuYnRuLWNoZWNrYCAobWFraW5nIGl0IHRoZSBmaXJzdCBjaGlsZCB2aXN1YWxseSlcbiAgLy8gLSBwYXJ0IG9mIGEgYnRuLWdyb3VwIHdoaWNoIGlzbid0IHRoZSBmaXJzdCBjaGlsZFxuICA+IC5idG46bnRoLWNoaWxkKG4gKyAzKSxcbiAgPiA6bm90KC5idG4tY2hlY2spICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3BlbmQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BzdGFydCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JGJ0bi1ib3JkZXItd2lkdGh9ICogLTEpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0biB+IC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogI3skbmF2LWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogI3skbmF2LWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogI3skbmF2LWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJG5hdi1saW5rLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdGFicy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGg6ICN7JG5hdi10YWJzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1czogI3skbmF2LXRhYnMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdGFicy1jc3MtdmFyc1xuXG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3IpO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUHJldmVudHMgYWN0aXZlIC5uYXYtbGluayB0YWIgb3ZlcmxhcHBpbmcgZm9jdXMgb3V0bGluZSBvZiBwcmV2aW91cy9uZXh0IC5uYXYtbGlua1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtcGlsbHMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi1waWxscy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXBpbGxzLWNzcy12YXJzXG5cbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1cykpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVW5kZXJsaW5lXG4vL1xuXG4ubmF2LXVuZGVybGluZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwOiAjeyRuYXYtdW5kZXJsaW5lLWdhcH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi11bmRlcmxpbmUtY3NzLXZhcnNcblxuICBnYXA6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcCk7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtZmlsbCxcbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIC5uYXYtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIE1ha2Ugc3VyZSBidXR0b24gd2lsbCBncm93XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteDogI3tpZigkbmF2YmFyLXBhZGRpbmcteCA9PSBudWxsLCAwLCAkbmF2YmFyLXBhZGRpbmcteCl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15OiAjeyRuYXZiYXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICN7JG5hdmJhci1icmFuZC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogI3skbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmR9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplOiAjeyRuYXZiYXItYnJhbmQtZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAjeyRuYXZiYXItdG9nZ2xlci1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAjeyRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICN7JG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogI3skbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCk7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAvLyBUaGUgYGZsZXgtd3JhcGAgcHJvcGVydHkgaXMgaW5oZXJpdGVkIHRvIHNpbXBsaWZ5IHRoZSBleHBhbmRlZCBuYXZiYXJzXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogMDtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgICYuYWN0aXZlLFxuICAgICYuc2hvdyB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcblxuICBhLFxuICBhOmhvdmVyLFxuICBhOmZvY3VzICB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcik7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb24pKTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGgpO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogdmFyKC0tI3skcHJlZml4fXNjcm9sbC1oZWlnaHQsIDc1dmgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWV4cGFuZC1sb29wXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby11bmlvbi1jbGFzcy1uYW1lXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZjYW52YXMge1xuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgei1pbmRleDogYXV0bztcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obm9uZSk7XG4gICAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWV4cGFuZC1sb29wXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi5uYXZiYXItbGlnaHQge1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgLm5hdmJhci1saWdodGBcIiwgXCJ2NS4yLjBcIiwgXCJ2Ni4wLjBcIiwgdHJ1ZSk7XG59XG5cbi5uYXZiYXItZGFyayxcbi5uYXZiYXJbZGF0YS1icy10aGVtZT1cImRhcmtcIl0ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay1jc3MtdmFyc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXk6ICN7JGNhcmQtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14OiAjeyRjYXJkLXNwYWNlci14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteTogI3skY2FyZC10aXRsZS1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3I6ICN7JGNhcmQtdGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yOiAjeyRjYXJkLXN1YnRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6ICN7JGNhcmQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6ICN7JGNhcmQtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogI3skY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXg6ICN7JGNhcmQtY2FwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWJnOiAjeyRjYXJkLWNhcC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yOiAjeyRjYXJkLWNhcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0OiAjeyRjYXJkLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWNhcmQtY29sb3I6ICN7JGNhcmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJnOiAjeyRjYXJkLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAjeyRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbjogI3skY2FyZC1ncm91cC1tYXJnaW59O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhcmQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdykpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3I6ICN7JGFjY29yZGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1iZzogI3skYWNjb3JkaW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoOiAjeyRhY2NvcmRpb24taWNvbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm06ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdzogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi1jc3MtdmFyc1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIFJlc2V0IGJ1dHRvbiBzdHlsZVxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZyk7XG4gIGJvcmRlcjogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tdHJhbnNpdGlvbikpO1xuXG4gICY6bm90KC5jb2xsYXBzZWQpIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkpIDAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb24pO1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWNjb3JkaW9uIGljb25cbiAgJjo6YWZ0ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uKSk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG59XG5cbi5hY2NvcmRpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC8vIE9ubHkgc2V0IGEgYm9yZGVyLXJhZGl1cyBvbiB0aGUgbGFzdCBpdGVtIGlmIHRoZSBhY2NvcmRpb24gaXMgY29sbGFwc2VkXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24tYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXgpO1xufVxuXG5cbi8vIEZsdXNoIGFjY29yZGlvbiBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgYWNjb3JkaW9uIGl0ZW1zIGVkZ2UtdG8tZWRnZS5cblxuLmFjY29yZGlvbi1mbHVzaCB7XG4gID4gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wOiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LWNsYXNzXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAmLFxuICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC1jbGFzc1xuXG4gICAgPiAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uLWRhcmspfTtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbi1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogI3skYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tfTtcbiAgQGluY2x1ZGUgcmZzKCRicmVhZGNydW1iLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnOiAjeyRicmVhZGNydW1iLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAjeyRicmVhZGNydW1iLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICN7JGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAjeyRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSkpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIGNvbnRlbnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcikpICN7XCIvKiBydGw6XCJ9IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkKSkgI3tcIiovXCJ9O1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcGFnaW5hdGlvbi1mb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcjogI3skcGFnaW5hdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmc6ICN7JHBhZ2luYXRpb24tYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci13aWR0aDogI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogI3skcGFnaW5hdGlvbi1mb2N1cy1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmc6ICN7JHBhZ2luYXRpb24tZm9jdXMtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICN7JHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwYWdpbmF0aW9uLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gIC5hY3RpdmUgPiAmIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAuZGlzYWJsZWQgPiAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCkgLnBhZ2UtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDtcbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQgPT0gY2FsYygjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0gKiAtMSkge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gQWRkIGJvcmRlci1yYWRpdXMgdG8gYWxsIHBhZ2VMaW5rcyBpbiBjYXNlIHRoZXkgaGF2ZSBsZWZ0IG1hcmdpblxuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLW1peGluXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1taXhpblxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteDogI3skYmFkZ2UtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15OiAjeyRiYWRnZS1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGJhZGdlLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQ6ICN7JGJhZGdlLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3I6ICN7JGJhZGdlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1czogI3skYmFkZ2UtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFsZXJ0LWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14OiAjeyRhbGVydC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXk6ICN7JGFsZXJ0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b206ICN7JGFsZXJ0LW1hcmdpbi1ib3R0b219O1xuICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyOiAjeyRhbGVydC1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzOiAjeyRhbGVydC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogaW5oZXJpdDtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3IpO1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXggKyAxO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgKiAxLjI1ICRhbGVydC1wYWRkaW5nLXg7XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtbW9kaWZpZXJzXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0XG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuYWxlcnQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LW1vZGlmaWVyc1xuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1rZXlmcmFtZXNcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6ICRwcm9ncmVzcy1oZWlnaHQ7IH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1rZXlmcmFtZXNcblxuLnByb2dyZXNzLFxuLnByb2dyZXNzLXN0YWNrZWQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0OiAjeyRwcm9ncmVzcy1oZWlnaHR9O1xuICBAaW5jbHVkZSByZnMoJHByb2dyZXNzLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmc6ICN7JHByb2dyZXNzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogI3skcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3c6ICN7JHByb2dyZXNzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3I6ICN7JHByb2dyZXNzLWJhci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZzogI3skcHJvZ3Jlc3MtYmFyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICN7JHByb2dyZXNzLWJhci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3cpKTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uKSk7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3MgPiAucHJvZ3Jlc3MtYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogI3skbGlzdC1ncm91cC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAjeyRsaXN0LWdyb3VwLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogI3skbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogI3skbGlzdC1ncm91cC1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZzogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmxpc3QtZ3JvdXAtbnVtYmVyZWQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtOjpiZWZvcmUge1xuICAgIC8vIEluY3JlbWVudHMgb25seSB0aGlzIGluc3RhbmNlIG9mIHRoZSBzZWN0aW9uIGNvdW50ZXJcbiAgICBjb250ZW50OiBjb3VudGVycyhzZWN0aW9uLCBcIi5cIikgXCIuIFwiO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICB9XG59XG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZyk7XG4gIH1cbn1cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmcpO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgJiArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuLy8gTGlzdCBncm91cCBjb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4iLCIvLyBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgcHJvcGVydGllcyBpbmNsdWRlZCBmb3IgYnV0dG9uIHZlcnNpb24uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi5idG4tY2xvc2Uge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yOiAjeyRidG4tY2xvc2UtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtYmc6ICN7IGVzY2FwZS1zdmcoJGJ0bi1jbG9zZS1iZykgfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLXNoYWRvdzogI3skYnRuLWNsb3NlLWZvY3VzLXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICN7JGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXJ9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNsb3NlLWNzcy12YXJzXG5cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAkYnRuLWNsb3NlLXdpZHRoO1xuICBoZWlnaHQ6ICRidG4tY2xvc2UtaGVpZ2h0O1xuICBwYWRkaW5nOiAkYnRuLWNsb3NlLXBhZGRpbmcteSAkYnRuLWNsb3NlLXBhZGRpbmcteDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnKSBjZW50ZXIgLyAkYnRuLWNsb3NlLXdpZHRoIGF1dG8gbm8tcmVwZWF0OyAvLyBpbmNsdWRlIHRyYW5zcGFyZW50IGZvciBidXR0b24gZWxlbWVudHNcbiAgYm9yZGVyOiAwOyAvLyBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbiAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1vcGFjaXR5KTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtaG92ZXItb3BhY2l0eSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtc2hhZG93KTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuLWNsb3NlLXdoaXRlKCkge1xuICBmaWx0ZXI6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2Utd2hpdGUtZmlsdGVyKTtcbn1cblxuLmJ0bi1jbG9zZS13aGl0ZSB7XG4gIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiLnRvYXN0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvYXN0LXppbmRleDogI3skemluZGV4LXRvYXN0fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14OiAjeyR0b2FzdC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXk6ICN7JHRvYXN0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvYXN0LXNwYWNpbmc6ICN7JHRvYXN0LXNwYWNpbmd9O1xuICAtLSN7JHByZWZpeH10b2FzdC1tYXgtd2lkdGg6ICN7JHRvYXN0LW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkdG9hc3QtZm9udC1zaXplLCAtLSN7JHByZWZpeH10b2FzdC1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH10b2FzdC1jb2xvcjogI3skdG9hc3QtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1iZzogI3skdG9hc3QtYmFja2dyb3VuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aDogI3skdG9hc3QtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzOiAjeyR0b2FzdC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdzogI3skdG9hc3QtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1jb2xvcjogI3skdG9hc3QtaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJnOiAjeyR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRvYXN0LWNzcy12YXJzXG5cbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b2FzdC1tYXgtd2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1jb250YWluZXIge1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4KTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nKTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSkpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB9XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1tb2RhbC16aW5kZXg6ICN7JHppbmRleC1tb2RhbH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1tZH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmc6ICN7JG1vZGFsLWlubmVyLXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1jb2xvcjogI3skbW9kYWwtY29udGVudC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJnOiAjeyRtb2RhbC1jb250ZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aDogI3skbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteTogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nOiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZ307IC8vIFRvZG8gaW4gdjY6IFNwbGl0IHRoaXMgcGFkZGluZyBpbnRvIHggYW5kIHlcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogI3skbW9kYWwtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwOiAjeyRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmc6ICN7JG1vZGFsLWZvb3Rlci1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRofTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKTtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93KSk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXg6ICN7JHppbmRleC1tb2RhbC1iYWNrZHJvcH07XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLWJnOiAjeyRtb2RhbC1iYWNrZHJvcC1iZ307XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHk6ICN7JG1vZGFsLWJhY2tkcm9wLW9wYWNpdHl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1iYWNrZHJvcCh2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4KSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLWJnKSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHkpKTtcbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSAqIC41KTtcbiAgICBtYXJnaW46IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZyk7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmcpIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgPiAqIHtcbiAgICBtYXJnaW46IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpOyAvLyBUb2RvIGluIHY2OiByZXBsYWNlIHdpdGggZ2FwIG9uIHBhcmVudCBjbGFzc1xuICB9XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAubW9kYWwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwfTtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXB9O1xuICB9XG5cbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC13aWR0aCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLXNtIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtc219O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1sZ307XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC14bH07XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRwb3N0Zml4OiBpZigkaW5maXggIT0gXCJcIiwgJGluZml4ICsgXCItZG93blwiLCBcIlwiKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAubW9kYWwtZnVsbHNjcmVlbiN7JHBvc3RmaXh9IHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWhlYWRlcixcbiAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuIiwiLy8gU2hhcmVkIGJldHdlZW4gbW9kYWxzIGFuZCBvZmZjYW52YXNlc1xuQG1peGluIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleCwgJGJhY2tkcm9wLWJnLCAkYmFja2Ryb3Atb3BhY2l0eSkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b29sdGlwLXppbmRleDogI3skemluZGV4LXRvb2x0aXB9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW1heC13aWR0aDogI3skdG9vbHRpcC1tYXgtd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteDogI3skdG9vbHRpcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteTogI3skdG9vbHRpcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbjogI3skdG9vbHRpcC1tYXJnaW59O1xuICBAaW5jbHVkZSByZnMoJHRvb2x0aXAtZm9udC1zaXplLCAtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3I6ICN7JHRvb2x0aXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJnOiAjeyR0b29sdGlwLWJnfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzOiAjeyR0b29sdGlwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW9wYWNpdHk6ICN7JHRvb2x0aXAtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGg6ICN7JHRvb2x0aXAtYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodDogI3skdG9vbHRpcC1hcnJvdy1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXJnaW4pO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgJHRvb2x0aXAtbWFyZ2luYFwiLCBcInY1XCIsIFwidjUueFwiLCB0cnVlKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW9wYWNpdHkpOyB9XG5cbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy10b29sdGlwLWVuZCAudG9vbHRpcC1hcnJvdyB7XG4gIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3R0b206IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy10b29sdGlwLXN0YXJ0IC50b29sdGlwLWFycm93IHtcbiAgcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtc3RhcnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1heC13aWR0aCk7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYm9yZGVyLXJhZGl1cykpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIG92ZXJmbG93LXdyYXAgLyB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4OiAjeyR6aW5kZXgtcG9wb3Zlcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoOiAjeyRwb3BvdmVyLW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1iZzogI3skcG9wb3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoOiAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3c6ICN7JHBvcG92ZXItYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3I6ICN7JHBvcG92ZXItaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmc6ICN7JHBvcG92ZXItaGVhZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteDogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3I6ICN7JHBvcG92ZXItYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGg6ICN7JHBvcG92ZXItYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodDogI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93KSk7XG5cbiAgLnBvcG92ZXItYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBib3R0b206IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLWVuZCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGxlZnQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLXN0YXJ0IHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgcmlnaHQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItc3RhcnQ7XG4gIH1cbn1cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yKTtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLWVuZCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kXG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLXN0YXJ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLWVuZCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpICN7XCIvKnJ0bDpcIiArIGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKSArIFwiKi9cIn07XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZykgI3tcIi8qcnRsOlwiICsgZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpICsgXCIqL1wifTtcbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHMvY29udHJvbHNcbi8vXG4vLyBBZGQgYSBjb250YWluZXIgKHN1Y2ggYXMgYSBsaXN0KSB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhbiBpdGVtIChpZGVhbGx5IGEgZm9jdXNhYmxlIGNvbnRyb2wsXG4vLyBsaWtlIGEgYnV0dG9uKSB3aXRoIGRhdGEtYnMtdGFyZ2V0IGZvciBlYWNoIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcblxuICBbZGF0YS1icy10YXJnZXRdIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDA7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHBhZGRpbmctdG9wOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBEYXJrIG1vZGUgY2Fyb3VzZWxcblxuQG1peGluIGNhcm91c2VsLWRhcmsoKSB7XG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbiAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgICBmaWx0ZXI6ICRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI7XG4gIH1cblxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBbZGF0YS1icy10YXJnZXRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG5cbiAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yO1xuICB9XG59XG5cbi5jYXJvdXNlbC1kYXJrIHtcbiAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICBAaWYgJGNvbG9yLW1vZGUtdHlwZSA9PSBcIm1lZGlhLXF1ZXJ5XCIge1xuICAgICAgLmNhcm91c2VsIHtcbiAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgLmNhcm91c2VsLFxuICAgICAgJi5jYXJvdXNlbCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcm91c2VsLWRhcmsoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbi5zcGlubmVyLWdyb3csXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0KTtcbiAgdmVydGljYWwtYWxpZ246IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduKTtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkKSBsaW5lYXIgaW5maW5pdGUgdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWUpO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpICN7XCIvKiBydGw6aWdub3JlICovXCJ9OyB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWtleWZyYW1lc1xuXG4uc3Bpbm5lci1ib3JkZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ246ICN7JHNwaW5uZXItdmVydGljYWwtYWxpZ259O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWJvcmRlcjtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuXG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoKSBzb2xpZCBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1zbS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRoLXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0LXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGg6ICN7JHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1zbS1jc3MtdmFyc1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ncm93LWtleWZyYW1lc1xuXG4uc3Bpbm5lci1ncm93IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItZ3JvdztcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3ctY3NzLXZhcnNcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRoLXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0LXNtfTtcbn1cblxuQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24ge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZCAqIDJ9O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiVvZmZjYW52YXMtY3NzLXZhcnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXg6ICN7JHppbmRleC1vZmZjYW52YXN9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGg6ICN7JG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodDogI3skb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXg6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15OiAjeyRvZmZjYW52YXMtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWNvbG9yOiAjeyRvZmZjYW52YXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYmc6ICN7JG9mZmNhbnZhcy1iZy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICN7JG9mZmNhbnZhcy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAjeyRvZmZjYW52YXMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3c6ICN7JG9mZmNhbnZhcy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRyYW5zaXRpb246ICN7dHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogI3skb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtY3NzLXZhcnNcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAub2ZmY2FudmFzI3skaW5maXh9IHtcbiAgICBAZXh0ZW5kICVvZmZjYW52YXMtY3NzLXZhcnM7XG4gIH1cbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAub2ZmY2FudmFzI3skaW5maXh9IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtemluZGV4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3IpO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3gtc2hhZG93KSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtdHJhbnNpdGlvbikpO1xuXG4gICAgICAmLm9mZmNhbnZhcy1zdGFydCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLWVuZCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtdG9wIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLnNob3dpbmcsXG4gICAgICAmLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLnNob3dpbmcsXG4gICAgICAmLmhpZGluZyxcbiAgICAgICYuc2hvdyB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodDogYXV0bztcbiAgICAgICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgIC8vIFJlc2V0IGBiYWNrZ3JvdW5kLWNvbG9yYCBpbiBjYXNlIGAuYmctKmAgY2xhc3NlcyBhcmUgdXNlZCBpbiBvZmZjYW52YXNcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vZmZjYW52YXMtYmFja2Ryb3Age1xuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKCR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wLCAkb2ZmY2FudmFzLWJhY2tkcm9wLWJnLCAkb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHkpO1xufVxuXG4ub2ZmY2FudmFzLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgKiAuNSkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgbWFyZ2luOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkpIGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKSBhdXRvO1xuICB9XG59XG5cbi5vZmZjYW52YXMtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodCk7XG59XG5cbi5vZmZjYW52YXMtYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbiIsIi5wbGFjZWhvbGRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHdhaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWF4O1xuXG4gICYuYnRuOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLnBsYWNlaG9sZGVyLXhzIHtcbiAgbWluLWhlaWdodDogLjZlbTtcbn1cblxuLnBsYWNlaG9sZGVyLXNtIHtcbiAgbWluLWhlaWdodDogLjhlbTtcbn1cblxuLnBsYWNlaG9sZGVyLWxnIHtcbiAgbWluLWhlaWdodDogMS4yZW07XG59XG5cbi8vIEFuaW1hdGlvblxuLnBsYWNlaG9sZGVyLWdsb3cge1xuICAucGxhY2Vob2xkZXIge1xuICAgIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItZ2xvdyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLWdsb3cge1xuICA1MCUge1xuICAgIG9wYWNpdHk6ICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjtcbiAgfVxufVxuXG4ucGxhY2Vob2xkZXItd2F2ZSB7XG4gIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMzBkZWcsICRibGFjayA1NSUsIHJnYmEoMCwgMCwgMCwgKDEgLSAkcGxhY2Vob2xkZXItb3BhY2l0eS1taW4pKSA3NSUsICRibGFjayA5NSUpO1xuICBtYXNrLXNpemU6IDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci13YXZlIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci13YXZlIHtcbiAgMTAwJSB7XG4gICAgbWFzay1wb3NpdGlvbjogLTIwMCUgMCU7XG4gIH1cbn1cbiIsIi8vIFV0aWxpdHkgZ2VuZXJhdG9yXG4vLyBVc2VkIHRvIGdlbmVyYXRlIHV0aWxpdGllcyAmIHByaW50IHV0aWxpdGllc1xuQG1peGluIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeDogXCJcIiwgJGlzLXJmcy1tZWRpYS1xdWVyeTogZmFsc2UpIHtcbiAgJHZhbHVlczogbWFwLWdldCgkdXRpbGl0eSwgdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgdmFsdWVzIGFyZSBhIGxpc3Qgb3Igc3RyaW5nLCBjb252ZXJ0IGl0IGludG8gYSBtYXBcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gXCJzdHJpbmdcIiBvciB0eXBlLW9mKG50aCgkdmFsdWVzLCAxKSkgIT0gXCJsaXN0XCIge1xuICAgICR2YWx1ZXM6IHppcCgkdmFsdWVzLCAkdmFsdWVzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAkcHJvcGVydGllczogbWFwLWdldCgkdXRpbGl0eSwgcHJvcGVydHkpO1xuXG4gICAgLy8gTXVsdGlwbGUgcHJvcGVydGllcyBhcmUgcG9zc2libGUsIGZvciBleGFtcGxlIHdpdGggdmVydGljYWwgb3IgaG9yaXpvbnRhbCBtYXJnaW5zIG9yIHBhZGRpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwic3RyaW5nXCIge1xuICAgICAgJHByb3BlcnRpZXM6IGFwcGVuZCgoKSwgJHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIFVzZSBjdXN0b20gY2xhc3MgaWYgcHJlc2VudFxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNsYXNzKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpLCBudGgoJHByb3BlcnRpZXMsIDEpKTtcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBudWxsLCBcIlwiLCAkcHJvcGVydHktY2xhc3MpO1xuXG4gICAgLy8gVXNlIGN1c3RvbSBDU1MgdmFyaWFibGUgbmFtZSBpZiBwcmVzZW50LCBvdGhlcndpc2UgZGVmYXVsdCB0byBgY2xhc3NgXG4gICAgJGNzcy12YXJpYWJsZS1uYW1lOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSk7XG5cbiAgICAvLyBTdGF0ZSBwYXJhbXMgdG8gZ2VuZXJhdGUgcHNldWRvLWNsYXNzZXNcbiAgICAkc3RhdGU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBzdGF0ZSksIG1hcC1nZXQoJHV0aWxpdHksIHN0YXRlKSwgKCkpO1xuXG4gICAgJGluZml4OiBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgc3RyLXNsaWNlKCRpbmZpeCwgMSwgMSkgPT0gXCItXCIsIHN0ci1zbGljZSgkaW5maXgsIDIpLCAkaW5maXgpO1xuXG4gICAgLy8gRG9uJ3QgcHJlZml4IGlmIHZhbHVlIGtleSBpcyBudWxsIChlLmcuIHdpdGggc2hhZG93IGNsYXNzKVxuICAgICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcjogaWYoJGtleSwgaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kICRpbmZpeCA9PSBcIlwiLCBcIlwiLCBcIi1cIikgKyAka2V5LCBcIlwiKTtcblxuICAgIEBpZiBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIHtcbiAgICAgIC8vIEluc2lkZSB0aGUgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiAkaXMtcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZSk7XG5cbiAgICAgICAgLy8gRG8gbm90IHJlbmRlciBhbnl0aGluZyBpZiBmbHVpZCBhbmQgbm9uIGZsdWlkIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICAgICAgJHZhbHVlOiBpZigkdmFsID09IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpLCBudWxsLCAkdmFsKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHZhbHVlOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkaXMtY3NzLXZhcjogbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcik7XG4gICAgJGlzLWxvY2FsLXZhcnM6IG1hcC1nZXQoJHV0aWxpdHksIGxvY2FsLXZhcnMpO1xuICAgICRpcy1ydGw6IG1hcC1nZXQoJHV0aWxpdHksIHJ0bCk7XG5cbiAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6YmVnaW46cmVtb3ZlICovXG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtY3NzLXZhciB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDplbmQ6cmVtb3ZlICovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMb29wIG92ZXIgZWFjaCBicmVha3BvaW50XG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuXG4gIC8vIEdlbmVyYXRlIG1lZGlhIHF1ZXJ5IGlmIG5lZWRlZFxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUkZTIHJlc2NhbGluZ1xuQG1lZGlhIChtaW4td2lkdGg6ICRyZnMtbXEtdmFsdWUpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIDwgJHJmcy1icmVha3BvaW50KSB7XG4gICAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHJmcykgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAvLyBUaGVuIGNoZWNrIGlmIHRoZSB1dGlsaXR5IG5lZWRzIHByaW50IHN0eWxlc1xuICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCBwcmludCkgPT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCBcIi1wcmludFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xuICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHMgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjBzICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbjogMS41cyBlYXNlLWluIGFsZXJ0LWFuaW1hdGlvbjtcblxuICBhIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtY29sb3IpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGxlZnQ6IDBweDtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yKTtcbiAgICAgIGFuaW1hdGlvbjogMS42cyBlYXNlLWluIGFsZXJ0LWxpbmstYW5pbWF0aW9uO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAzcztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFsZXJ0LWFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1iZyk7XG4gIH1cbiAgNTAlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3IpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYWxlcnQtbGluay1hbmltYXRpb24ge1xuICAwJSB7XG4gICAgd2lkdGg6IDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5hbGVydC1oZWFkaW5nIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgfVxufVxuIiwiLnBhdC1hdXRvdG9jLmF1dG90YWJzIHtcbiAgLmF1dG90b2MtbmF2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB9XG59XG5cbi8vIExhYmVscyB3cmFwcGluZyBpbnB1dHNcbmxhYmVsOmhhcyhpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmxhYmVsIGlucHV0LFxubGFiZWwgc2VsZWN0LFxubGFiZWwgdGV4dGFyZWEge1xuICBtYXJnaW46IDAuNXJlbSAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gTGFiZWxzIG9uIHJlcXVpcmVkIGlucHV0IGZpZWxkc1xubGFiZWwgLnJlcXVpcmVkOmFmdGVyLFxubGFiZWwucmVxdWlyZWQ6YWZ0ZXIge1xuICBjb2xvcjogJGRhbmdlcjtcbiAgY29udGVudDogXCLigKJcIjtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLyogc2hvdyB2YWxpZGF0aW9uIGZlZWRiYWNrIGFsd2F5cyBzaW5jZSBpdCBjb21lcyBmcm9tXG4gICBzZXJ2ZXItc2lkZSByZW5kZXJpbmcgb3IgcGF0LXZhbGlkYXRpb25cbiovXG4uaW52YWxpZC1mZWVkYmFjayxcbi52YWxpZC1mZWVkYmFjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZm9ybS1ncm91cCB7XG4gIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmZvcm1Db250cm9scyB7XG4gIG1hcmdpbi10b3A6ICRzcGFjZXIgKiAxLjU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAwLjU7XG59XG5cbmZvcm0ucGF0LWF1dG90b2MgPiAuZm9ybUNvbnRyb2xzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktYmcpO1xuICBwYWRkaW5nOiAkc3BhY2VyIDA7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKTtcblxuICAvKiBzdGlja3kgYm90dG9tICovXG4gIEBleHRlbmQgLnN0aWNreS1ib3R0b207XG59XG5cbi8qIHJlbGF0ZWRpdGVtcyB3aWRnZXQgKi9cbi5wYXR0ZXJuLXJlbGF0ZWRpdGVtcy1yZXN1bHQge1xuICAucGF0dGVybi1yZWxhdGVkaXRlbXMtcmVzdWx0LWJyb3dzZS13cmFwcGVyIHtcbiAgICAucGF0dGVybi1yZWxhdGVkaXRlbXMtcmVzdWx0LWJyb3dzZSB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICB9XG4gIH1cbn1cblxuLnNlbGVjdDItcmVzdWx0cyAuc2VsZWN0Mi1oaWdobGlnaHRlZCB7XG4gIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbn1cblxuLnBhdHRlcm4tcmVsYXRlZGl0ZW1zLWl0ZW0tdGl0bGUsXG4ucGF0dGVybi1yZWxhdGVkaXRlbXMtcmVzdWx0LXRpdGxlIHtcbiAgJixcbiAgJltjbGFzcyo9XCJjb250ZW50dHlwZS1cIl06YmVmb3JlIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gIH1cbn1cblxuLy8gRGlmZiBzdHlsZXMgZm9yIENNRkVkaXRpb25zIGZyb20gb2xkIGNvbXBhcmUuY3NzXG5ib2R5LnRlbXBsYXRlLWhpc3Rvcnkge1xuICAuaW5saW5lLWRpZmYge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBwYWRkaW5nOiAxZW07XG4gIH1cblxuICAuZGlmZi1oZWFkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICB9XG5cbiAgLmRpZmYtbGVnZW5kLWxhYmVsIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICNkaWZmLWxlZ2VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgI2RpZmYtdGFibGUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMjIuNWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG5cbiAgLmRlbGV0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZC0yMDA7XG4gICAgcGFkZGluZzogMCAwLjJlbSAwIDAuMmVtO1xuICB9XG5cbiAgLmluc2VydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRlYWwtMjAwO1xuICAgIHBhZGRpbmc6IDAgMC4yZW0gMCAwLjJlbTtcbiAgfVxuXG4gIC50YWdJbnNlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAgMC4yZW0gMCAwLjJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cblxuICAudGFnRGVsZXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFuZ2VyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAgMC4yZW0gMCAwLjJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cblxuICAuZGlmZl9oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gIH1cblxuICB0ZC5kaWZmX2hlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuZGlmZl9uZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMGMwO1xuICB9XG5cbiAgLmRpZmZfYWRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVhbC0yMDA7XG4gIH1cblxuICAuZGlmZl9jaGcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3ctMjAwO1xuICB9XG5cbiAgLmRpZmZfc3ViIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTIwMDtcbiAgfVxuXG4gIHRhYmxlLmRpZmYgdGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS0zMDA7XG4gIH1cbn1cbiIsIi8vKi8vIFNpdGUgU2V0dXBcblxuLy8gdG9kbyBjb252ZXJ0IFwicG9ydGxldFwiIGludG8gc2V2ZXJhbCBjYXJkc1xuXG5ib2R5W2NsYXNzKj1cIi1jb250cm9scGFuZWxcIl0ge1xuXG4gIC5jb250cm9sUGFuZWwsXG4gIGFydGljbGUge1xuICAgID5oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAuY29uZmlnbGV0cyB7XG4gICAgICAub3ZlcnZpZXctaWNvbiB7XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICB9XG5cbiAgICAgIC5idG4gLmJpLFxuICAgICAgLmJ0biAuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJlZnMtY29uZmlnbGV0IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAxMHJlbTtcbiAgfVxufVxuXG4udGVtcGxhdGUtdXNlcmdyb3VwLXVzZXJwcmVmcyxcbi50ZW1wbGF0ZS11c2VyZ3JvdXAtZ3JvdXBwcmVmcyB7XG4gIHRhYmxlIHtcbiAgICB0aC5yb3RhdGUge1xuICAgICAgaGVpZ2h0OiAxMnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJj5kaXYge1xuICAgICAgICB0cmFuc2Zvcm06XG4gICAgICAgICAgLyogTWFnaWMgTnVtYmVycyAqL1xuICAgICAgICAgIC8vIHRyYW5zbGF0ZSgyNXB4LCA1MXB4KVxuICAgICAgICAgIC8qIDQ1IGlzIHJlYWxseSAzNjAgLSA0NSAqL1xuICAgICAgICAgIC8vIHJvdGF0ZSgzMTVkZWcpO1xuICAgICAgICAgIHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdGluZ2NoZWNrYm94IHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgIH1cbiAgfVxufSIsIi5sb2dpbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLmNhcmQge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIDI7XG4gICAgbWF4LXdpZHRoOiAyNnJlbTtcblxuICAgICNmb3JtLXdpZGdldHMtbWFpbF9tZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufSIsIjpyb290IHtcbiAgICAtLXBsb25lLXRvb2xiYXItYmc6IHZhcigtLSN7JHByZWZpeH1kYXJrKTtcbiAgICAtLXBsb25lLXRvb2xiYXItdGV4dC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXdoaXRlKTtcbiAgICAtLXBsb25lLXRvb2xiYXItbG9ja2VkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9d2FybmluZyk7XG4gICAgLS1wbG9uZS10b29sYmFyLWZvbnQ6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAtLXBsb25lLXRvb2xiYXItc2VwYXJhdG9yLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Z3JheS01MDApO1xuICAgIC0tcGxvbmUtdG9vbGJhci1saW5rLWNvbG9yOiB2YXIoLS1wbG9uZS1saW5rLWNvbG9yKTtcbiAgICAtLXBsb25lLXRvb2xiYXItbGluay1ob3Zlci1jb2xvcjogdmFyKC0tcGxvbmUtbGluay1ob3Zlci1jb2xvcik7XG4gICAgLS1wbG9uZS10b29sYmFyLXdpZHRoOiAyMjBweDtcbiAgICAtLXBsb25lLXRvb2xiYXItd2lkdGgtY29sbGFwc2VkOiA2MHB4O1xuICAgIC0tcGxvbmUtdG9vbGJhci10b3AtaGVpZ2h0OiAyLjVyZW07XG59XG5cbi8qIGdlbmVyYWwgY29sbGFwc2VkIGRhcmsgbW9kZSAqL1xuI2VkaXQtem9uZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBsb25lLXRvb2xiYXItZm9udCk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBsb25lLXRvb2xiYXItYmcpO1xuICAgIHdpZHRoOiB2YXIoLS1wbG9uZS10b29sYmFyLXdpZHRoKTtcbiAgICBjb2xvcjogdmFyKC0tcGxvbmUtdG9vbGJhci10ZXh0LWNvbG9yKTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAmLFxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGxvbmUtdG9vbGJhci1iZyk7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbG9uZS10b29sYmFyLXRleHQtY29sb3IpO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDoxMDB2aDtcbiAgICB9XG5cbiAgICAubmF2LWxpbmssXG4gICAgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICBjb2xvcjogdmFyKC0tcGxvbmUtdG9vbGJhci10ZXh0LWNvbG9yKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBsb25lLXRvb2xiYXItbGluay1jb2xvcik7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcGxvbmUtdG9vbGJhci10ZXh0LWNvbG9yKTtcblxuICAgICAgICAgICAgLmxhYmVsLXN0YXRlLXB1Ymxpc2hlZCxcbiAgICAgICAgICAgIC5sYWJlbC1zdGF0ZS1leHRlcm5hbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXBsb25lLXRvb2xiYXItbGluay1ob3Zlci1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b29sYmFyLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1wbG9uZS10b29sYmFyLXRvcC1oZWlnaHQpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBsb25lLXRvb2xiYXItdGV4dC1jb2xvcik7XG4gICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmxhYmVsLXN0YXRlLXB1Ymxpc2hlZCxcbiAgICAubGFiZWwtc3RhdGUtZXh0ZXJuYWwge1xuICAgICAgICBjb2xvcjogdmFyKC0tcGxvbmUtbGluay1jb2xvci1vbi1kYXJrKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5sYWJlbC1zdGF0ZS1pbnRlcm5hbGx5X3B1Ymxpc2hlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbG9uZS1zdGF0ZS1pbnRlcm5hbGx5LXB1Ymxpc2hlZC1jb2xvcikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubGFiZWwtc3RhdGUtcGVuZGluZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbG9uZS1zdGF0ZS1wZW5kaW5nKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxpLmFjdGl2ZSAubGFiZWwtc3RhdGUtcGVuZGluZyxcbiAgICAubGFiZWwtc3RhdGUtcGVuZGluZzpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbG9uZS10b29sYmFyLXRleHQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmxhYmVsLXN0YXRlLWRyYWZ0LFxuICAgIC5sYWJlbC1zdGF0ZS1pbnRlcm5hbCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbG9uZS1zdGF0ZS1kcmFmdCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubGFiZWwtc3RhdGUtcHJpdmF0ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbG9uZS1zdGF0ZS1wcml2YXRlKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5wZXJzb25hbHRvb2xzLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggdmFyKC0tcGxvbmUtdG9vbGJhci1zZXBhcmF0b3ItY29sb3IpO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICB9XG5cbn1cblxuYm9keS5wbG9uZS10b29sYmFyLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGxvbmUtdG9vbGJhci13aWR0aC1jb2xsYXBzZWQpO1xuXG4gICAgLnRvb2xiYXItZXhwYW5kLFxuICAgIC50b29sYmFyLWNvbGxhcHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjZWRpdC16b25lIHtcbiAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgIC5wbG9uZS1pY29uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjI1ZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50b29sYmFyLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMC4zZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjNlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3JkZXItdG9wIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXBsb25lLXRvb2xiYXItc2VwYXJhdG9yLWNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b29sYmFyLWV4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICNlZGl0LXpvbmUge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgd2lkdGg6IHZhcigtLXBsb25lLXRvb2xiYXItd2lkdGgtY29sbGFwc2VkKTtcblxuICAgICAgICAudG9vbGJhci1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gT05MWSBJRiBNRCBPUiBISUdIRVJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICYucGxvbmUtdG9vbGJhci1sZWZ0LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIC50b29sYmFyLWV4cGFuZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRvb2xiYXItY29sbGFwc2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBsb25lLXRvb2xiYXItd2lkdGgpO1xuXG4gICAgICAgICAgICAjZWRpdC16b25lIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tcGxvbmUtdG9vbGJhci13aWR0aCk7XG5cbiAgICAgICAgICAgICAgICAudG9vbGJhci1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIGh5cGhlbnM6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBleHRlbmRpbmcgZHJvcGRvd24gZnJvbSBCUzUgb3V0c2lkZSBtZWRpYSBxdWVyeSAqL1xuYm9keS5wbG9uZS10b29sYmFyLXRvcCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wbG9uZS10b29sYmFyLXdpZHRoLWNvbGxhcHNlZCk7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAudG9vbGJhci1leHBhbmQsXG4gICAgLnRvb2xiYXItY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b29sYmFyLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBib2R5LnBsb25lLXRvb2xiYXItdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXBsb25lLXRvb2xiYXItdG9wLWhlaWdodCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAudG9vbGJhci1jb2xsYXBzZSxcbiAgICAgICAgLnRvb2xiYXItaGVhZGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICNlZGl0LXpvbmUge1xuICAgICAgICAgICAgYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tcGxvbmUtdG9vbGJhci10b3AtaGVpZ2h0KTtcblxuICAgICAgICAgICAgLnBsb25lLXRvb2xiYXItbWFpbiB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgICAgICAgID4uYm9yZGVyLXRvcCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4IHZhcigtLXBsb25lLXRvb2xiYXItc2VwYXJhdG9yLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wZXJzb25hbHRvb2xzLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERyb3Bkb3duIGZpeGVzIGZvciBtb2JpbGUgd2l0aCB0b3AgYmFyICAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgYm9keS5wbG9uZS10b29sYmFyLXRvcCB7XG4gICAgICAgICNlZGl0LXpvbmUge1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLXBsb25lLXRvb2xiYXItd2lkdGgtY29sbGFwc2VkKTtcblxuICAgICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICAmLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4zZW0gc29saWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZHJvcGRvd24tbWVudS5zaG93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGxvbmUtdG9vbGJhci13aWR0aC1jb2xsYXBzZWQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHMpIHtcbi8vICAgYm9keTpiZWZvcmUge1xuLy8gICAgICAgY29udGVudDogXCJ4c1wiO1xuLy8gICB9XG4vLyB9XG4vLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4vLyAgIGJvZHk6YmVmb3JlIHtcbi8vICAgICAgIGNvbnRlbnQ6IFwic21cIjtcbi8vICAgfVxuLy8gfVxuLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuLy8gICBib2R5OmJlZm9yZSB7XG4vLyAgICAgICBjb250ZW50OiBcIm1kXCI7XG4vLyAgIH1cbi8vIH1cbi8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbi8vICAgYm9keTpiZWZvcmUge1xuLy8gICAgICAgY29udGVudDogXCJsZ1wiO1xuLy8gICB9XG4vLyB9XG4vLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4vLyAgIGJvZHk6YmVmb3JlIHtcbi8vICAgICAgIGNvbnRlbnQ6IFwieGxcIjtcbi8vICAgfVxuLy8gfVxuLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcbi8vICAgYm9keTpiZWZvcmUge1xuLy8gICAgICAgY29udGVudDogXCJ4eGxcIjtcbi8vICAgfVxuLy8gfVxuXG4vLyAtLSBCb290c3RyYXAgZ3JpZCBkZWZpbml0aW9ucyAtLVxuLy8gY29udGVudC1jb2x1bW4gb25seTpcbmJvZHkuY29sLWNvbnRlbnQge1xuICAjcG9ydGFsLWNvbHVtbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29sKDEyKTtcbiAgfVxufVxuXG4vLyBjb250ZW50LWNvbHVtbiArIGNvbC10d286XG5ib2R5LmNvbC10d28uY29sLWNvbnRlbnQge1xuICAjcG9ydGFsLWNvbHVtbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2woMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDkpO1xuICAgIH1cbiAgfVxuXG4gICNwb3J0YWwtY29sdW1uLXR3byB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHkoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbCgzKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gY29udGVudC1jb2x1bW4gKyBjb2wtb25lOlxuYm9keS5jb2wtb25lLmNvbC1jb250ZW50IHtcbiAgI3BvcnRhbC1jb2x1bW4tY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHkoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDkpO1xuICAgIH1cbiAgfVxuXG4gICNwb3J0YWwtY29sdW1uLW9uZSB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHkoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBhbGwgMyBjb2x1bW5zOlxuYm9keS5jb2wtb25lLmNvbC10d28uY29sLWNvbnRlbnQge1xuICAjcG9ydGFsLWNvbHVtbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2woMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDYpO1xuICAgIH1cbiAgfVxuXG4gICNwb3J0YWwtY29sdW1uLW9uZSB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHkoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbCg2KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDMpO1xuICAgIH1cbiAgfVxuXG4gICNwb3J0YWwtY29sdW1uLXR3byB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHkoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbCg2KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sKDMpO1xuICAgIH1cbiAgfVxufSIsImltZyxcbnBpY3R1cmUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnRleHQtY29sdW1ucy0yIHtcbiAgY29sdW1uczogMjtcbn1cblxuLnRleHQtY29sdW1ucy0zIHtcbiAgY29sdW1uczogMztcbn1cblxuZmlndXJle1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbmZpZ2NhcHRpb257XG4gIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG4uaW1hZ2UtcmlnaHQge1xuICBAZXh0ZW5kIC5teC1hdXRvO1xuICBAZXh0ZW5kIC5teS0yO1xuXG4gICYucGljdHVyZS12YXJpYW50LWxhcmdlIHtcbiAgICBAZXh0ZW5kIC5mbG9hdC14eGwtZW5kICFvcHRpb25hbDtcbiAgICBAZXh0ZW5kIC5tcy14eGwtMiAhb3B0aW9uYWw7XG4gIH1cblxuICAmLnBpY3R1cmUtdmFyaWFudC1tZWRpdW0ge1xuICAgIEBleHRlbmQgLmZsb2F0LXhsLWVuZCAhb3B0aW9uYWw7XG4gICAgQGV4dGVuZCAubXMteGwtMiAhb3B0aW9uYWw7XG4gIH1cblxuICAmLnBpY3R1cmUtdmFyaWFudC1zbWFsbCB7XG4gICAgQGV4dGVuZCAuZmxvYXQtbWQtZW5kICFvcHRpb25hbDtcbiAgICBAZXh0ZW5kIC5tcy1tZC0yICFvcHRpb25hbDtcbiAgfVxufVxuXG4uaW1hZ2UtbGVmdCB7XG4gIEBleHRlbmQgLm14LWF1dG87XG4gIEBleHRlbmQgLm15LTI7XG5cbiAgJi5waWN0dXJlLXZhcmlhbnQtbGFyZ2Uge1xuICAgIEBleHRlbmQgLmZsb2F0LXh4bC1zdGFydCAhb3B0aW9uYWw7XG4gICAgQGV4dGVuZCAubWUteHhsLTIgIW9wdGlvbmFsO1xuICB9XG5cbiAgJi5waWN0dXJlLXZhcmlhbnQtbWVkaXVtIHtcbiAgICBAZXh0ZW5kIC5mbG9hdC14bC1zdGFydCAhb3B0aW9uYWw7XG4gICAgQGV4dGVuZCAubWUteGwtMiAhb3B0aW9uYWw7XG4gIH1cblxuICAmLnBpY3R1cmUtdmFyaWFudC1zbWFsbCB7XG4gICAgQGV4dGVuZCAuZmxvYXQtbWQtc3RhcnQgIW9wdGlvbmFsO1xuICAgIEBleHRlbmQgLm1lLW1kLTIgIW9wdGlvbmFsO1xuICB9XG59XG4iLCIuY2FyZC1saWdodCB7XG4gIGJvcmRlcjogbm9uZTtcblxuICAuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5jYXJkLWljb24ge1xuICBmb250LXNpemU6IDJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbi5zci1vbmx5LFxuLmhpZGRlblN0cnVjdHVyZSxcbi5jcnVkLWZvcm0gLmhlYWRlci1zZWxlY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5zci1vbmx5IGEsXG4uaGlkZGVuU3RydWN0dXJlIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcblxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn0iLCIucGxvbmUtaWNvbiB7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogYXV0bztcbn1cblxuLmljb24taW5saW5lIHtcbiAgLy8gbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3R0b206IC0wLjEyNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pY29uLXgxNSB7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uaWNvbi14MiB7XG4gIGhlaWdodDogMmVtO1xuICB3aWR0aDogYXV0bztcbn1cblxuLmljb24teDMge1xuICBoZWlnaHQ6IDNlbTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5pY29uLXg0IHtcbiAgaGVpZ2h0OiA0ZW07XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uaWNvbi14NSB7XG4gIGhlaWdodDogNWVtO1xuICB3aWR0aDogYXV0bztcbn0iLCIvLyAvLyBERUJVRyBNRURJQSBRVUVSSUVTXG4vLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYXYtbWFpbi1icmVha3BvaW50KSB7XG4vLyAgICNjb250ZW50LWhlYWRlcjo6YmVmb3JlIHtcbi8vICAgICBjb250ZW50OiBcIm1haW5cIjtcbi8vICAgICBwb3NpdGlvbjogc3RpY2t5O1xuLy8gICAgIHRvcDogMWVtO1xuLy8gICAgIGxlZnQ6IDA7XG4vLyAgIH1cbi8vIH1cbi8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHMpIHtcbi8vICAgYm9keTo6YmVmb3JlIHtcbi8vICAgICBjb250ZW50OiBcInhzXCI7XG4vLyAgICAgcG9zaXRpb246IHN0aWNreTtcbi8vICAgICB0b3A6IDA7XG4vLyAgICAgbGVmdDogMDtcbi8vICAgfVxuLy8gfVxuLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuLy8gICBib2R5OjpiZWZvcmUge1xuLy8gICAgIGNvbnRlbnQ6IFwic21cIjtcbi8vICAgICBwb3NpdGlvbjogc3RpY2t5O1xuLy8gICAgIHRvcDogMDtcbi8vICAgICBsZWZ0OiAwO1xuLy8gICB9XG4vLyB9XG4vLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4vLyAgIGJvZHk6OmJlZm9yZSB7XG4vLyAgICAgY29udGVudDogXCJtZFwiO1xuLy8gICAgIHBvc2l0aW9uOiBzdGlja3k7XG4vLyAgICAgdG9wOiAwO1xuLy8gICAgIGxlZnQ6IDA7XG4vLyAgIH1cbi8vIH1cbi8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbi8vICAgYm9keTo6YmVmb3JlIHtcbi8vICAgICBjb250ZW50OiBcImxnXCI7XG4vLyAgICAgcG9zaXRpb246IHN0aWNreTtcbi8vICAgICB0b3A6IDA7XG4vLyAgICAgbGVmdDogMDtcbi8vICAgfVxuLy8gfVxuXG4vLyovLyBIRUFERVIgLy8qLy9cblxuXG4jcG9ydGFsLWxhbmd1YWdlc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDVweCAwIDAgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6ICRzcGFjZXI7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG4jcG9ydGFsLWFub250b29scyB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIG1hcmdpbi1sZWZ0OiAkc3BhY2VyO1xuXG4gIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4jcG9ydGFsLW1lbWJlcnRvb2xzLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1sZWZ0OiAkc3BhY2VyICogMS41O1xuICBtYXJnaW4tcmlnaHQ6ICRzcGFjZXIgKiAwLjU7XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMCAwICRzcGFjZXIgJHNwYWNlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi8vKi8vIERvbid0IHNocmluayBzZWFyY2ggaW5wdXQgd2hlbiBuYXZpZ2F0aW9uIGhhcyBtYW55IGl0ZW1zXG4jcG9ydGFsLXNlYXJjaGJveCB7ZmxleC1zaHJpbms6IDA7fVxuXG4ubGl2ZXNlYXJjaC1yZXN1bHRzIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmF2LW1haW4tYnJlYWtwb2ludCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkemluZGV4LW9mZmNhbnZhcyArIDE7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMjhyZW07XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzPT10cnVlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6ICRoNS1mb250LXNpemU7XG4gIH1cblxuICAuY29sLmltZyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLnBhdC1saXZlc2VhcmNoLnNob3dfaW1hZ2VzKy5saXZlc2VhcmNoLXJlc3VsdHMge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYXYtbWFpbi1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IDM0cmVtO1xuICB9XG59IiwiLm5hdmJhciB7XG4gIC8vIEJhcmNlbG9uZXRhIHNwZWNpZmljIGNzcyB2YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXh9O1xuXG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1uYXZiYXItYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fWxpZ2h0KTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1iYWNrZ3JvdW5kOiAjeyRuYXZiYXItbGlnaHQtYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItYmFja2dyb3VuZDogI3skbmF2YmFyLWxpZ2h0LWhvdmVyLWJhY2tncm91bmR9O1xuICAvL1xuXG4gIC5vZmZjYW52YXMge1xuICAgIC8vIG9mZmNhbnZhcyBiYWNrZ3JvdW5kIHdpdGhpbiBuYXZpZ2F0aW9uIGlzIG5hdmJhciBiYWNrZ3JvdW5kXG4gICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJhY2tncm91bmQpO1xuICB9XG59XG5cbi5uYXZiYXItbmF2IHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG5cbiAgICAmLmluUGF0aD5hLFxuICAgICYuY3VycmVudD5hLFxuICAgICYuYWN0aXZlPmEsXG4gICAgJi5zZWxlY3RlZD5hIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWJhY2tncm91bmQpO1xuXG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmF2LW1haW4tYnJlYWtwb2ludCkge1xuXG4gICAgICAmLmhhc19zdWJ0cmVlOmhvdmVyPnVsLFxuICAgICAgJi5oYXNfc3VidHJlZSAuaGFzX3N1YnRyZWU6aG92ZXI+dWwge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2l0aW9uOiBlYXNlLWluIC4zNXM7XG4gICAgICB9XG5cbiAgICAgICYuaGFzX3N1YnRyZWUgLmhhc19zdWJ0cmVlIHVsIHtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGxlZnQ6IDBlbTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICB9XG5cbiAgICAgICYuaGFzX3N1YnRyZWUgLmhhc19zdWJ0cmVlOmhvdmVyPnVsIHtcbiAgICAgICAgLy8gd2Ugb25seSBzaGlmdCB0aGUgc3VibWVudXMgdG8gdGhlIHJpZ2h0IGlmIHZpc2libGVcbiAgICAgICAgLy8gdG8gcHJldmVudCBob3Jpem9udGFsIHNjcm9sbGVycyBpZiBub3QgbmVlZGVkXG4gICAgICAgIGxlZnQ6IDE2ZW07XG4gICAgICB9XG5cbiAgICAgICYuaGFzX3N1YnRyZWUgdWwgbGkge1xuICAgICAgICAvLyAybmQgbGV2ZWwgb3BlbmVycyBwb2ludGluZyBzaWRld2F5cyBvbiBkZXNrdG9wXG4gICAgICAgIC5vcGVuZXIrbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYuaGFzX3N1YnRyZWUgYS5uYXYtbGluayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjBlbTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItYmFja2dyb3VuZCk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBOYXZpZ2F0aW9uIHN1YmxldmVsc1xuICAgIHVsIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hdi1tYWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwZW07XG5cbiAgICAgIH1cblxuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hdi1tYWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICAgICAgICB0cmFuc2l0aW9uOiBlYXNlLW91dCAwLjc1cztcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJhY2tncm91bmQpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hdi1tYWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTZlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIC5vcGVuZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJitsYWJlbDphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBlYXNlLWluIDAuMzVzO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQrbGFiZWw6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogZWFzZS1pbiAwLjM1cztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYXYtbWFpbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJn51bCB7XG4gICAgICAgIHRyYW5zaXRpb246IGVhc2Utb3V0IDAuMzVzO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWR+dWwge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zaXRpb246IGVhc2UtaW4gMC4zNXM7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZH51bCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmF2LW1haW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwZW07XG4gICAgICB0b3A6IDBlbTtcbiAgICAgIGhlaWdodDogM2VtO1xuICAgICAgd2lkdGg6IDRlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmF2LW1haW4tYnJlYWtwb2ludCkge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgdmFyKC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgY29udGVudDogXCLilrxcIjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgcGFkZGluZzogMC4yNWVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hdi1tYWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi5uYXZiYXItZGFyayB7XG4gIC8vIERhcmsgc2NoZW1lIGhpZ2hsaWdodCBvdmVycmlkZXNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstaG92ZXItY29sb3J9O1xuXG4gIC0tI3skcHJlZml4fW5hdmJhci1iYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9ZGFyayk7XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtYmFja2dyb3VuZDogI3skbmF2YmFyLWRhcmstYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItYmFja2dyb3VuZDogI3skbmF2YmFyLWRhcmstaG92ZXItYmFja2dyb3VuZH07XG4gIC8vXG59XG5cbi5uYXZiYXItYmFyY2Vsb25ldGEge1xuICAvLyBCYXJjZWxvbmV0YSBzcGVjaWZpYyBoaWdobGlnaHQgb3ZlcnJpZGVzXG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWJhcmNlbG9uZXRhLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWJhcmNlbG9uZXRhLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWJhcmNlbG9uZXRhLWhvdmVyLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1uYXZiYXItYmFja2dyb3VuZDogI3skbmF2YmFyLWJhcmNlbG9uZXRhLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWJhY2tncm91bmQ6ICN7JG5hdmJhci1iYXJjZWxvbmV0YS1hY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1iYWNrZ3JvdW5kOiAjeyRuYXZiYXItYmFyY2Vsb25ldGEtaG92ZXItYmFja2dyb3VuZH07XG4gIC8vXG5cbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy14KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1iYWNrZ3JvdW5kKTtcbn1cbiIsIi8vKi8vIEJSRUFEQ1JVTUJTIC8vKi8vXG5cbiNwb3J0YWwtYnJlYWRjcnVtYnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcblxuICAuYnJlYWRjcnVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxufSIsIm1haW4ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbmgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG5hcnRpY2xlIHtcbiAgPmhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuXG4uYWxlcnQge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4jY29udGVudC1jb3JlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuI3NlY3Rpb24tYnlsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuI3NlY3Rpb24taW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4jc2VjdGlvbi1sZWFkaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4jc2VjdGlvbi1uZXh0LXByZXYge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4jc2VjdGlvbi1kb2N1bWVudC1hY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuI3NlY3Rpb24tcmlnaHRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuI3NlY3Rpb24tY29udHJpYnV0b3JzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gcGFkZGluZzogMXJlbTtcbiAgLy8gYmFja2dyb3VuZDogI2VlZTtcbn1cblxuI3NlY3Rpb24tcmVsYXRlZCB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG5cbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuXG4gIH1cblxuICAubWVkaWEge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cblxuI3NlY3Rpb24tY2F0ZWdvcnkge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4ubWV0YS1pY29uIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5ldmVudC1zdW1tYXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIDI7XG5cbiAgLm1ldGEtaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2VyICogLjU7XG4gICAgbWFyZ2luLXRvcDogLTAuMmVtO1xuICB9XG5cbiAgLm1ldGEtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgaGVhZGVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cblxufVxuXG4uc2VjdGlvbi1tYWluIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAyZW0gMWVtIDFlbSAxZW07XG5cbn1cblxuLnNlY3Rpb24tYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xufVxuIiwiLy8qLy8gUE9SVExFVFMgLy8qLy9cblxuLnBvcnRsZXQge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpZiAkZW5hYmxlLXNoYWRvd3M9PXRydWUge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJveC1zaGFkb3cpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIGJveC1zaGFkb3c6IE5vbmU7XG4gIH1cblxuXHQuY2FyZC1mb290ZXIge1xuICAgIC8vIEBpbmNsdWRlIGdyYWRpZW50LXkocmdiYSgwLCAwLCAwLCAuMDIpLCAkcGxvbmUtcG9ydGxldC1mb290ZXItYmcsIDAlLCA1MCUpO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgfVxuXG4gIC8vIC5mb3JtQ29udHJvbHMge1xuICAvLyAgIGJvcmRlcjogMDtcbiAgLy8gICBiYWNrZ3JvdW5kOiBub25lO1xuICAvLyAgIHBhZGRpbmc6IDA7XG4gIC8vICAgYm94LXNoYWRvdzogbm9uZTtcbiAgLy8gfVxufVxuXG4vLyAucG9ydGxldFNpdGVTZXR1cCxcbi5wb3J0bGV0UmVjZW50LFxuLnBvcnRsZXROYXZpZ2F0aW9uVHJlZSxcbi5wb3J0bGV0RXZlbnRzLFxuLnBvcnRsZXROZXdzLFxuLnBvcnRsZXRDb2xsZWN0aW9uLFxuLnBvcnRsZXRSc3Mge1xuICAuY2FyZC1ib2R5IHtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBpbWcge1xuICAgICAgLy8gJi5wdWxsLXJpZ2h0IHtcbiAgICAgIC8vICAgQGluY2x1ZGUgZmxvYXQtcmlnaHQ7XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgPnVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICA+bGkge1xuICAgICAgICBib3JkZXItdG9wOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGxvbmUtcG9ydGxldC1mb290ZXItYmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyovLyBOYXZpZ2F0aW9uXG4ucG9ydGxldE5hdmlnYXRpb25UcmVlIHtcbiAgLmNhcmQtYm9keSB7XG4gICAgdWwge1xuXHRcdFx0dWwge1xuXHRcdFx0ICBwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHR9XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqIC43NSAkc3BhY2VyO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbG9uZS1wb3J0bGV0LWZvb3Rlci1iZyk7XG4gICAgICAgICAgICBjb2xvcjogJHBsb25lLXBvcnRsZXQtbGlzdC1idWxsZXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcGxvbmUtcG9ydGxldC1saXN0LWJ1bGxldDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIuKfqVwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBib3JkZXItdG9wOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgID51bD5saT5hPmltZy5pbWFnZS1pY29uIHtcbiAgICAgIG1heC1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIH1cblxuICAgIC5uYXZUcmVlQ3VycmVudE5vZGU+YSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbG9uZS1wb3J0bGV0LWZvb3Rlci1iZyk7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS10ZXh0KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIuKfqVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbmF2dHJlZS1sZXZlbC1sb29wKCRwbG9uZS1wb3J0bGV0LW5hdnRyZWUtbWF4bGV2ZWwpO1xuICB9XG59XG5cbi8vKi8vIE1hbmFnZSBwb3J0bGV0c1xuLy8gSnVtcGxpc3QgZm9yIHF1aWNrIG5hdmlnYXRpb24gYWNyb3NzIHBvcnRsZXQgbWFuYWdlcnNcbi5zd2l0Y2gtcG9ydGxldC1tYW5hZ2VyIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vLyBBc3NpZ25lZCBwb3J0bGV0XG4ubWFuYWdlZFBvcnRsZXQge1xuXG4gIC8vIFBhcmVudHMsIGdyb3VwcyBhbmQgY29udGVudCB0eXBlcyBwb3J0bGV0IGFzc2lnbm1lbnRzXG4gIC8vICYuaW5oZXJpdGVkUG9ydGxldCB7XG4gIC8vICAgbWFyZ2luOiA1cHggMTVweDtcblxuICAvLyAgIC5wb3J0bGV0SGVhZGVyIHtcbiAgLy8gICAgIHBhZGRpbmc6IDNweCAxNXB4O1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIEJsb2NrZWQgaW5oZXJpdGVkIHBvcnRsZXQgYXNzaWdubWVudHNcbiAgJi5ibG9ja2VkUG9ydGxldCB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5cbi8vIEJ1dHRvbnMgZm9yIGhpZGUvc2hvdyBhbmQgcmVtb3ZlIGFzc2lnbmVkIHBvcnRsZXRcbi5tYW5hZ2VkUG9ydGxldEFjdGlvbnMge1xuXG4gIC8vIG1hcmdpbi10b3A6IC0kcGxvbmUtcGFkZGluZy1iYXNlLXZlcnRpY2FsO1xuICBmb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIExvb3AgZm9yIC5uYXZUcmVlTGV2ZWxcbkBtaXhpbiBuYXZ0cmVlLWxldmVsLWxvb3AoJG1heGxldmVsKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJG1heGxldmVsIHtcbiAgICB1bC5uYXZUcmVlTGV2ZWwjeyRpfT5saSBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNlciAqICgkaSArIDEpO1xuICAgIH1cbiAgfVxufSIsIiNwb3J0YWwtZm9vdGVyLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWJnO1xuICBjb2xvcjogJGZvb3Rlci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAkc3BhY2VyO1xuXG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmc6ICRzcGFjZXIgKiAuNTtcbiAgfVxuXG4gIC5jb2xvcGhvbiB7XG4gICAgcGFkZGluZzogJHNwYWNlciAqIC41O1xuICB9XG5cbiAgLnNpdGUtYWN0aW9ucyB7XG4gICAgcGFkZGluZzogJHNwYWNlciAqIC41O1xuXG4gICAgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbjogMCAkc3BhY2VyICogLjU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59IiwiQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjY29udGVudC1oZWFkZXIsXG4gICNlZGl0LXpvbmUsXG4gICNtYWlubmF2aWdhdGlvbi13cmFwcGVyLFxuICAjcG9ydGFsLWJyZWFkY3J1bWJzLFxuICAjcG9ydGFsLWZvb3Rlci13cmFwcGVyLFxuICAjcG9ydGFsLXBlcnNvbmFsdG9vbHMsXG4gICNwb3J0YWwtc2VhcmNoYm94LFxuICAubGluay1odHRwcyAuc2lkZWJhci1vZmZjYW52YXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3RyaW5nIFJlcGxhY2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSskcmVwbGFjZStzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgRmFjZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGZvbnQtZmFjZSgkbmFtZSwgJGxvY2FsOiBudWxsLCAkc3ZnLWlkOiBudWxsLCAkcGF0aDogbnVsbCwgJHdlaWdodDogbnVsbCwgJHN0eWxlOiBudWxsLCAkZXh0czogZW90IHdvZmYyIHdvZmYgdHRmKSB7XG4gICRzcmM6IG51bGw7XG5cbiAgJGV4dG1vZHM6IChcbiAgICBlb3Q6IFwiPyNpZWZpeFwiXG4gICk7XG5cbiAgJGZvcm1hdHM6IChcbiAgICBlb3Q6IFwiZW1iZWRkZWQtb3BlbnR5cGVcIixcbiAgICBvdGY6IFwib3BlbnR5cGVcIixcbiAgICB0dGY6IFwidHJ1ZXR5cGVcIlxuICApO1xuXG4gIEBlYWNoICRleHQgaW4gJGV4dHMge1xuICAgICRleHRtb2Q6IGlmKG1hcC1oYXMta2V5KCRleHRtb2RzLCAkZXh0KSwgJGV4dCArIG1hcC1nZXQoJGV4dG1vZHMsICRleHQpLCAkZXh0KTtcbiAgICAkZm9ybWF0OiBpZihtYXAtaGFzLWtleSgkZm9ybWF0cywgJGV4dCksIG1hcC1nZXQoJGZvcm1hdHMsICRleHQpLCAkZXh0KTtcbiAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKHF1b3RlKCRwYXRoICsgXCIuXCIgKyAkZXh0bW9kKSkgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKSwgY29tbWEpO1xuICB9XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcbiAgICBzcmM6IHVybChxdW90ZSgkcGF0aCArIFwiLmVvdFwiKSk7XG4gICAgc3JjOiBsb2NhbChxdW90ZSgkbG9jYWwpKSwgJHNyYztcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB9XG59XG4iLCJAaWYgJGVuYWJsZS1yb2JvdG8td2ViZm9udCB7XG5cbiAgLy8qLy8gV0VCRk9OVFMgLy8qLy9cbiAgJHJvYm90by1iYXNlLXBhdGg6IFwiLi4vcm9ib3RvL1wiICFkZWZhdWx0O1xuXG4gIC8vIDMwMCBMaWdodFxuICBAaW5jbHVkZSBmb250LWZhY2UoJG5hbWU6IFwiUm9ib3RvXCIsXG4gICAgJGxvY2FsOiBcIlJvYm90byBMaWdodFwiLFxuICAgICRzdmctaWQ6IFwicm9ib3RvbGlnaHRcIixcbiAgICAkcGF0aDogJHJvYm90by1iYXNlLXBhdGggKyBcInJvYm90by1saWdodFwiLFxuICAgICR3ZWlnaHQ6IDMwMCxcbiAgICAkc3R5bGU6IG5vcm1hbCk7XG5cbiAgLy8gMzAwIExpZ2h0IEl0YWxpY1xuICBAaW5jbHVkZSBmb250LWZhY2UoJG5hbWU6IFwiUm9ib3RvXCIsXG4gICAgJGxvY2FsOiBcIlJvYm90byBMaWdodCBJdGFsaWNcIixcbiAgICAkc3ZnLWlkOiBcInJvYm90b2xpZ2h0X2l0ZmFsc2VcIixcbiAgICAkcGF0aDogJHJvYm90by1iYXNlLXBhdGggKyBcInJvYm90by1saWdodGl0YWxpY1wiLFxuICAgICR3ZWlnaHQ6IDMwMCxcbiAgICAkc3R5bGU6IGl0YWxpYyk7XG5cbiAgLy8gNDAwIFJlZ3VsYXJcbiAgQGluY2x1ZGUgZm9udC1mYWNlKCRuYW1lOiBcIlJvYm90b1wiLFxuICAgICRsb2NhbDogXCJSb2JvdG8gUmVndWxhclwiLFxuICAgICRzdmctaWQ6IFwicm9ib3RvcmVndWxhclwiLFxuICAgICRwYXRoOiAkcm9ib3RvLWJhc2UtcGF0aCArIFwicm9ib3RvLXJlZ3VsYXJcIixcbiAgICAkd2VpZ2h0OiA0MDAsXG4gICAgJHN0eWxlOiBub3JtYWwpO1xuXG4gIC8vIDQwMCBJdGFsaWNcbiAgQGluY2x1ZGUgZm9udC1mYWNlKCRuYW1lOiBcIlJvYm90b1wiLFxuICAgICRsb2NhbDogXCJSb2JvdG8gSXRhbGljXCIsXG4gICAgJHN2Zy1pZDogXCJyb2JvdG9pdGFsaWNcIixcbiAgICAkcGF0aDogJHJvYm90by1iYXNlLXBhdGggKyBcInJvYm90by1pdGFsaWNcIixcbiAgICAkd2VpZ2h0OiA0MDAsXG4gICAgJHN0eWxlOiBpdGFsaWMpO1xuXG4gIC8vIDUwMCBNZWRpdW1cbiAgQGluY2x1ZGUgZm9udC1mYWNlKCRuYW1lOiBcIlJvYm90b1wiLFxuICAgICRsb2NhbDogXCJSb2JvdG8gTWVkaXVtXCIsXG4gICAgJHN2Zy1pZDogXCJyb2JvdG9tZWRpdW1cIixcbiAgICAkcGF0aDogJHJvYm90by1iYXNlLXBhdGggKyBcInJvYm90by1tZWRpdW1cIixcbiAgICAkd2VpZ2h0OiA1MDAsXG4gICAgJHN0eWxlOiBub3JtYWwpO1xuXG4gIC8vIDUwMCBNZWRpdW0gSXRhbGljXG4gIEBpbmNsdWRlIGZvbnQtZmFjZSgkbmFtZTogXCJSb2JvdG9cIixcbiAgICAkbG9jYWw6IFwiUm9ib3RvIE1lZGl1bSBJdGFsaWNcIixcbiAgICAkc3ZnLWlkOiBcInJvYm90b21lZGl1bV9pdGFsaWNcIixcbiAgICAkcGF0aDogJHJvYm90by1iYXNlLXBhdGggKyBcInJvYm90by1tZWRpdW1pdGFsaWNcIixcbiAgICAkd2VpZ2h0OiA1MDAsXG4gICAgJHN0eWxlOiBpdGFsaWMpO1xuXG4gIC8vIDcwMCBCb2xkXG4gIEBpbmNsdWRlIGZvbnQtZmFjZSgkbmFtZTogXCJSb2JvdG9cIixcbiAgICAkbG9jYWw6IFwiUm9ib3RvIEJvbGRcIixcbiAgICAkc3ZnLWlkOiBcInJvYm90b2JvbGRcIixcbiAgICAkcGF0aDogJHJvYm90by1iYXNlLXBhdGggKyBcInJvYm90by1ib2xkXCIsXG4gICAgJHdlaWdodDogNzAwLFxuICAgICRzdHlsZTogbm9ybWFsKTtcblxuICAvLyA3MDAgQm9sZCBJdGFsaWNcbiAgQGluY2x1ZGUgZm9udC1mYWNlKCRuYW1lOiBcIlJvYm90b1wiLFxuICAgICRsb2NhbDogXCJSb2JvdG8gQm9sZCBJdGFsaWNcIixcbiAgICAkc3ZnLWlkOiBcInJvYm90b2JvbGRfaXRhbGljXCIsXG4gICAgJHBhdGg6ICRyb2JvdG8tYmFzZS1wYXRoICsgXCJyb2JvdG8tYm9sZGl0YWxpY1wiLFxuICAgICR3ZWlnaHQ6IDcwMCxcbiAgICAkc3R5bGU6IGl0YWxpYyk7XG5cbiAgLy8gMzAwIExpZ2h0IENvbmRlbnNlZCAodG9vbGJhcilcbiAgQGluY2x1ZGUgZm9udC1mYWNlKCRuYW1lOiBcIlJvYm90byBDb25kZW5zZWRcIixcbiAgICAkbG9jYWw6IFwiUm9ib3RvIENvbmRlbnNlZCBMaWdodFwiLFxuICAgICRzdmctaWQ6IFwicm9ib3RvX2NvbmRlbnNlZGxpZ2h0XCIsXG4gICAgJHBhdGg6ICRyb2JvdG8tYmFzZS1wYXRoICsgXCJyb2JvdG9jb25kZW5zZWQtbGlnaHRcIixcbiAgICAkd2VpZ2h0OiAzMDAsXG4gICAgJHN0eWxlOiBub3JtYWwpO1xuXG4gIC8vIDMwMCBMaWdodCBDb25kZW5zZWQgSXRhbGljICh0b29sYmFyKVxuICBAaW5jbHVkZSBmb250LWZhY2UoJG5hbWU6IFwiUm9ib3RvIENvbmRlbnNlZFwiLFxuICAgICRsb2NhbDogXCJSb2JvdG8gQ29uZGVuc2VkIFRoaW4gSXRhbGljXCIsXG4gICAgJHN2Zy1pZDogXCJyb2JvdG9fY29uZGVuc2VkbGlnaHRfaXRhbGljXCIsXG4gICAgJHBhdGg6ICRyb2JvdG8tYmFzZS1wYXRoICsgXCJyb2JvdG9jb25kZW5zZWQtbGlnaHRpdGFsaWNcIixcbiAgICAkd2VpZ2h0OiAzMDAsXG4gICAgJHN0eWxlOiBpdGFsaWMpO1xuXG59IiwiLnBhdC1kaXNjdXNzaW9uLFxuLmRpc2N1c3Npb24ge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGZvbnQtc2l6ZTogODUlOyBcblxuICAgIHAgeyBtYXJnaW4tYm90dG9tOiAwLjVlbX1cblxuICAgIGxhYmVsIHttYXJnaW4tYm90dG9tOiAwLjVlbX1cblxuICAgIC5mb3JtQ29udHJvbHMge21hcmdpbi10b3A6IDB9XG4gIFxuICAgIC5jb21tZW50IHtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICBcbiAgICAgIC5jb21tZW50LWltYWdlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAuYWN0aW9ucy13b3JrZmxvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgIH1cbiAgXG4gICAgICAuY29tbWVudC1hY3Rpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICAgICAgfVxuICBcbiAgICB9XG4gIFxuICAgIC5sZXZlbC0xIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgfVxuICBcbiAgICAubGV2ZWwtMiB7XG4gICAgICBtYXJnaW4tbGVmdDogMmVtO1xuICAgIH1cbiAgXG4gICAgLmxldmVsLTMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDNlbTtcbiAgICB9XG4gIFxuICAgIC5sZXZlbC00IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0ZW07XG4gICAgfVxuICBcbiAgICAubGV2ZWwtNSB7XG4gICAgICBtYXJnaW4tbGVmdDogNWVtO1xuICAgIH1cbiAgXG4gICAgLmxldmVsLTYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDZlbTtcbiAgICB9XG4gIFxuICAgIC5sZXZlbC03IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3ZW07XG4gICAgfVxuICBcbiAgICAubGV2ZWwtOCB7XG4gICAgICBtYXJnaW4tbGVmdDogOGVtO1xuICAgIH1cbiAgXG4gICAgLmxldmVsLTkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDllbTtcbiAgICB9XG4gIFxuICAgIC5sZXZlbC0xMCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBlbTtcbiAgICB9XG4gIFxuICB9IiwiLmZsZXgge2Rpc3BsYXk6IGZsZXg7ICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO31cblxuaDIge1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAzcHggI2Y1NmE2YTtcblx0bWFyZ2luOiAwIDAgMmVtIDA7XG5cdHBhZGRpbmc6IDAgMC43NWVtIDAuNWVtIDA7IFxufVxuXG5cblxuLmZvcm11bmxvYWRhbGVydCB7XG5cdGJhY2tncm91bmQ6IHJlZCAhaW1wb3J0YW50O1xufVxuICBcbiBcblxub3B0aW9uW3ZhbHVlPXBsb25lLWxpbmtdLFxuLnBsb25lLWxpbmsgeyBjb2xvcjogJHBsb25lLWxpbmstY29sb3IgIWltcG9ydGFudH1cblxub3B0aW9uW3ZhbHVlPXBsb25lLWxpbmstMl0sXG4ucGxvbmUtbGluay0yIHsgY29sb3I6ICRwbG9uZS1saW5rLXNlY29uZGFyeSAhaW1wb3J0YW50fVxuXG5vcHRpb25bdmFsdWU9cGxvbmUtbGluay0zXSxcbi5wbG9uZS1saW5rLTMgeyBjb2xvcjogJHBsb25lLWxpbmstdGVydGlhcnkgIWltcG9ydGFudCB9XG5cbm9wdGlvblt2YWx1ZT1wbG9uZS1saW5rLW9wcG9zaXRlXSxcbi5wbG9uZS1saW5rLW9wcG9zaXRlIHsgY29sb3I6ICRwbG9uZS1saW5rLW9wcG9zaXRlICAhaW1wb3J0YW50fVxuXG5vcHRpb25bdmFsdWU9cGxvbmUtYmFja2dyb3VuZF0sXG4ucGxvbmUtYmFja2dyb3VuZCB7IGJhY2tncm91bmQ6ICRwbG9uZS1saW5rLWNvbG9yICAhaW1wb3J0YW50fVxuXG5vcHRpb25bdmFsdWU9cGxvbmUtYmFja2dyb3VuZC0yXSxcbi5wbG9uZS1iYWNrZ3JvdW5kLTIgeyBiYWNrZ3JvdW5kOiAkcGxvbmUtbGluay1zZWNvbmRhcnkgICFpbXBvcnRhbnR9XG5cbm9wdGlvblt2YWx1ZT1wbG9uZS1iYWNrZ3JvdW5kLTNdLFxuLnBsb25lLWJhY2tncm91bmQtMyB7IGJhY2tncm91bmQ6ICRwbG9uZS1saW5rLXRlcnRpYXJ5ICAhaW1wb3J0YW50fVxuXG5vcHRpb25bdmFsdWU9cGxvbmUtYmFja2dyb3VuZC1vcHBvc2l0ZV0sXG4ucGxvbmUtYmFja2dyb3VuZC1vcHBvc2l0ZSB7IGJhY2tncm91bmQ6ICRwbG9uZS1saW5rLW9wcG9zaXRlICAhaW1wb3J0YW50fVxuXG5cbi5ibGFjay1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAgIWltcG9ydGFudH1cbi53aGl0ZS1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRiAgIWltcG9ydGFudH1cbm9wdGlvblt2YWx1ZT1ncmV5LWJhY2tncm91bmRdLCAuZ3JleS1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogI0RERCAgIWltcG9ydGFudH1cblxuLmJsYWNrIHsgY29sb3I6ICMwMDAgICFpbXBvcnRhbnR9XG4ud2hpdGUgeyBjb2xvcjogI0ZGRiAgIWltcG9ydGFudH1cbi5ncmV5IHsgY29sb3I6ICNEREQgICFpbXBvcnRhbnR9XG5cbjpyb290IHtcbiAgLS1wbG9uZS1saW5rLWNvbG9yIDogJHBsb25lLWxpbmstY29sb3IgO1xufVxuXG46cm9vdCB7XG4gIC0tcGxvbmUtbGluay1zZWNvbmRhcnkgOiAkcGxvbmUtbGluay1zZWNvbmRhcnkgO1xufVxuXG46cm9vdCB7XG5cdC0tc2Vjb25kYXJ5IDogJHBsb25lLWxpbmstc2Vjb25kYXJ5IDtcbn1cblxuICBcbjpyb290IHtcbiAgLS1wbG9uZS1saW5rLXRlcnRpYXJ5IDogJHBsb25lLWxpbmstdGVydGlhcnkgO1xufVxuXG5cbjpyb290IHtcbiAgLS1wbG9uZS1saW5rLW9wcG9zaXRlIDogJHBsb25lLWxpbmstb3Bwb3NpdGUgO1xufVxuXG5cbi8vICBlbmRcblxuXG4ub25seS1tb2JpbGUsXG5kaXYub25seS1tb2JpbGUgIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mbGV4LWJldHdlZW4ge1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5mbGV4LXN0cmV0Y2gge1xuXHQgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5mdWxsLXdpZHRoIHtcblx0d2lkdGg6IDEwMCVcbn1cblxuLnpvb20gIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLnpvb206aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG4uY2VudGVyLXRleHQge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZXJpZiB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XG59XG5cbi5zYW5zLXNlcmlmIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xufVxuXG4uY29uZGVuc2VkIHtcblx0Zm9udC1mYW1pbHk6ICAkZm9udC1mYW1pbHktY29uZGVuc2VkO1xufVxuXG4ucGFkZGluZy0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTAtMTAge1xuICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0wLTIwIHtcbiAgICBwYWRkaW5nOiAwIDIwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMTAge1xuXHRwYWRkaW5nOiAgMTBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0xNSB7XG5cdHBhZGRpbmc6ICAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTEwLTAge1xuXHRwYWRkaW5nOiAgMTBweCAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTIwIHtcblx0cGFkZGluZzogIDIwcHggIWltcG9ydGFudDtcbn1cbmRpdi5wYWRkaW5nLTIwLTAge1xuXHRwYWRkaW5nOiAgMjBweCAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTMwIHtcblx0cGFkZGluZzogIDMwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctNDAge1xuXHRwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tNDAtMCB7XG5cdG1hcmdpbjogNDBweCAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMCB7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTIwLTAge1xuXHRtYXJnaW46IDIwcHggMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTAtLTE1IHtcblx0bWFyZ2luOiAwIC0xNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5sYXJnZS10ZXh0IHtcblx0Zm9udC1zaXplOjI0cHg7XG59XG5cbi5ub3JtYWwge1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYm9sZCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubGluZS1mZWVkLTEge1xuXHRsaW5lLWhlaWdodDogMTIwJTtcbn1cblxuLm1hcmdpbi0xMHtcblx0bWFyZ2luOiAgMTBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTEwLTAge1xuXHRtYXJnaW46IDEwcHggMCAhaW1wb3J0YW50O1xufVxuXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuaW1nLmltZy1yZXNwb25zaXZlIHtcbiAgbWFyZ2luLWxlZnQ6MDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmZsZXgtYmV0d2VlbiB7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZsZXgtc3RyZXRjaCB7XG5cdCBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmhhbGYge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR3aWR0aDogNTAlO1xuXHRtaW4td2lkdGg6IDYwMHB4O1xufVxuXG4uaGFsZiAuaGFsZntcblx0bWluLXdpZHRoOiAzMDBweDtcbn1cblxuLmhhbGYtaGVpZ2h0IHtcblx0aGVpZ2h0OiA1MCU7XG5cdG1pbi13aWR0aDogMzAwcHg7XG59XG5cbi5mdWxsLXdpZHRoIHtcblx0d2lkdGg6IDEwMCVcbn1cblxuLyogQGVuZCAqL1xuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OHB4KXtcblxuXG4gIC5mdWxsd2lkdGgge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5cdGRpdi5mbGV4IHtcbiAgXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0fVxuXG5cblx0Lm5vLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTpub25lO1xuXHR9XG5cblx0IC5vbmx5LW1vYmlsZSxcbiAgIGRpdi5vbmx5LW1vYmlsZSB7XG5cdFx0ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KXtcblxuICAgIGRpdi5mbGV4IHtcblx0ICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAubm8tbW9iaWxlIHtcblx0XHQgICAgZGlzcGxheTpub25lO1xuICAgIH1cbn1cblxuIFxuXG5cblxuICIsIiNmb3JtLXdpZGdldHMtSU1lZGlhbG9nRHV0Y2htYW5UaGVtZVNldHRpbmdzLWV4dHJhX2NzcyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMGVtOyB9XG5cbi8vIC5wbG9uZS10b29sYmFyLWxlZnQgI2VkaXQtem9uZS5wYXQtdG9vbGJhciB7ei1pbmRleDogMjB9XG5cbiN2aWV3bGV0LWJlbG93LWNvbnRlbnQge1xuICAgIEBleHRlbmQgLmNvbnRhaW5lcjtcbn1cbi50ZW1wbGF0ZS1lZGl0IC5sYWJlbCB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG50YWJsZS5ncmlkIHRib2R5IHRyIHRkIHtcbiAgcGFkZGluZzogNHB4IDEwcHhcbn1cbiBcblxuLy8gLmNhcmQge1xuLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gZGlzcGxheTogLW1zLWZsZXhib3g7XG4vLyBkaXNwbGF5OiBmbGV4O1xuLy8gLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4vLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuLy8gbWluLXdpZHRoOiAwO1xuLy8gd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8gYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbi8vIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbi8vIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuLy8gYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbi8vIH1cblxuLy8gLmNhcmQtYmxvY2sgIHtcbi8vIFx0cGFkZGluZzogMXJlbTtcbi8vIH1cblxuXG5cbi8vIC8qIEBncm91cCBzdHlsZSAqL1xuXG4vLyAjcG9ydGFsLWdsb2JhbG5hdi13cmFwcGVyIHtcbi8vIFx0ei1pbmRleDogMTBcbi8vIH1cblxuLyogZml4IGZvciBtb3NhaWMgcGFkZGluZyBhbmQgbWFyZ2luIG9uIGZsdWlkIHJvd3MgKi9cbiNjb250ZW50IGRpdi5tb3NhaWMtZ3JpZC1yb3cubW9zYWljLWdyaWQtcm93LWZsdWlkIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luLWxlZnQ6IC0zMHB4O1xuXHRtYXJnaW4tcmlnaHQ6IC0zMHB4O1xufVxuXG4uaGlkZGVuX3BpY3R1cmUgIHtcbiBsaW5lLWhlaWdodDogMXB4O1xufVxuXG4ub25seS1tb2JpbGUsXG5kaXYub25seS1tb2JpbGUgIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mbGV4LWJldHdlZW4ge1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5mbGV4LXN0cmV0Y2gge1xuXHQgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5mdWxsLXdpZHRoIHtcblx0d2lkdGg6IDEwMCVcbn1cblxuLnpvb20gIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLnpvb206aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG4uY2VudGVyLXRleHQge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZXJpZiB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XG59XG5cbi5zYW5zLXNlcmlmIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xufVxuXG4uY29uZGVuc2VkIHtcblx0Zm9udC1mYW1pbHk6ICAkZm9udC1mYW1pbHktY29uZGVuc2VkO1xufVxuXG4ucGFkZGluZy0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTAtMTAge1xuICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0wLTIwIHtcbiAgICBwYWRkaW5nOiAwIDIwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMTAge1xuXHRwYWRkaW5nOiAgMTBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0xNSB7XG5cdHBhZGRpbmc6ICAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTEwLTAge1xuXHRwYWRkaW5nOiAgMTBweCAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTIwIHtcblx0cGFkZGluZzogIDIwcHggIWltcG9ydGFudDtcbn1cbmRpdi5wYWRkaW5nLTIwLTAge1xuXHRwYWRkaW5nOiAgMjBweCAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTMwIHtcblx0cGFkZGluZzogIDMwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctNDAge1xuXHRwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tNDAtMCB7XG5cdG1hcmdpbjogNDBweCAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMCB7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTIwLTAge1xuXHRtYXJnaW46IDIwcHggMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTAtLTE1IHtcblx0bWFyZ2luOiAwIC0xNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5sYXJnZS10ZXh0IHtcblx0Zm9udC1zaXplOjI0cHg7XG59XG5cbi5ub3JtYWwge1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYm9sZCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubGluZS1mZWVkLTEge1xuXHRsaW5lLWhlaWdodDogMTIwJTtcbn1cblxuLm1hcmdpbi0xMHtcblx0bWFyZ2luOiAgMTBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTEwLTAge1xuXHRtYXJnaW46IDEwcHggMCAhaW1wb3J0YW50O1xufVxuXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuaW1nLmltZy1yZXNwb25zaXZlIHtcbiAgbWFyZ2luLWxlZnQ6MDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmZsZXgtYmV0d2VlbiB7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZsZXgtc3RyZXRjaCB7XG5cdCBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmhhbGYge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR3aWR0aDogNTAlO1xuXHRtaW4td2lkdGg6IDYwMHB4O1xufVxuXG4uaGFsZiAuaGFsZntcblx0bWluLXdpZHRoOiAzMDBweDtcbn1cblxuLmhhbGYtaGVpZ2h0IHtcblx0aGVpZ2h0OiA1MCU7XG5cdG1pbi13aWR0aDogMzAwcHg7XG59XG5cbi5mdWxsLXdpZHRoIHtcblx0d2lkdGg6IDEwMCVcbn1cblxuLyogQGVuZCAqL1xuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OHB4KXtcblxuXG4gIC5mdWxsd2lkdGgge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5cdGRpdi5mbGV4IHtcbiAgXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0fVxuXG5cblx0Lm5vLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTpub25lO1xuXHR9XG5cblx0IC5vbmx5LW1vYmlsZSxcbiAgIGRpdi5vbmx5LW1vYmlsZSB7XG5cdFx0ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KXtcblxuICAgIGRpdi5mbGV4IHtcblx0ICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAubm8tbW9iaWxlIHtcblx0XHQgICAgZGlzcGxheTpub25lO1xuICAgIH1cbn1cblxuIFxuIiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vLyBSZXNldC5cclxuLy8gQmFzZWQgb24gbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0ICh2Mi4wIHwgMjAxMTAxMjYgfCBMaWNlbnNlOiBwdWJsaWMgZG9tYWluKVxyXG5cclxuXHRodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LFxyXG5cdGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSxcclxuXHRwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSxcclxuXHRjb2RlLCBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXHJcblx0c21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwgYixcclxuXHR1LCBpLCBjZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LFxyXG5cdGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSxcclxuXHR0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLFxyXG5cdGNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbixcclxuXHRmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSxcclxuXHRzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdGZvbnQtc2l6ZTogMTAwJTtcclxuXHRcdGZvbnQ6IGluaGVyaXQ7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcblx0fVxyXG5cclxuXHRhcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxyXG5cdGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdGJvZHkge1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0fVxyXG5cclxuXHRvbCwgdWwge1xyXG5cdFx0bGlzdC1zdHlsZTpub25lO1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSxcdHEge1xyXG5cdFx0cXVvdGVzOiBub25lO1xyXG5cclxuXHRcdCY6YmVmb3JlLFxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRjb250ZW50OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dGFibGUge1xyXG5cdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuXHRcdGJvcmRlci1zcGFjaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0Ym9keSB7XHJcblx0XHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRtYXJrIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0fVxyXG5cclxuXHRpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0aW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xyXG5cdFx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0LW1zLWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0XHRhcHBlYXJhbmNlOiBub25lO1xyXG5cdH0iLCIvLy9cclxuLy8vIEVkaXRvcmlhbCBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEJhc2ljICovXHJcblxyXG5cdC8vIE1TSUU6IFJlcXVpcmVkIGZvciBJRU1vYmlsZS5cclxuXHRcdEAtbXMtdmlld3BvcnQge1xyXG5cdFx0XHR3aWR0aDogZGV2aWNlLXdpZHRoO1xyXG5cdFx0fVxyXG5cclxuXHQvLyBNU0lFOiBQcmV2ZW50cyBzY3JvbGxiYXIgZnJvbSBvdmVybGFwcGluZyBjb250ZW50LlxyXG5cdFx0Ym9keSB7XHJcblx0XHRcdC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xyXG5cdFx0fVxyXG5cclxuXHQvLyBFbnN1cmVzIHBhZ2Ugd2lkdGggaXMgYWx3YXlzID49MzIwcHguXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXhzbWFsbCcpIHtcclxuXHRcdFx0aHRtbCwgYm9keSB7XHJcblx0XHRcdFx0bWluLXdpZHRoOiAzMjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHQvLyBTZXQgYm94IG1vZGVsIHRvIGJvcmRlci1ib3guXHJcblx0Ly8gQmFzZWQgb24gY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlXHJcblx0XHRodG1sIHtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdH1cclxuXHJcblx0XHQqLCAqOmJlZm9yZSwgKjphZnRlciB7XHJcblx0XHRcdGJveC1zaXppbmc6IGluaGVyaXQ7XHJcblx0XHR9XHJcblxyXG5cdGJvZHkge1xyXG5cdFx0YmFja2dyb3VuZDogX3BhbGV0dGUoYmcpO1xyXG5cclxuXHRcdC8vIFN0b3BzIGluaXRpYWwgYW5pbWF0aW9ucyB1bnRpbCBwYWdlIGxvYWRzIG9yIHN0b3BzIHJlc2l6aW5nLlxyXG5cdFx0XHQmLmlzLXByZWxvYWQsXHJcblx0XHRcdCYuaXMtcmVzaXppbmcge1xyXG5cdFx0XHRcdCosICo6YmVmb3JlLCAqOmFmdGVyIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHZlbmRvcignYW5pbWF0aW9uJywgJ25vbmUgIWltcG9ydGFudCcpO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgJ25vbmUgIWltcG9ydGFudCcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHR9IiwiLy8gYnJlYWtwb2ludHMuc2NzcyB2MS4wIHwgQGFqbGtuIHwgTUlUIGxpY2Vuc2VkICovXG5cbi8vIFZhcnMuXG5cblx0Ly8vIEJyZWFrcG9pbnRzLlxuXHQvLy8gQHZhciB7bGlzdH1cblx0JGJyZWFrcG9pbnRzOiAoKSAhZ2xvYmFsO1xuXG4vLyBNaXhpbnMuXG5cblx0Ly8vIFNldHMgYnJlYWtwb2ludHMuXG5cdC8vLyBAcGFyYW0ge21hcH0gJHggQnJlYWtwb2ludHMuXG5cdEBtaXhpbiBicmVha3BvaW50cygkeDogKCkpIHtcblx0XHQkYnJlYWtwb2ludHM6ICR4ICFnbG9iYWw7XG5cdH1cblxuXHQvLy8gV3JhcHMgQGNvbnRlbnQgaW4gYSBAbWVkaWEgYmxvY2sgdGFyZ2V0aW5nIGEgc3BlY2lmaWMgb3JpZW50YXRpb24uXG5cdC8vLyBAcGFyYW0ge3N0cmluZ30gJG9yaWVudGF0aW9uIE9yaWVudGF0aW9uLlxuXHRAbWl4aW4gb3JpZW50YXRpb24oJG9yaWVudGF0aW9uKSB7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiAjeyRvcmllbnRhdGlvbn0pIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxuXG5cdC8vLyBXcmFwcyBAY29udGVudCBpbiBhIEBtZWRpYSBibG9jayB1c2luZyBhIGdpdmVuIHF1ZXJ5LlxuXHQvLy8gQHBhcmFtIHtzdHJpbmd9ICRxdWVyeSBRdWVyeS5cblx0QG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5OiBudWxsKSB7XG5cblx0XHQkYnJlYWtwb2ludDogbnVsbDtcblx0XHQkb3A6IG51bGw7XG5cdFx0JG1lZGlhOiBudWxsO1xuXG5cdFx0Ly8gRGV0ZXJtaW5lIG9wZXJhdG9yLCBicmVha3BvaW50LlxuXG5cdFx0XHQvLyBHcmVhdGVyIHRoYW4gb3IgZXF1YWwuXG5cdFx0XHRcdEBpZiAoc3RyLXNsaWNlKCRxdWVyeSwgMCwgMikgPT0gJz49Jykge1xuXG5cdFx0XHRcdFx0JG9wOiAnZ3RlJztcblx0XHRcdFx0XHQkYnJlYWtwb2ludDogc3RyLXNsaWNlKCRxdWVyeSwgMyk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHQvLyBMZXNzIHRoYW4gb3IgZXF1YWwuXG5cdFx0XHRcdEBlbHNlaWYgKHN0ci1zbGljZSgkcXVlcnksIDAsIDIpID09ICc8PScpIHtcblxuXHRcdFx0XHRcdCRvcDogJ2x0ZSc7XG5cdFx0XHRcdFx0JGJyZWFrcG9pbnQ6IHN0ci1zbGljZSgkcXVlcnksIDMpO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0Ly8gR3JlYXRlciB0aGFuLlxuXHRcdFx0XHRAZWxzZWlmIChzdHItc2xpY2UoJHF1ZXJ5LCAwLCAxKSA9PSAnPicpIHtcblxuXHRcdFx0XHRcdCRvcDogJ2d0Jztcblx0XHRcdFx0XHQkYnJlYWtwb2ludDogc3RyLXNsaWNlKCRxdWVyeSwgMik7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHQvLyBMZXNzIHRoYW4uXG5cdFx0XHRcdEBlbHNlaWYgKHN0ci1zbGljZSgkcXVlcnksIDAsIDEpID09ICc8Jykge1xuXG5cdFx0XHRcdFx0JG9wOiAnbHQnO1xuXHRcdFx0XHRcdCRicmVha3BvaW50OiBzdHItc2xpY2UoJHF1ZXJ5LCAyKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdC8vIE5vdC5cblx0XHRcdFx0QGVsc2VpZiAoc3RyLXNsaWNlKCRxdWVyeSwgMCwgMSkgPT0gJyEnKSB7XG5cblx0XHRcdFx0XHQkb3A6ICdub3QnO1xuXHRcdFx0XHRcdCRicmVha3BvaW50OiBzdHItc2xpY2UoJHF1ZXJ5LCAyKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdC8vIEVxdWFsLlxuXHRcdFx0XHRAZWxzZSB7XG5cblx0XHRcdFx0XHQkb3A6ICdlcSc7XG5cdFx0XHRcdFx0JGJyZWFrcG9pbnQ6ICRxdWVyeTtcblxuXHRcdFx0XHR9XG5cblx0XHQvLyBCdWlsZCBtZWRpYS5cblx0XHRcdEBpZiAoJGJyZWFrcG9pbnQgYW5kIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpKSB7XG5cblx0XHRcdFx0JGE6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG5cblx0XHRcdFx0Ly8gUmFuZ2UuXG5cdFx0XHRcdFx0QGlmICh0eXBlLW9mKCRhKSA9PSAnbGlzdCcpIHtcblxuXHRcdFx0XHRcdFx0JHg6IG50aCgkYSwgMSk7XG5cdFx0XHRcdFx0XHQkeTogbnRoKCRhLCAyKTtcblxuXHRcdFx0XHRcdFx0Ly8gTWF4IG9ubHkuXG5cdFx0XHRcdFx0XHRcdEBpZiAoJHggPT0gbnVsbCkge1xuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gR3JlYXRlciB0aGFuIG9yIGVxdWFsICg+PSAwIC8gYW55dGhpbmcpXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKCRvcCA9PSAnZ3RlJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4nO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gTGVzcyB0aGFuIG9yIGVxdWFsICg8PSB5KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2VpZiAoJG9wID09ICdsdGUnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRtZWRpYTogJ3NjcmVlbiBhbmQgKG1heC13aWR0aDogJyArICR5ICsgJyknO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gR3JlYXRlciB0aGFuICg+IHkpXG5cdFx0XHRcdFx0XHRcdFx0XHRAZWxzZWlmICgkb3AgPT0gJ2d0Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAoJHkgKyAxKSArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIExlc3MgdGhhbiAoPCAwIC8gaW52YWxpZClcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbHQnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRtZWRpYTogJ3NjcmVlbiBhbmQgKG1heC13aWR0aDogLTFweCknO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gTm90ICg+IHkpXG5cdFx0XHRcdFx0XHRcdFx0XHRAZWxzZWlmICgkb3AgPT0gJ25vdCcpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiAnICsgKCR5ICsgMSkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBFcXVhbCAoPD0geSlcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAnICsgJHkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyBNaW4gb25seS5cblx0XHRcdFx0XHRcdFx0QGVsc2UgaWYgKCR5ID09IG51bGwpIHtcblxuXHRcdFx0XHRcdFx0XHRcdC8vIEdyZWF0ZXIgdGhhbiBvciBlcXVhbCAoPj0geClcblx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoJG9wID09ICdndGUnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRtZWRpYTogJ3NjcmVlbiBhbmQgKG1pbi13aWR0aDogJyArICR4ICsgJyknO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gTGVzcyB0aGFuIG9yIGVxdWFsICg8PSBpbmYgLyBhbnl0aGluZylcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbHRlJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4nO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gR3JlYXRlciB0aGFuICg+IGluZiAvIGludmFsaWQpXG5cdFx0XHRcdFx0XHRcdFx0XHRAZWxzZWlmICgkb3AgPT0gJ2d0Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6IC0xcHgpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIExlc3MgdGhhbiAoPCB4KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2VpZiAoJG9wID09ICdsdCcpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAnICsgKCR4IC0gMSkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBOb3QgKDwgeClcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbm90Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICcgKyAoJHggLSAxKSArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIEVxdWFsICg+PSB4KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAkeCArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC8vIE1pbiBhbmQgbWF4LlxuXHRcdFx0XHRcdFx0XHRAZWxzZSB7XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBHcmVhdGVyIHRoYW4gb3IgZXF1YWwgKD49IHgpXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKCRvcCA9PSAnZ3RlJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAkeCArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIExlc3MgdGhhbiBvciBlcXVhbCAoPD0geSlcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbHRlJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICcgKyAkeSArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIEdyZWF0ZXIgdGhhbiAoPiB5KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2VpZiAoJG9wID09ICdndCcpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiAnICsgKCR5ICsgMSkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBMZXNzIHRoYW4gKDwgeClcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbHQnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRtZWRpYTogJ3NjcmVlbiBhbmQgKG1heC13aWR0aDogJyArICgkeCAtIDEpICsgJyknO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gTm90ICg8IHggYW5kID4geSlcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbm90Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICcgKyAoJHggLSAxKSArICcpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAoJHkgKyAxKSArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIEVxdWFsICg+PSB4IGFuZCA8PSB5KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAkeCArICcpIGFuZCAobWF4LXdpZHRoOiAnICsgJHkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFN0cmluZy5cblx0XHRcdFx0XHRAZWxzZSB7XG5cblx0XHRcdFx0XHRcdC8vIE1pc3NpbmcgYSBtZWRpYSB0eXBlPyBQcmVmaXggd2l0aCBcInNjcmVlblwiLlxuXHRcdFx0XHRcdFx0XHRAaWYgKHN0ci1zbGljZSgkYSwgMCwgMSkgPT0gJygnKSB7XG5cdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAnICsgJGE7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ly8gT3RoZXJ3aXNlLCB1c2UgYXMtaXMuXG5cdFx0XHRcdFx0XHRcdEBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICRhO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdC8vIE91dHB1dC5cblx0ICAgICAgICBAbWVkaWEgI3skbWVkaWF9IHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cblx0fSIsIi8vIHZlbmRvci5zY3NzIHYxLjAgfCBAYWpsa24gfCBNSVQgbGljZW5zZWQgKi9cblxuLy8gVmFycy5cblxuXHQvLy8gVmVuZG9yIHByZWZpeGVzLlxuXHQvLy8gQHZhciB7bGlzdH1cblx0JHZlbmRvci1wcmVmaXhlczogKFxuXHRcdCctbW96LScsXG5cdFx0Jy13ZWJraXQtJyxcblx0XHQnLW1zLScsXG5cdFx0Jydcblx0KTtcblxuXHQvLy8gUHJvcGVydGllcyB0aGF0IHNob3VsZCBiZSB2ZW5kb3JpemVkLlxuXHQvLy8gRGF0YSB2aWEgY2FuaXVzZS5jb20sIGdpdGh1Yi5jb20vcG9zdGNzcy9hdXRvcHJlZml4ZXIsIGFuZCBkZXZlbG9wZXIubW96aWxsYS5vcmdcblx0Ly8vIEB2YXIge2xpc3R9XG5cdCR2ZW5kb3ItcHJvcGVydGllczogKFxuXG5cdFx0Ly8gQW5pbWF0aW9uLlxuXHRcdFx0J2FuaW1hdGlvbicsXG5cdFx0XHQnYW5pbWF0aW9uLWRlbGF5Jyxcblx0XHRcdCdhbmltYXRpb24tZGlyZWN0aW9uJyxcblx0XHRcdCdhbmltYXRpb24tZHVyYXRpb24nLFxuXHRcdFx0J2FuaW1hdGlvbi1maWxsLW1vZGUnLFxuXHRcdFx0J2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQnLFxuXHRcdFx0J2FuaW1hdGlvbi1uYW1lJyxcblx0XHRcdCdhbmltYXRpb24tcGxheS1zdGF0ZScsXG5cdFx0XHQnYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbicsXG5cblx0XHQvLyBBcHBlYXJhbmNlLlxuXHRcdFx0J2FwcGVhcmFuY2UnLFxuXG5cdFx0Ly8gQmFja2Ryb3AgZmlsdGVyLlxuXHRcdFx0J2JhY2tkcm9wLWZpbHRlcicsXG5cblx0XHQvLyBCYWNrZ3JvdW5kIGltYWdlIG9wdGlvbnMuXG5cdFx0XHQnYmFja2dyb3VuZC1jbGlwJyxcblx0XHRcdCdiYWNrZ3JvdW5kLW9yaWdpbicsXG5cdFx0XHQnYmFja2dyb3VuZC1zaXplJyxcblxuXHRcdC8vIEJveCBzaXppbmcuXG5cdFx0XHQnYm94LXNpemluZycsXG5cblx0XHQvLyBDbGlwIHBhdGguXG5cdFx0XHQnY2xpcC1wYXRoJyxcblxuXHRcdC8vIEZpbHRlciBlZmZlY3RzLlxuXHRcdFx0J2ZpbHRlcicsXG5cblx0XHQvLyBGbGV4Ym94LlxuXHRcdFx0J2FsaWduLWNvbnRlbnQnLFxuXHRcdFx0J2FsaWduLWl0ZW1zJyxcblx0XHRcdCdhbGlnbi1zZWxmJyxcblx0XHRcdCdmbGV4Jyxcblx0XHRcdCdmbGV4LWJhc2lzJyxcblx0XHRcdCdmbGV4LWRpcmVjdGlvbicsXG5cdFx0XHQnZmxleC1mbG93Jyxcblx0XHRcdCdmbGV4LWdyb3cnLFxuXHRcdFx0J2ZsZXgtc2hyaW5rJyxcblx0XHRcdCdmbGV4LXdyYXAnLFxuXHRcdFx0J2p1c3RpZnktY29udGVudCcsXG5cdFx0XHQnb3JkZXInLFxuXG5cdFx0Ly8gRm9udCBmZWF0dXJlLlxuXHRcdFx0J2ZvbnQtZmVhdHVyZS1zZXR0aW5ncycsXG5cdFx0XHQnZm9udC1sYW5ndWFnZS1vdmVycmlkZScsXG5cdFx0XHQnZm9udC12YXJpYW50LWxpZ2F0dXJlcycsXG5cblx0XHQvLyBGb250IGtlcm5pbmcuXG5cdFx0XHQnZm9udC1rZXJuaW5nJyxcblxuXHRcdC8vIEZyYWdtZW50ZWQgYm9yZGVycyBhbmQgYmFja2dyb3VuZHMuXG5cdFx0XHQnYm94LWRlY29yYXRpb24tYnJlYWsnLFxuXG5cdFx0Ly8gR3JpZCBsYXlvdXQuXG5cdFx0XHQnZ3JpZC1jb2x1bW4nLFxuXHRcdFx0J2dyaWQtY29sdW1uLWFsaWduJyxcblx0XHRcdCdncmlkLWNvbHVtbi1lbmQnLFxuXHRcdFx0J2dyaWQtY29sdW1uLXN0YXJ0Jyxcblx0XHRcdCdncmlkLXJvdycsXG5cdFx0XHQnZ3JpZC1yb3ctYWxpZ24nLFxuXHRcdFx0J2dyaWQtcm93LWVuZCcsXG5cdFx0XHQnZ3JpZC1yb3ctc3RhcnQnLFxuXHRcdFx0J2dyaWQtdGVtcGxhdGUtY29sdW1ucycsXG5cdFx0XHQnZ3JpZC10ZW1wbGF0ZS1yb3dzJyxcblxuXHRcdC8vIEh5cGhlbnMuXG5cdFx0XHQnaHlwaGVucycsXG5cdFx0XHQnd29yZC1icmVhaycsXG5cblx0XHQvLyBNYXNrcy5cblx0XHRcdCdtYXNrJyxcblx0XHRcdCdtYXNrLWJvcmRlcicsXG5cdFx0XHQnbWFzay1ib3JkZXItb3V0c2V0Jyxcblx0XHRcdCdtYXNrLWJvcmRlci1yZXBlYXQnLFxuXHRcdFx0J21hc2stYm9yZGVyLXNsaWNlJyxcblx0XHRcdCdtYXNrLWJvcmRlci1zb3VyY2UnLFxuXHRcdFx0J21hc2stYm9yZGVyLXdpZHRoJyxcblx0XHRcdCdtYXNrLWNsaXAnLFxuXHRcdFx0J21hc2stY29tcG9zaXRlJyxcblx0XHRcdCdtYXNrLWltYWdlJyxcblx0XHRcdCdtYXNrLW9yaWdpbicsXG5cdFx0XHQnbWFzay1wb3NpdGlvbicsXG5cdFx0XHQnbWFzay1yZXBlYXQnLFxuXHRcdFx0J21hc2stc2l6ZScsXG5cblx0XHQvLyBNdWx0aWNvbHVtbi5cblx0XHRcdCdicmVhay1hZnRlcicsXG5cdFx0XHQnYnJlYWstYmVmb3JlJyxcblx0XHRcdCdicmVhay1pbnNpZGUnLFxuXHRcdFx0J2NvbHVtbi1jb3VudCcsXG5cdFx0XHQnY29sdW1uLWZpbGwnLFxuXHRcdFx0J2NvbHVtbi1nYXAnLFxuXHRcdFx0J2NvbHVtbi1ydWxlJyxcblx0XHRcdCdjb2x1bW4tcnVsZS1jb2xvcicsXG5cdFx0XHQnY29sdW1uLXJ1bGUtc3R5bGUnLFxuXHRcdFx0J2NvbHVtbi1ydWxlLXdpZHRoJyxcblx0XHRcdCdjb2x1bW4tc3BhbicsXG5cdFx0XHQnY29sdW1uLXdpZHRoJyxcblx0XHRcdCdjb2x1bW5zJyxcblxuXHRcdC8vIE9iamVjdCBmaXQuXG5cdFx0XHQnb2JqZWN0LWZpdCcsXG5cdFx0XHQnb2JqZWN0LXBvc2l0aW9uJyxcblxuXHRcdC8vIFJlZ2lvbnMuXG5cdFx0XHQnZmxvdy1mcm9tJyxcblx0XHRcdCdmbG93LWludG8nLFxuXHRcdFx0J3JlZ2lvbi1mcmFnbWVudCcsXG5cblx0XHQvLyBTY3JvbGwgc25hcCBwb2ludHMuXG5cdFx0XHQnc2Nyb2xsLXNuYXAtY29vcmRpbmF0ZScsXG5cdFx0XHQnc2Nyb2xsLXNuYXAtZGVzdGluYXRpb24nLFxuXHRcdFx0J3Njcm9sbC1zbmFwLXBvaW50cy14Jyxcblx0XHRcdCdzY3JvbGwtc25hcC1wb2ludHMteScsXG5cdFx0XHQnc2Nyb2xsLXNuYXAtdHlwZScsXG5cblx0XHQvLyBTaGFwZXMuXG5cdFx0XHQnc2hhcGUtaW1hZ2UtdGhyZXNob2xkJyxcblx0XHRcdCdzaGFwZS1tYXJnaW4nLFxuXHRcdFx0J3NoYXBlLW91dHNpZGUnLFxuXG5cdFx0Ly8gVGFiIHNpemUuXG5cdFx0XHQndGFiLXNpemUnLFxuXG5cdFx0Ly8gVGV4dCBhbGlnbiBsYXN0LlxuXHRcdFx0J3RleHQtYWxpZ24tbGFzdCcsXG5cblx0XHQvLyBUZXh0IGRlY29yYXRpb24uXG5cdFx0XHQndGV4dC1kZWNvcmF0aW9uLWNvbG9yJyxcblx0XHRcdCd0ZXh0LWRlY29yYXRpb24tbGluZScsXG5cdFx0XHQndGV4dC1kZWNvcmF0aW9uLXNraXAnLFxuXHRcdFx0J3RleHQtZGVjb3JhdGlvbi1zdHlsZScsXG5cblx0XHQvLyBUZXh0IGVtcGhhc2lzLlxuXHRcdFx0J3RleHQtZW1waGFzaXMnLFxuXHRcdFx0J3RleHQtZW1waGFzaXMtY29sb3InLFxuXHRcdFx0J3RleHQtZW1waGFzaXMtcG9zaXRpb24nLFxuXHRcdFx0J3RleHQtZW1waGFzaXMtc3R5bGUnLFxuXG5cdFx0Ly8gVGV4dCBzaXplIGFkanVzdC5cblx0XHRcdCd0ZXh0LXNpemUtYWRqdXN0JyxcblxuXHRcdC8vIFRleHQgc3BhY2luZy5cblx0XHRcdCd0ZXh0LXNwYWNpbmcnLFxuXG5cdFx0Ly8gVHJhbnNmb3JtLlxuXHRcdFx0J3RyYW5zZm9ybScsXG5cdFx0XHQndHJhbnNmb3JtLW9yaWdpbicsXG5cblx0XHQvLyBUcmFuc2Zvcm0gM0QuXG5cdFx0XHQnYmFja2ZhY2UtdmlzaWJpbGl0eScsXG5cdFx0XHQncGVyc3BlY3RpdmUnLFxuXHRcdFx0J3BlcnNwZWN0aXZlLW9yaWdpbicsXG5cdFx0XHQndHJhbnNmb3JtLXN0eWxlJyxcblxuXHRcdC8vIFRyYW5zaXRpb24uXG5cdFx0XHQndHJhbnNpdGlvbicsXG5cdFx0XHQndHJhbnNpdGlvbi1kZWxheScsXG5cdFx0XHQndHJhbnNpdGlvbi1kdXJhdGlvbicsXG5cdFx0XHQndHJhbnNpdGlvbi1wcm9wZXJ0eScsXG5cdFx0XHQndHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24nLFxuXG5cdFx0Ly8gVW5pY29kZSBiaWRpLlxuXHRcdFx0J3VuaWNvZGUtYmlkaScsXG5cblx0XHQvLyBVc2VyIHNlbGVjdC5cblx0XHRcdCd1c2VyLXNlbGVjdCcsXG5cblx0XHQvLyBXcml0aW5nIG1vZGUuXG5cdFx0XHQnd3JpdGluZy1tb2RlJyxcblxuXHQpO1xuXG5cdC8vLyBWYWx1ZXMgdGhhdCBzaG91bGQgYmUgdmVuZG9yaXplZC5cblx0Ly8vIERhdGEgdmlhIGNhbml1c2UuY29tLCBnaXRodWIuY29tL3Bvc3Rjc3MvYXV0b3ByZWZpeGVyLCBhbmQgZGV2ZWxvcGVyLm1vemlsbGEub3JnXG5cdC8vLyBAdmFyIHtsaXN0fVxuXHQkdmVuZG9yLXZhbHVlczogKFxuXG5cdFx0Ly8gQ3Jvc3MgZmFkZS5cblx0XHRcdCdjcm9zcy1mYWRlJyxcblxuXHRcdC8vIEVsZW1lbnQgZnVuY3Rpb24uXG5cdFx0XHQnZWxlbWVudCcsXG5cblx0XHQvLyBGaWx0ZXIgZnVuY3Rpb24uXG5cdFx0XHQnZmlsdGVyJyxcblxuXHRcdC8vIEZsZXhib3guXG5cdFx0XHQnZmxleCcsXG5cdFx0XHQnaW5saW5lLWZsZXgnLFxuXG5cdFx0Ly8gR3JhYiBjdXJzb3JzLlxuXHRcdFx0J2dyYWInLFxuXHRcdFx0J2dyYWJiaW5nJyxcblxuXHRcdC8vIEdyYWRpZW50cy5cblx0XHRcdCdsaW5lYXItZ3JhZGllbnQnLFxuXHRcdFx0J3JlcGVhdGluZy1saW5lYXItZ3JhZGllbnQnLFxuXHRcdFx0J3JhZGlhbC1ncmFkaWVudCcsXG5cdFx0XHQncmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudCcsXG5cblx0XHQvLyBHcmlkIGxheW91dC5cblx0XHRcdCdncmlkJyxcblx0XHRcdCdpbmxpbmUtZ3JpZCcsXG5cblx0XHQvLyBJbWFnZSBzZXQuXG5cdFx0XHQnaW1hZ2Utc2V0JyxcblxuXHRcdC8vIEludHJpbnNpYyB3aWR0aC5cblx0XHRcdCdtYXgtY29udGVudCcsXG5cdFx0XHQnbWluLWNvbnRlbnQnLFxuXHRcdFx0J2ZpdC1jb250ZW50Jyxcblx0XHRcdCdmaWxsJyxcblx0XHRcdCdmaWxsLWF2YWlsYWJsZScsXG5cdFx0XHQnc3RyZXRjaCcsXG5cblx0XHQvLyBTdGlja3kgcG9zaXRpb24uXG5cdFx0XHQnc3RpY2t5JyxcblxuXHRcdC8vIFRyYW5zZm9ybS5cblx0XHRcdCd0cmFuc2Zvcm0nLFxuXG5cdFx0Ly8gWm9vbSBjdXJzb3JzLlxuXHRcdFx0J3pvb20taW4nLFxuXHRcdFx0J3pvb20tb3V0JyxcblxuXHQpO1xuXG4vLyBGdW5jdGlvbnMuXG5cblx0Ly8vIFJlbW92ZXMgYSBzcGVjaWZpYyBpdGVtIGZyb20gYSBsaXN0LlxuXHQvLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5cdC8vLyBAcGFyYW0ge2xpc3R9ICRsaXN0IExpc3QuXG5cdC8vLyBAcGFyYW0ge2ludGVnZXJ9ICRpbmRleCBJbmRleC5cblx0Ly8vIEByZXR1cm4ge2xpc3R9IFVwZGF0ZWQgbGlzdC5cblx0QGZ1bmN0aW9uIHJlbW92ZS1udGgoJGxpc3QsICRpbmRleCkge1xuXG5cdFx0JHJlc3VsdDogbnVsbDtcblxuXHRcdEBpZiB0eXBlLW9mKCRpbmRleCkgIT0gbnVtYmVyIHtcblx0XHRcdEB3YXJuIFwiJGluZGV4OiAje3F1b3RlKCRpbmRleCl9IGlzIG5vdCBhIG51bWJlciBmb3IgYHJlbW92ZS1udGhgLlwiO1xuXHRcdH1cblx0XHRAZWxzZSBpZiAkaW5kZXggPT0gMCB7XG5cdFx0XHRAd2FybiBcIkxpc3QgaW5kZXggMCBtdXN0IGJlIGEgbm9uLXplcm8gaW50ZWdlciBmb3IgYHJlbW92ZS1udGhgLlwiO1xuXHRcdH1cblx0XHRAZWxzZSBpZiBhYnMoJGluZGV4KSA+IGxlbmd0aCgkbGlzdCkge1xuXHRcdFx0QHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JGluZGV4fSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgcmVtb3ZlLW50aGAuXCI7XG5cdFx0fVxuXHRcdEBlbHNlIHtcblxuXHRcdFx0JHJlc3VsdDogKCk7XG5cdFx0XHQkaW5kZXg6IGlmKCRpbmRleCA8IDAsIGxlbmd0aCgkbGlzdCkgKyAkaW5kZXggKyAxLCAkaW5kZXgpO1xuXG5cdFx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkbGlzdCkge1xuXG5cdFx0XHRcdEBpZiAkaSAhPSAkaW5kZXgge1xuXHRcdFx0XHRcdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0QHJldHVybiAkcmVzdWx0O1xuXG5cdH1cblxuXHQvLy8gUmVwbGFjZXMgYSBzdWJzdHJpbmcgd2l0aGluIGFub3RoZXIgc3RyaW5nLlxuXHQvLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5cdC8vLyBAcGFyYW0ge3N0cmluZ30gJHN0cmluZyBTdHJpbmcuXG5cdC8vLyBAcGFyYW0ge3N0cmluZ30gJHNlYXJjaCBTdWJzdHJpbmcuXG5cdC8vLyBAcGFyYW0ge3N0cmluZ30gJHJlcGxhY2UgUmVwbGFjZW1lbnQuXG5cdC8vLyBAcmV0dXJuIHtzdHJpbmd9IFVwZGF0ZWQgc3RyaW5nLlxuXHRAZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG5cblx0XHQkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuXHRcdEBpZiAkaW5kZXgge1xuXHRcdFx0QHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuXHRcdH1cblxuXHRcdEByZXR1cm4gJHN0cmluZztcblxuXHR9XG5cblx0Ly8vIFJlcGxhY2VzIGEgc3Vic3RyaW5nIHdpdGhpbiBlYWNoIHN0cmluZyBpbiBhIGxpc3QuXG5cdC8vLyBAcGFyYW0ge2xpc3R9ICRzdHJpbmdzIExpc3Qgb2Ygc3RyaW5ncy5cblx0Ly8vIEBwYXJhbSB7c3RyaW5nfSAkc2VhcmNoIFN1YnN0cmluZy5cblx0Ly8vIEBwYXJhbSB7c3RyaW5nfSAkcmVwbGFjZSBSZXBsYWNlbWVudC5cblx0Ly8vIEByZXR1cm4ge2xpc3R9IFVwZGF0ZWQgbGlzdCBvZiBzdHJpbmdzLlxuXHRAZnVuY3Rpb24gc3RyLXJlcGxhY2UtYWxsKCRzdHJpbmdzLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcblxuXHRcdEBlYWNoICRzdHJpbmcgaW4gJHN0cmluZ3Mge1xuXHRcdFx0JHN0cmluZ3M6IHNldC1udGgoJHN0cmluZ3MsIGluZGV4KCRzdHJpbmdzLCAkc3RyaW5nKSwgc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2UpKTtcblx0XHR9XG5cblx0XHRAcmV0dXJuICRzdHJpbmdzO1xuXG5cdH1cblxuLy8gTWl4aW5zLlxuXG5cdC8vLyBXcmFwcyBAY29udGVudCBpbiB2ZW5kb3JpemVkIGtleWZyYW1lIGJsb2Nrcy5cblx0Ly8vIEBwYXJhbSB7c3RyaW5nfSAkbmFtZSBOYW1lLlxuXHRAbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG5cblx0XHRALW1vei1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuXHRcdEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG5cdFx0QC1tcy1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuXHRcdEBrZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuXG5cdH1cblxuXHQvLy8gVmVuZG9yaXplcyBhIGRlY2xhcmF0aW9uJ3MgcHJvcGVydHkgYW5kL29yIHZhbHVlKHMpLlxuXHQvLy8gQHBhcmFtIHtzdHJpbmd9ICRwcm9wZXJ0eSBQcm9wZXJ0eS5cblx0Ly8vIEBwYXJhbSB7bWl4ZWR9ICR2YWx1ZSBTdHJpbmcvbGlzdCBvZiB2YWx1ZShzKS5cblx0QG1peGluIHZlbmRvcigkcHJvcGVydHksICR2YWx1ZSkge1xuXG5cdFx0Ly8gRGV0ZXJtaW5lIGlmIHByb3BlcnR5IHNob3VsZCBleHBhbmQuXG5cdFx0XHQkZXhwYW5kUHJvcGVydHk6IGluZGV4KCR2ZW5kb3ItcHJvcGVydGllcywgJHByb3BlcnR5KTtcblxuXHRcdC8vIERldGVybWluZSBpZiB2YWx1ZSBzaG91bGQgZXhwYW5kIChhbmQgaWYgc28sIGFkZCAnLXByZWZpeC0nIHBsYWNlaG9sZGVyKS5cblx0XHRcdCRleHBhbmRWYWx1ZTogZmFsc2U7XG5cblx0XHRcdEBlYWNoICR4IGluICR2YWx1ZSB7XG5cdFx0XHRcdEBlYWNoICR5IGluICR2ZW5kb3ItdmFsdWVzIHtcblx0XHRcdFx0XHRAaWYgJHkgPT0gc3RyLXNsaWNlKCR4LCAxLCBzdHItbGVuZ3RoKCR5KSkge1xuXG5cdFx0XHRcdFx0XHQkdmFsdWU6IHNldC1udGgoJHZhbHVlLCBpbmRleCgkdmFsdWUsICR4KSwgJy1wcmVmaXgtJyArICR4KTtcblx0XHRcdFx0XHRcdCRleHBhbmRWYWx1ZTogdHJ1ZTtcblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0Ly8gRXhwYW5kIHByb3BlcnR5P1xuXHRcdFx0QGlmICRleHBhbmRQcm9wZXJ0eSB7XG5cdFx0XHQgICAgQGVhY2ggJHZlbmRvciBpbiAkdmVuZG9yLXByZWZpeGVzIHtcblx0XHRcdCAgICAgICAgI3skdmVuZG9yfSN7JHByb3BlcnR5fTogI3tzdHItcmVwbGFjZS1hbGwoJHZhbHVlLCAnLXByZWZpeC0nLCAkdmVuZG9yKX07XG5cdFx0XHQgICAgfVxuXHRcdFx0fVxuXG5cdFx0Ly8gRXhwYW5kIGp1c3QgdGhlIHZhbHVlP1xuXHRcdFx0QGVsc2VpZiAkZXhwYW5kVmFsdWUge1xuXHRcdFx0ICAgIEBlYWNoICR2ZW5kb3IgaW4gJHZlbmRvci1wcmVmaXhlcyB7XG5cdFx0XHQgICAgICAgICN7JHByb3BlcnR5fTogI3tzdHItcmVwbGFjZS1hbGwoJHZhbHVlLCAnLXByZWZpeC0nLCAkdmVuZG9yKX07XG5cdFx0XHQgICAgfVxuXHRcdFx0fVxuXG5cdFx0Ly8gTmVpdGhlcj8gVHJlYXQgdGhlbSBhcyBhIG5vcm1hbCBkZWNsYXJhdGlvbi5cblx0XHRcdEBlbHNlIHtcblx0XHQgICAgICAgICN7JHByb3BlcnR5fTogI3skdmFsdWV9O1xuXHRcdFx0fVxuXG5cdH0iLCIvLy9cclxuLy8vIEVkaXRvcmlhbCBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIFR5cGUgKi9cclxuXHJcblxyXG5cdGJvZHksIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcclxuXHRcdGNvbG9yOiBfcGFsZXR0ZShmZyk7XHJcblx0XHRmb250LWZhbWlseTogX2ZvbnQoZmFtaWx5KTtcclxuXHRcdGZvbnQtc2l6ZTogMTNwdDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBfZm9udCh3ZWlnaHQpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNjU7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD14bGFyZ2UnKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTFwdDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PWxhcmdlJykge1xyXG5cdFx0XHRmb250LXNpemU6IDEwcHQ7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD14eHNtYWxsJykge1xyXG5cdFx0XHRmb250LXNpemU6IDlwdDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgKFxyXG5cdFx0XHQnY29sb3IgI3tfZHVyYXRpb24odHJhbnNpdGlvbil9IGVhc2UtaW4tb3V0JyxcclxuXHRcdFx0J2JvcmRlci1ib3R0b20tY29sb3IgI3tfZHVyYXRpb24odHJhbnNpdGlvbil9IGVhc2UtaW4tb3V0J1xyXG5cdFx0KSk7XHJcblx0XHRib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4O1xyXG5cdFx0Y29sb3I6IF9wYWxldHRlKGFjY2VudCk7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IF9wYWxldHRlKGFjY2VudCk7XHJcblx0XHRcdGNvbG9yOiBfcGFsZXR0ZShhY2NlbnQpICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0XHRzdHJvbmcge1xyXG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzdHJvbmcsIGIge1xyXG5cdFx0Y29sb3I6IF9wYWxldHRlKGZnLWJvbGQpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IF9mb250KHdlaWdodC1ib2xkKTtcclxuXHR9XHJcblxyXG5cdGVtLCBpIHtcclxuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHR9XHJcblxyXG5cdHAge1xyXG5cdFx0bWFyZ2luOiAwIDAgX3NpemUoZWxlbWVudC1tYXJnaW4pIDA7XHJcblx0fVxyXG5cclxuXHRoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuXHRcdGNvbG9yOiBfcGFsZXR0ZShmZy1ib2xkKTtcclxuXHRcdGZvbnQtZmFtaWx5OiBfZm9udChmYW1pbHktaGVhZGluZyk7XHJcblx0XHRmb250LXdlaWdodDogX2ZvbnQod2VpZ2h0LWhlYWRpbmcpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRcdG1hcmdpbjogMCAwIChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjUpIDA7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRoMSB7XHJcblx0XHRmb250LXNpemU6IDRlbTtcclxuXHRcdG1hcmdpbjogMCAwIChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjI1KSAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcclxuXHR9XHJcblxyXG5cdGgyIHtcclxuXHRcdGZvbnQtc2l6ZTogMS43NWVtO1xyXG5cdH1cclxuXHJcblx0XHJcblxyXG5cdGgzIHtcclxuXHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xyXG5cdH1cclxuXHJcblx0aDQge1xyXG5cdFx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHR9XHJcblxyXG5cdGg1IHtcclxuXHRcdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0fVxyXG5cclxuXHRoNiB7XHJcblx0XHRmb250LXNpemU6IDAuN2VtO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD14bGFyZ2UnKSB7XHJcblx0XHRoMSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMy41ZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCc8PW1lZGl1bScpIHtcclxuXHRcdGgxIHtcclxuXHRcdFx0Zm9udC1zaXplOiAzLjI1ZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXNtYWxsJykge1xyXG5cdFx0aDEge1xyXG5cdFx0XHRmb250LXNpemU6IDJlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRcdH1cclxuXHJcblx0XHRoMiB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzdWIge1xyXG5cdFx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogMC41ZW07XHJcblx0fVxyXG5cclxuXHRzdXAge1xyXG5cdFx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogLTAuNWVtO1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSB7XHJcblx0XHRib3JkZXItbGVmdDogc29saWQgM3B4IF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHRcdHBhZGRpbmc6IChfc2l6ZShlbGVtZW50LW1hcmdpbikgLyA0KSAwIChfc2l6ZShlbGVtZW50LW1hcmdpbikgLyA0KSBfc2l6ZShlbGVtZW50LW1hcmdpbik7XHJcblx0fVxyXG5cclxuXHRjb2RlIHtcclxuXHRcdGJhY2tncm91bmQ6IF9wYWxldHRlKGJvcmRlci1iZyk7XHJcblx0XHRib3JkZXItcmFkaXVzOiBfc2l6ZShib3JkZXItcmFkaXVzKTtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4IF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHRmb250LWZhbWlseTogX2ZvbnQoZmFtaWx5LWZpeGVkKTtcclxuXHRcdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0XHRtYXJnaW46IDAgMC4yNWVtO1xyXG5cdFx0cGFkZGluZzogMC4yNWVtIDAuNjVlbTtcclxuXHR9XHJcblxyXG5cdHByZSB7XHJcblx0XHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblx0XHRmb250LWZhbWlseTogX2ZvbnQoZmFtaWx5LWZpeGVkKTtcclxuXHRcdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHJcblx0XHRjb2RlIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjc1O1xyXG5cdFx0XHRwYWRkaW5nOiAxZW0gMS41ZW07XHJcblx0XHRcdG92ZXJmbG93LXg6IGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRociB7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdG1hcmdpbjogX3NpemUoZWxlbWVudC1tYXJnaW4pIDA7XHJcblxyXG5cdFx0Ji5tYWpvciB7XHJcblx0XHRcdG1hcmdpbjogKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDEuNSkgMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5hbGlnbi1sZWZ0IHtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG5cclxuXHQuYWxpZ24tY2VudGVyIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5hbGlnbi1yaWdodCB7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBSb3cgKi9cclxuXHJcblx0LnJvdyB7XHJcblx0XHRAaW5jbHVkZSBodG1sLWdyaWQoMS41ZW0pO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9eGxhcmdlJykge1xyXG5cdFx0XHRAaW5jbHVkZSBodG1sLWdyaWQoMS41ZW0sICd4bGFyZ2UnKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PWxhcmdlJykge1xyXG5cdFx0XHRAaW5jbHVkZSBodG1sLWdyaWQoMS41ZW0sICdsYXJnZScpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9bWVkaXVtJykge1xyXG5cdFx0XHRAaW5jbHVkZSBodG1sLWdyaWQoMS41ZW0sICdtZWRpdW0nKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXNtYWxsJykge1xyXG5cdFx0XHRAaW5jbHVkZSBodG1sLWdyaWQoMS41ZW0sICdzbWFsbCcpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9eHNtYWxsJykge1xyXG5cdFx0XHRAaW5jbHVkZSBodG1sLWdyaWQoMS41ZW0sICd4c21hbGwnKTtcclxuXHRcdH1cclxuXHR9IiwiLy8gaHRtbC1ncmlkLnNjc3MgdjEuMCB8IEBhamxrbiB8IE1JVCBsaWNlbnNlZCAqL1xyXG5cclxuLy8gTWl4aW5zLlxyXG5cclxuXHQvLy8gSW5pdGlhbGl6ZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBhcyBhbiBIVE1MIGdyaWQuXHJcblx0Ly8vIEBwYXJhbSB7bWl4ZWR9ICRndXR0ZXJzIEd1dHRlcnMgKGVpdGhlciBhIHNpbmdsZSBudW1iZXIgdG8gc2V0IGJvdGggY29sdW1uL3JvdyBndXR0ZXJzLCBvciBhIGxpc3QgdG8gc2V0IHRoZW0gaW5kaXZpZHVhbGx5KS5cclxuXHQvLy8gQHBhcmFtIHttaXhlZH0gJHN1ZmZpeCBDb2x1bW4gY2xhc3Mgc3VmZml4IChvcHRpb25hbDsgZWl0aGVyIGEgc2luZ2xlIHN1ZmZpeCBvciBhIGxpc3QpLlxyXG5cdEBtaXhpbiBodG1sLWdyaWQoJGd1dHRlcnM6IDEuNWVtLCAkc3VmZml4OiAnJykge1xyXG5cclxuXHRcdC8vIEluaXRpYWxpemUuXHJcblx0XHRcdCRjb2xzOiAxMjtcclxuXHRcdFx0JG11bHRpcGxpZXJzOiAwLCAwLjI1LCAwLjUsIDEsIDEuNTAsIDIuMDA7XHJcblx0XHRcdCR1bml0OiAxMDAlIC8gJGNvbHM7XHJcblxyXG5cdFx0XHQvLyBTdWZmaXhlcy5cclxuXHRcdFx0XHQkc3VmZml4ZXM6IG51bGw7XHJcblxyXG5cdFx0XHRcdEBpZiAodHlwZS1vZigkc3VmZml4KSA9PSAnbGlzdCcpIHtcclxuXHRcdFx0XHRcdCRzdWZmaXhlczogJHN1ZmZpeDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGVsc2Uge1xyXG5cdFx0XHRcdFx0JHN1ZmZpeGVzOiAoJHN1ZmZpeCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gR3V0dGVycy5cclxuXHRcdFx0XHQkZ3V0dGVyc0NvbHM6IG51bGw7XHJcblx0XHRcdFx0JGd1dHRlcnNSb3dzOiBudWxsO1xyXG5cclxuXHRcdFx0XHRAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdsaXN0Jykge1xyXG5cclxuXHRcdFx0XHRcdCRndXR0ZXJzQ29sczogbnRoKCRndXR0ZXJzLCAxKTtcclxuXHRcdFx0XHRcdCRndXR0ZXJzUm93czogbnRoKCRndXR0ZXJzLCAyKTtcclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBlbHNlIHtcclxuXHJcblx0XHRcdFx0XHQkZ3V0dGVyc0NvbHM6ICRndXR0ZXJzO1xyXG5cdFx0XHRcdFx0JGd1dHRlcnNSb3dzOiAwO1xyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0Ly8gUm93LlxyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG5cclxuXHRcdFx0Ly8gQ29sdW1ucy5cclxuXHRcdFx0XHQ+ICoge1xyXG5cdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHQvLyBHdXR0ZXJzLlxyXG5cdFx0XHRcdCYuZ3RyLXVuaWZvcm0ge1xyXG5cdFx0XHRcdFx0PiAqIHtcclxuXHRcdFx0XHRcdFx0PiA6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdC8vIEFsaWdubWVudC5cclxuXHRcdFx0XHQmLmFsbi1sZWZ0IHtcclxuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuYWxuLWNlbnRlciB7XHJcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuYWxuLXJpZ2h0IHtcclxuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLmFsbi10b3Age1xyXG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLmFsbi1taWRkbGUge1xyXG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuYWxuLWJvdHRvbSB7XHJcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdC8vIFN0ZXAgdGhyb3VnaCBzdWZmaXhlcy5cclxuXHRcdFx0QGVhY2ggJHN1ZmZpeCBpbiAkc3VmZml4ZXMge1xyXG5cclxuXHRcdFx0XHQvLyBTdWZmaXguXHJcblx0XHRcdFx0XHRAaWYgKCRzdWZmaXggIT0gJycpIHtcclxuXHRcdFx0XHRcdFx0JHN1ZmZpeDogJy0nICsgJHN1ZmZpeDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBlbHNlIHtcclxuXHRcdFx0XHRcdFx0JHN1ZmZpeDogJyc7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8vIFJvdy5cclxuXHJcblx0XHRcdFx0XHQvLyBJbXBvcnRhbnQuXHJcblx0XHRcdFx0XHRcdD4gLmltcCN7JHN1ZmZpeH0ge1xyXG5cdFx0XHRcdFx0XHRcdG9yZGVyOiAtMTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8vIENvbHVtbnMsIG9mZnNldHMuXHJcblx0XHRcdFx0XHRcdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHMge1xyXG5cdFx0XHRcdFx0XHRcdD4gLmNvbC0jeyRpfSN7JHN1ZmZpeH0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6ICR1bml0ICogJGk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHQ+IC5vZmYtI3skaX0jeyRzdWZmaXh9IHtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAkdW5pdCAqICRpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8vIFN0ZXAgdGhyb3VnaCBtdWx0aXBsaWVycy5cclxuXHRcdFx0XHRcdFx0QGVhY2ggJG11bHRpcGxpZXIgaW4gJG11bHRpcGxpZXJzIHtcclxuXHJcblx0XHRcdFx0XHRcdFx0Ly8gR3V0dGVycy5cclxuXHRcdFx0XHRcdFx0XHRcdCRjbGFzczogbnVsbDtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRAaWYgKCRtdWx0aXBsaWVyICE9IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0JGNsYXNzOiAnLmd0ci0nICsgKCRtdWx0aXBsaWVyICogMTAwKTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQmI3skY2xhc3N9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogKCRndXR0ZXJzUm93cyAqICRtdWx0aXBsaWVyICogLTEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogKCRndXR0ZXJzQ29scyAqICRtdWx0aXBsaWVyICogLTEpO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PiAqIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAoJGd1dHRlcnNSb3dzICogJG11bHRpcGxpZXIpIDAgMCAoJGd1dHRlcnNDb2xzICogJG11bHRpcGxpZXIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBVbmlmb3JtLlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCYuZ3RyLXVuaWZvcm0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogJGd1dHRlcnNDb2xzICogJG11bHRpcGxpZXIgKiAtMTtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+ICoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogJGd1dHRlcnNDb2xzICogJG11bHRpcGxpZXI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHJcblx0fSIsIi8vL1xyXG4vLy8gRWRpdG9yaWFsIGJ5IEhUTUw1IFVQXHJcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxyXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbi8vL1xyXG5cclxuLyogU2VjdGlvbi9BcnRpY2xlICovXHJcblxyXG5cdHNlY3Rpb24sIGFydGljbGUge1xyXG5cdFx0Ji5zcGVjaWFsIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aGVhZGVyIHtcclxuXHRcdHAge1xyXG5cdFx0XHRmb250LWZhbWlseTogX2ZvbnQoZmFtaWx5LWhlYWRpbmcpO1xyXG5cdFx0XHRmb250LXNpemU6IDFlbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IF9mb250KHdlaWdodC1oZWFkaW5nLWFsdCk7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiBfZm9udChrZXJuaW5nLWhlYWRpbmcpO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtMC41ZW07XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5tYWpvciB7XHJcblx0XHRcdD4gOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDNweCBfcGFsZXR0ZShhY2NlbnQpO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHRcdFx0IFx0cGFkZGluZzogMCAwLjc1ZW0gMC41ZW0gMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYubWFpbiB7XHJcblx0XHRcdD4gOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdG1hcmdpbjogMCAwIChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjUpIDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBGb3JtICovXHJcblxyXG5cdGZvcm0ge1xyXG5cdFx0bWFyZ2luOiAwIDAgX3NpemUoZWxlbWVudC1tYXJnaW4pIDA7XHJcblx0fVxyXG5cclxuXHRsYWJlbCB7XHJcblx0XHRjb2xvcjogX3BhbGV0dGUoZmctYm9sZCk7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0XHRmb250LXdlaWdodDogX2ZvbnQod2VpZ2h0LWJvbGQpO1xyXG5cdFx0bWFyZ2luOiAwIDAgKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDAuNSkgMDtcclxuXHR9XHJcblxyXG5cdGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5cdGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuXHRpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcblx0aW5wdXRbdHlwZT1cInRlbFwiXSxcclxuXHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcblx0c2VsZWN0LFxyXG5cdHRleHRhcmVhIHtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignYXBwZWFyYW5jZScsICdub25lJyk7XHJcblx0XHRiYWNrZ3JvdW5kOiBfcGFsZXR0ZShiZyk7XHJcblx0XHRib3JkZXItcmFkaXVzOiBfc2l6ZShib3JkZXItcmFkaXVzKTtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4IF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0b3V0bGluZTogMDtcclxuXHRcdHBhZGRpbmc6IDAgMWVtO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0JjppbnZhbGlkIHtcclxuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmZvY3VzIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiBfcGFsZXR0ZShhY2NlbnQpO1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggX3BhbGV0dGUoYWNjZW50KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHNlbGVjdCB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBzdmctdXJsKFwiPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0MCcgaGVpZ2h0PSc0MCcgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZScgdmlld0JveD0nMCAwIDQwIDQwJz48cGF0aCBkPSdNOS40LDEyLjNsMTAuNCwxMC40bDEwLjQtMTAuNGMwLjItMC4yLDAuNS0wLjQsMC45LTAuNGMwLjMsMCwwLjYsMC4xLDAuOSwwLjRsMy4zLDMuM2MwLjIsMC4yLDAuNCwwLjUsMC40LDAuOSBjMCwwLjQtMC4xLDAuNi0wLjQsMC45TDIwLjcsMzEuOWMtMC4yLDAuMi0wLjUsMC40LTAuOSwwLjRjLTAuMywwLTAuNi0wLjEtMC45LTAuNEw0LjMsMTcuM2MtMC4yLTAuMi0wLjQtMC41LTAuNC0wLjkgYzAtMC40LDAuMS0wLjYsMC40LTAuOWwzLjMtMy4zYzAuMi0wLjIsMC41LTAuNCwwLjktMC40UzkuMSwxMi4xLDkuNCwxMi4zeicgZmlsbD0nI3tfcGFsZXR0ZShib3JkZXIpfScgLz48L3N2Zz5cIik7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEuMjVlbTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxZW0pIGNlbnRlcjtcclxuXHRcdGhlaWdodDogX3NpemUoZWxlbWVudC1oZWlnaHQpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogX3NpemUoZWxlbWVudC1oZWlnaHQpO1xyXG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG5cdFx0b3B0aW9uIHtcclxuXHRcdFx0Y29sb3I6IF9wYWxldHRlKGZnLWJvbGQpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBfcGFsZXR0ZShiZyk7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdCY6Oi1tcy12YWx1ZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOjotbXMtZXhwYW5kIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5cdGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuXHRpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcblx0aW5wdXRbdHlwZT1cInRlbFwiXSxcclxuXHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcblx0c2VsZWN0IHtcclxuXHRcdGhlaWdodDogX3NpemUoZWxlbWVudC1oZWlnaHQpO1xyXG5cdH1cclxuXHJcblx0dGV4dGFyZWEge1xyXG5cdFx0cGFkZGluZzogMC43NWVtIDFlbTtcclxuXHR9XHJcblxyXG5cdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuXHRpbnB1dFt0eXBlPVwicmFkaW9cIl0sIHtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignYXBwZWFyYW5jZScsICdub25lJyk7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAtMmVtO1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHdpZHRoOiAxZW07XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHJcblx0XHQmICsgbGFiZWwge1xyXG5cdFx0XHRAaW5jbHVkZSBpY29uKGZhbHNlLCBzb2xpZCk7XHJcblx0XHRcdGNvbG9yOiBfcGFsZXR0ZShmZyk7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRmb250LXNpemU6IDFlbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IF9mb250KHdlaWdodCk7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogKF9zaXplKGVsZW1lbnQtaGVpZ2h0KSAqIDAuNikgKyAwLjc1ZW07XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDAuNzVlbTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IF9wYWxldHRlKGJnKTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiBfc2l6ZShib3JkZXItcmFkaXVzKTtcclxuXHRcdFx0XHRib3JkZXI6IHNvbGlkIDFweCBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRmb250LXNpemU6IDAuOGVtO1xyXG5cdFx0XHRcdGhlaWdodDogKF9zaXplKGVsZW1lbnQtaGVpZ2h0KSAqIDAuNzUpO1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IChfc2l6ZShlbGVtZW50LWhlaWdodCkgKiAwLjc1KTtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHR3aWR0aDogKF9zaXplKGVsZW1lbnQtaGVpZ2h0KSAqIDAuNzUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpjaGVja2VkICsgbGFiZWwge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogX3BhbGV0dGUoZmctYm9sZCk7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBfcGFsZXR0ZShmZy1ib2xkKTtcclxuXHRcdFx0XHRjb2xvcjogX3BhbGV0dGUoYmcpO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGYwMGMnO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpmb2N1cyArIGxhYmVsIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogX3BhbGV0dGUoYWNjZW50KTtcclxuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggX3BhbGV0dGUoYWNjZW50KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuXHRcdCYgKyBsYWJlbCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiBfc2l6ZShib3JkZXItcmFkaXVzKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuXHRcdCYgKyBsYWJlbCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG5cdFx0Y29sb3I6IF9wYWxldHRlKGZnLWxpZ2h0KSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMS4wO1xyXG5cdH1cclxuXHJcblx0Oi1tb3otcGxhY2Vob2xkZXIge1xyXG5cdFx0Y29sb3I6IF9wYWxldHRlKGZnLWxpZ2h0KSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMS4wO1xyXG5cdH1cclxuXHJcblx0OjotbW96LXBsYWNlaG9sZGVyIHtcclxuXHRcdGNvbG9yOiBfcGFsZXR0ZShmZy1saWdodCkgIWltcG9ydGFudDtcclxuXHRcdG9wYWNpdHk6IDEuMDtcclxuXHR9XHJcblxyXG5cdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG5cdFx0Y29sb3I6IF9wYWxldHRlKGZnLWxpZ2h0KSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMS4wO1xyXG5cdH0iLCIvLy8gTWFrZXMgYW4gZWxlbWVudCdzIDpiZWZvcmUgcHNldWRvZWxlbWVudCBhIEZvbnRBd2Vzb21lIGljb24uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGNvbnRlbnQgT3B0aW9uYWwgY29udGVudCB2YWx1ZSB0byB1c2UuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGNhdGVnb3J5IE9wdGlvbmFsIGNhdGVnb3J5IHRvIHVzZS5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkd2hlcmUgT3B0aW9uYWwgcHNldWRvZWxlbWVudCB0byB0YXJnZXQgKGJlZm9yZSBvciBhZnRlcikuXHJcbkBtaXhpbiBpY29uKCRjb250ZW50OiBmYWxzZSwgJGNhdGVnb3J5OiByZWd1bGFyLCAkd2hlcmU6IGJlZm9yZSkge1xyXG5cclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cdCY6I3skd2hlcmV9IHtcclxuXHJcblx0XHRAaWYgJGNvbnRlbnQge1xyXG5cdFx0XHRjb250ZW50OiAkY29udGVudDtcclxuXHRcdH1cclxuXHJcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0XHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuXHRcdHRleHQtcmVuZGVyaW5nOiBhdXRvO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuXHRcdEBpZiAoJGNhdGVnb3J5ID09IGJyYW5kcykge1xyXG5cdFx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XHJcblx0XHR9XHJcblx0XHRAZWxzZWlmICgkY2F0ZWdvcnkgPT0gc29saWQpIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdH1cclxuXHRcdEBlbHNlIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxufVxyXG5cclxuLy8vIEFwcGxpZXMgcGFkZGluZyB0byBhbiBlbGVtZW50LCB0YWtpbmcgdGhlIGN1cnJlbnQgZWxlbWVudC1tYXJnaW4gdmFsdWUgaW50byBhY2NvdW50LlxyXG4vLy8gQHBhcmFtIHttaXhlZH0gJHRiIFRvcC9ib3R0b20gcGFkZGluZy5cclxuLy8vIEBwYXJhbSB7bWl4ZWR9ICRsciBMZWZ0L3JpZ2h0IHBhZGRpbmcuXHJcbi8vLyBAcGFyYW0ge2xpc3R9ICRwYWQgT3B0aW9uYWwgZXh0cmEgcGFkZGluZyAoaW4gdGhlIGZvbGxvd2luZyBvcmRlciB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpXHJcbi8vLyBAcGFyYW0ge2Jvb2x9ICRpbXBvcnRhbnQgSWYgdHJ1ZSwgYWRkcyAhaW1wb3J0YW50LlxyXG5AbWl4aW4gcGFkZGluZygkdGIsICRsciwgJHBhZDogKDAsMCwwLDApLCAkaW1wb3J0YW50OiBudWxsKSB7XHJcblxyXG5cdEBpZiAkaW1wb3J0YW50IHtcclxuXHRcdCRpbXBvcnRhbnQ6ICchaW1wb3J0YW50JztcclxuXHR9XHJcblxyXG5cdCR4OiAwLjFlbTtcclxuXHJcblx0QGlmIHVuaXQoX3NpemUoZWxlbWVudC1tYXJnaW4pKSA9PSAncmVtJyB7XHJcblx0XHQkeDogMC4xcmVtO1xyXG5cdH1cclxuXHJcblx0cGFkZGluZzogKCR0YiArIG50aCgkcGFkLDEpKSAoJGxyICsgbnRoKCRwYWQsMikpIG1heCgkeCwgJHRiIC0gX3NpemUoZWxlbWVudC1tYXJnaW4pICsgbnRoKCRwYWQsMykpICgkbHIgKyBudGgoJHBhZCw0KSkgI3skaW1wb3J0YW50fTtcclxuXHJcbn1cclxuXHJcbi8vLyBFbmNvZGVzIGEgU1ZHIGRhdGEgVVJMIHNvIElFIGRvZXNuJ3QgY2hva2UgKHZpYSBjb2RlcGVuLmlvL2pha29iLWUvcGVuL1lYWEJycCkuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHN2ZyBTVkcgZGF0YSBVUkwuXHJcbi8vLyBAcmV0dXJuIHtzdHJpbmd9IEVuY29kZWQgU1ZHIGRhdGEgVVJMLlxyXG5AZnVuY3Rpb24gc3ZnLXVybCgkc3ZnKSB7XHJcblxyXG5cdCRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsICdcIicsICdcXCcnKTtcclxuXHQkc3ZnOiBzdHItcmVwbGFjZSgkc3ZnLCAnJScsICclMjUnKTtcclxuXHQkc3ZnOiBzdHItcmVwbGFjZSgkc3ZnLCAnPCcsICclM0MnKTtcclxuXHQkc3ZnOiBzdHItcmVwbGFjZSgkc3ZnLCAnPicsICclM0UnKTtcclxuXHQkc3ZnOiBzdHItcmVwbGFjZSgkc3ZnLCAnJicsICclMjYnKTtcclxuXHQkc3ZnOiBzdHItcmVwbGFjZSgkc3ZnLCAnIycsICclMjMnKTtcclxuXHQkc3ZnOiBzdHItcmVwbGFjZSgkc3ZnLCAneycsICclN0InKTtcclxuXHQkc3ZnOiBzdHItcmVwbGFjZSgkc3ZnLCAnfScsICclN0QnKTtcclxuXHQkc3ZnOiBzdHItcmVwbGFjZSgkc3ZnLCAnOycsICclM0InKTtcclxuXHJcblx0QHJldHVybiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCN7JHN2Z31cIik7XHJcblxyXG59IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBCb3ggKi9cclxuXHJcblx0LmJveCB7XHJcblx0XHRib3JkZXItcmFkaXVzOiBfc2l6ZShib3JkZXItcmFkaXVzKTtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4IF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBfc2l6ZShlbGVtZW50LW1hcmdpbik7XHJcblx0XHRwYWRkaW5nOiAxLjVlbTtcclxuXHJcblx0XHQ+IDpsYXN0LWNoaWxkLFxyXG5cdFx0PiA6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkLFxyXG5cdFx0PiA6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuYWx0IHtcclxuXHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdH0iLCIvLy9cclxuLy8vIEVkaXRvcmlhbCBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEljb24gKi9cclxuXHJcblx0Lmljb24ge1xyXG5cdFx0QGluY2x1ZGUgaWNvbjtcclxuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0PiAubGFiZWwge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5zb2xpZCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5icmFuZHMge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8vL1xyXG4vLy8gRWRpdG9yaWFsIGJ5IEhUTUw1IFVQXHJcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxyXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbi8vL1xyXG5cclxuLyogSW1hZ2UgKi9cclxuXHJcblx0LmltYWdlIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHQmLmxlZnQsXHJcblx0XHQmLnJpZ2h0IHtcclxuXHRcdFx0bWF4LXdpZHRoOiA0MCU7XHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5sZWZ0IHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHBhZGRpbmc6IDAgMS41ZW0gMWVtIDA7XHJcblx0XHRcdHRvcDogMC4yNWVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYucmlnaHQge1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCAxZW0gMS41ZW07XHJcblx0XHRcdHRvcDogMC4yNWVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuZml0IHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMCAwIF9zaXplKGVsZW1lbnQtbWFyZ2luKSAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLm1haW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIDAgKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDEuNSkgMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRhLmltYWdlIHtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgJ3RyYW5zZm9ybSAje19kdXJhdGlvbih0cmFuc2l0aW9uKX0gZWFzZScpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNmb3JtJywgJ3NjYWxlKDEuMDc1KScpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8vL1xyXG4vLy8gRWRpdG9yaWFsIGJ5IEhUTUw1IFVQXHJcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxyXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbi8vL1xyXG5cclxuLyogTGlzdCAqL1xyXG5cclxuXHRvbCB7XHJcblx0XHRsaXN0LXN0eWxlOiBkZWNpbWFsO1xyXG5cdFx0bWFyZ2luOiAwIDAgX3NpemUoZWxlbWVudC1tYXJnaW4pIDA7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDEuMjVlbTtcclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMC4yNWVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dWwge1xyXG5cdFx0bGlzdC1zdHlsZTogZGlzYztcclxuXHRcdG1hcmdpbjogMCAwIF9zaXplKGVsZW1lbnQtbWFyZ2luKSAwO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxZW07XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDAuNWVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuYWx0IHtcclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGJvcmRlci10b3A6IHNvbGlkIDFweCBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAuNWVtIDA7XHJcblxyXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogMDtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZGwge1xyXG5cdFx0bWFyZ2luOiAwIDAgX3NpemUoZWxlbWVudC1tYXJnaW4pIDA7XHJcblxyXG5cdFx0ZHQge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IF9mb250KHdlaWdodC1ib2xkKTtcclxuXHRcdFx0bWFyZ2luOiAwIDAgKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDAuNSkgMDtcclxuXHRcdH1cclxuXHJcblx0XHRkZCB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBfc2l6ZShlbGVtZW50LW1hcmdpbik7XHJcblx0XHR9XHJcblx0fSIsIi8vL1xyXG4vLy8gRWRpdG9yaWFsIGJ5IEhUTUw1IFVQXHJcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxyXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbi8vL1xyXG5cclxuLyogQWN0aW9ucyAqL1xyXG5cclxuXHR1bC5hY3Rpb25zIHtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZGlzcGxheScsICdmbGV4Jyk7XHJcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAtMC41KTtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCAwIChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjUpO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuc3BlY2lhbCB7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcignanVzdGlmeS1jb250ZW50JywgJ2NlbnRlcicpO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5zdGFja2VkIHtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LWRpcmVjdGlvbicsICdjb2x1bW4nKTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0cGFkZGluZzogKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDAuNjUpIDAgMCAwO1xyXG5cclxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuZml0IHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArICN7X3NpemUoZWxlbWVudC1tYXJnaW4pICogMC41fSk7XHJcblxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LWdyb3cnLCAnMScpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1zaHJpbmsnLCAnMScpO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0XHQ+ICoge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLnN0YWNrZWQge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8vL1xuLy8vIEVkaXRvcmlhbCBieSBIVE1MNSBVUFxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXG4vLy9cblxuLyogSWNvbnMgKi9cblxuXHR1bC5pY29ucyB7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXG5cdFx0bGkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cGFkZGluZzogMCAxZW0gMCAwO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQuaWNvbiB7XG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMjVlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSIsIi8vL1xuLy8vIEVkaXRvcmlhbCBieSBIVE1MNSBVUFxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXG4vLy9cblxuLyogQ29udGFjdCAqL1xuXG5cdHVsLmNvbnRhY3Qge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdGxpIHtcblx0XHRcdEBpbmNsdWRlIGljb247XG5cdFx0XHRib3JkZXItdG9wOiBzb2xpZCAxcHggX3BhbGV0dGUoYm9yZGVyKTtcblx0XHRcdG1hcmdpbjogMS41ZW0gMCAwIDA7XG5cdFx0XHRwYWRkaW5nOiAxLjVlbSAwIDAgM2VtO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbG9yOiBfcGFsZXR0ZShhY2NlbnQpO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdFx0XHRcdGhlaWdodDogMS4xMjVlbTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMTI1ZW07XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR0b3A6ICgxLjVlbSAvIDEuNSk7XG5cdFx0XHRcdHdpZHRoOiAxLjVlbTtcblx0XHRcdH1cblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlci10b3A6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0fVxuXHRcdH1cblx0fSIsIi8vL1xuLy8vIEVkaXRvcmlhbCBieSBIVE1MNSBVUFxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXG4vLy9cblxuLyogUGFnaW5hdGlvbiAqL1xuXG5cdHVsLnBhZ2luYXRpb24ge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblxuXHRcdGxpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRcdD4gLnBhZ2Uge1xuXHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zaXRpb24nLCAoXG5cdFx0XHRcdFx0J2JhY2tncm91bmQtY29sb3IgI3tfZHVyYXRpb24odHJhbnNpdGlvbil9IGVhc2UtaW4tb3V0Jyxcblx0XHRcdFx0XHQnY29sb3IgI3tfZHVyYXRpb24odHJhbnNpdGlvbil9IGVhc2UtaW4tb3V0J1xuXHRcdFx0XHQpKTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogX3NpemUoYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0Zm9udC1zaXplOiAwLjhlbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IF9mb250KHdlaWdodC1ib2xkKTtcblx0XHRcdFx0aGVpZ2h0OiAyZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyZW07XG5cdFx0XHRcdG1hcmdpbjogMCAwLjEyNWVtO1xuXHRcdFx0XHRtaW4td2lkdGg6IDJlbTtcblx0XHRcdFx0cGFkZGluZzogMCAwLjVlbTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBfcGFsZXR0ZShhY2NlbnQpO1xuXHRcdFx0XHRcdGNvbG9yOiBfcGFsZXR0ZShiZykgIWltcG9ydGFudDtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihfcGFsZXR0ZShhY2NlbnQpLCAzKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oX3BhbGV0dGUoYWNjZW50KSwgMyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwLjc1ZW07XG5cdFx0XHR9XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMC43NWVtO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9eHNtYWxsJykge1xuXHRcdFx0bGkge1xuXHRcdFx0XHQmOm50aC1jaGlsZChuKzIpOm50aC1sYXN0LWNoaWxkKG4rMikge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBUYWJsZSAqL1xyXG5cclxuXHQudGFibGUtd3JhcHBlciB7XHJcblx0XHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblx0XHRvdmVyZmxvdy14OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0dGFibGUge1xyXG5cdFx0bWFyZ2luOiAwIDAgX3NpemUoZWxlbWVudC1tYXJnaW4pIDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHR0Ym9keSB7XHJcblx0XHRcdHRyIHtcclxuXHRcdFx0XHRib3JkZXI6IHNvbGlkIDFweCBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAwO1xyXG5cdFx0XHRcdGJvcmRlci1yaWdodDogMDtcclxuXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4gKyAxKSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBfcGFsZXR0ZShib3JkZXItYmcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHRkIHtcclxuXHRcdFx0cGFkZGluZzogMC43NWVtIDAuNzVlbTtcclxuXHRcdH1cclxuXHJcblx0XHR0aCB7XHJcblx0XHRcdGNvbG9yOiBfcGFsZXR0ZShmZy1ib2xkKTtcclxuXHRcdFx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IF9mb250KHdlaWdodC1ib2xkKTtcclxuXHRcdFx0cGFkZGluZzogMCAwLjc1ZW0gMC43NWVtIDAuNzVlbTtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdH1cclxuXHJcblx0XHR0aGVhZCB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDJweCBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRmb290IHtcclxuXHRcdFx0Ym9yZGVyLXRvcDogc29saWQgMnB4IF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5hbHQge1xyXG5cdFx0XHRib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG5cclxuXHRcdFx0dGJvZHkge1xyXG5cdFx0XHRcdHRyIHtcclxuXHRcdFx0XHRcdHRkIHtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcblx0XHRcdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDA7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdC13aWR0aDogMXB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdHRkIHtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wLXdpZHRoOiAxcHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoZWFkIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0Zm9vdCB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0iLCIvLy9cclxuLy8vIEVkaXRvcmlhbCBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEJ1dHRvbiAqL1xyXG4jY29udGVudC1jb3JlIHtcclxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxyXG5cdGlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuXHRpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG5cdGJ1dHRvbixcclxuXHQuYnV0dG9uIHtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignYXBwZWFyYW5jZScsICdub25lJyk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zaXRpb24nLCAoXHJcblx0XHRcdCdiYWNrZ3JvdW5kLWNvbG9yICN7X2R1cmF0aW9uKHRyYW5zaXRpb24pfSBlYXNlLWluLW91dCcsXHJcblx0XHRcdCdjb2xvciAje19kdXJhdGlvbih0cmFuc2l0aW9uKX0gZWFzZS1pbi1vdXQnXHJcblx0XHQpKTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogX3NpemUoYm9yZGVyLXJhZGl1cyk7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggX3BhbGV0dGUoYWNjZW50KTtcclxuXHRcdGNvbG9yOiBfcGFsZXR0ZShhY2NlbnQpICFpbXBvcnRhbnQ7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmb250LWZhbWlseTogX2ZvbnQoZmFtaWx5LWhlYWRpbmcpO1xyXG5cdFx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBfZm9udCh3ZWlnaHQtaGVhZGluZyk7XHJcblx0XHRoZWlnaHQ6IDMuNWVtO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IF9mb250KGtlcm5pbmctaGVhZGluZyk7XHJcblx0XHRsaW5lLWhlaWdodDogMy41ZW07XHJcblx0XHRwYWRkaW5nOiAwIDIuMjVlbTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShfcGFsZXR0ZShhY2NlbnQpLCAwLjk1KTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKF9wYWxldHRlKGFjY2VudCksIDAuODUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaWNvbiB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNWVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5maXQge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHQmLnNtYWxsIHtcclxuXHRcdFx0Zm9udC1zaXplOiAwLjZlbTtcclxuXHRcdH1cclxuXHJcblx0XHQmLmxhcmdlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxZW07XHJcblx0XHRcdGhlaWdodDogMy42NWVtO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMy42NWVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYucHJpbWFyeSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IF9wYWxldHRlKGFjY2VudCk7XHJcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRcdGNvbG9yOiBfcGFsZXR0ZShiZykgIWltcG9ydGFudDtcclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oX3BhbGV0dGUoYWNjZW50KSwgMyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oX3BhbGV0dGUoYWNjZW50KSwgMyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmRpc2FibGVkLFxyXG5cdFx0JjpkaXNhYmxlZCB7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcigncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG5cdFx0XHRvcGFjaXR5OiAwLjI1O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn0iLCIvLy9cclxuLy8vIEVkaXRvcmlhbCBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIE1pbmkgUG9zdHMgKi9cclxuXHJcblx0Lm1pbmktcG9zdHMge1xyXG5cdFx0YXJ0aWNsZSB7XHJcblx0XHRcdGJvcmRlci10b3A6IHNvbGlkIDFweCBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiBfc2l6ZShlbGVtZW50LW1hcmdpbik7XHJcblx0XHRcdHBhZGRpbmctdG9wOiBfc2l6ZShlbGVtZW50LW1hcmdpbik7XHJcblxyXG5cdFx0XHQuaW1hZ2Uge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbjogMCAwIChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjc1KSAwO1xyXG5cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdGJvcmRlci10b3A6IDA7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0iLCIvLy9cclxuLy8vIEVkaXRvcmlhbCBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEZlYXR1cmVzICovXHJcblxyXG5cdC5mZWF0dXJlcyB7XHJcblx0XHQkZ3V0dGVyOiBfc2l6ZShndXR0ZXIpO1xyXG5cclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZGlzcGxheScsICdmbGV4Jyk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtd3JhcCcsICd3cmFwJyk7XHJcblx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgKCRndXR0ZXIgKiAtMSk7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgI3skZ3V0dGVyfSk7XHJcblxyXG5cdFx0YXJ0aWNsZSB7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcignYWxpZ24taXRlbXMnLCAnY2VudGVyJyk7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcignZGlzcGxheScsICdmbGV4Jyk7XHJcblx0XHRcdG1hcmdpbjogMCAwICRndXR0ZXIgJGd1dHRlcjtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAjeyRndXR0ZXJ9KTtcclxuXHJcblx0XHRcdCY6bnRoLWNoaWxkKDJuIC0gMSkge1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogKCRndXR0ZXIgKiAwLjUpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZCgybikge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAoJGd1dHRlciAqIDAuNSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMSksXHJcblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMikge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5pY29uIHtcclxuXHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZ3JvdycsICcwJyk7XHJcblx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LXNocmluaycsICcwJyk7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMGVtO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMGVtO1xyXG5cdFx0XHRcdG1hcmdpbjogMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMCAwO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHR3aWR0aDogMTBlbTtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Y29sb3I6IF9wYWxldHRlKGFjY2VudCk7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDIuNzVyZW07XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHR0b3A6IDAuMDVlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2Zvcm0nLCAncm90YXRlKDQ1ZGVnKScpO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxuXHRcdFx0XHRcdGJvcmRlcjogc29saWQgMnB4IF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA3ZW07XHJcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdFx0XHRtYXJnaW46IC0zLjVlbSAwIDAgLTMuNWVtO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0XHR3aWR0aDogN2VtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1ncm93JywgJzEnKTtcclxuXHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtc2hyaW5rJywgJzEnKTtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdFx0PiA6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9bWVkaXVtJykge1xyXG5cdFx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRhcnRpY2xlIHtcclxuXHRcdFx0XHRtYXJnaW46IDAgMCAkZ3V0dGVyIDA7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDJuIC0gMSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4pIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpudGgtbGFzdC1jaGlsZCgxKSxcclxuXHRcdFx0XHQmOm50aC1sYXN0LWNoaWxkKDIpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5pY29uIHtcclxuXHRcdFx0XHRcdGhlaWdodDogOGVtO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDhlbTtcclxuXHRcdFx0XHRcdHdpZHRoOiA4ZW07XHJcblxyXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDIuMjVyZW07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogNmVtO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IC0zZW0gMCAwIC0zZW07XHJcblx0XHRcdFx0XHRcdHdpZHRoOiA2ZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD14c21hbGwnKSB7XHJcblx0XHRcdGFydGljbGUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1kaXJlY3Rpb24nLCAnY29sdW1uJyk7XHJcblx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdhbGlnbi1pdGVtcycsICdmbGV4LXN0YXJ0Jyk7XHJcblxyXG5cdFx0XHRcdC5pY29uIHtcclxuXHRcdFx0XHRcdGhlaWdodDogNmVtO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDZlbTtcclxuXHRcdFx0XHRcdG1hcmdpbjogMCAwIChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjc1KSAwO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDZlbTtcclxuXHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS41cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDRlbTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAtMmVtIDAgMCAtMmVtO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogNGVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9eHNtYWxsJykge1xyXG5cdFx0XHRhcnRpY2xlIHtcclxuXHRcdFx0XHQuaWNvbiB7XHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBQb3N0cyAqL1xyXG5cclxuXHQucG9zdHMge1xyXG5cdFx0JGd1dHRlcjogKF9zaXplKGd1dHRlcikgKiAyKTtcclxuXHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2Rpc3BsYXknLCAnZmxleCcpO1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LXdyYXAnLCAnd3JhcCcpO1xyXG5cdFx0bWFyZ2luOiAwIDAgX3NpemUoZWxlbWVudC1tYXJnaW4pICgkZ3V0dGVyICogLTEpO1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSArICN7JGd1dHRlcn0pO1xyXG5cclxuXHRcdGFydGljbGUge1xyXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZ3JvdycsICcwJyk7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1zaHJpbmsnLCAnMScpO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAkZ3V0dGVyICRndXR0ZXI7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0d2lkdGg6IGNhbGMoI3soMTAwJSAvIDMpfSAtICN7JGd1dHRlcn0pO1xyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgKyAjeyRndXR0ZXJ9KTtcclxuXHRcdFx0XHRsZWZ0OiAoJGd1dHRlciAqIC0wLjUpO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0d2lkdGg6IDFweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdFx0XHRib3R0b206ICgkZ3V0dGVyICogLTAuNSk7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRndXR0ZXJ9KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0PiA6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmltYWdlIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHJcblx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgneGxhcmdlLXRvLW1heCcpIHtcclxuXHRcdFx0YXJ0aWNsZSB7XHJcblx0XHRcdFx0JjpudGgtY2hpbGQoM24gKyAxKSB7XHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpudGgtbGFzdC1jaGlsZCgxKSxcclxuXHRcdFx0XHQmOm50aC1sYXN0LWNoaWxkKDIpLFxyXG5cdFx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMykge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXhsYXJnZScpIHtcclxuXHRcdFx0YXJ0aWNsZSB7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gI3skZ3V0dGVyfSk7XHJcblxyXG5cdFx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMykge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCdzbWFsbC10by14bGFyZ2UnKSB7XHJcblx0XHRcdGFydGljbGUge1xyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDJuICsgMSkge1xyXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMSksXHJcblx0XHRcdFx0JjpudGgtbGFzdC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9c21hbGwnKSB7XHJcblx0XHRcdCRndXR0ZXI6IF9zaXplKGd1dHRlcikgKiAxLjU7XHJcblxyXG5cdFx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgKCRndXR0ZXIgKiAtMSk7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRndXR0ZXJ9KTtcclxuXHJcblx0XHRcdGFydGljbGUge1xyXG5cdFx0XHRcdG1hcmdpbjogMCAwICRndXR0ZXIgJGd1dHRlcjtcclxuXHRcdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAjeyRndXR0ZXJ9KTtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgKyAjeyRndXR0ZXJ9KTtcclxuXHRcdFx0XHRcdGxlZnQ6ICgkZ3V0dGVyICogLTAuNSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGJvdHRvbTogKCRndXR0ZXIgKiAtMC41KTtcclxuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRndXR0ZXJ9KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMykge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXhzbWFsbCcpIHtcclxuXHRcdFx0JGd1dHRlcjogX3NpemUoZ3V0dGVyKSAqIDEuNTtcclxuXHJcblx0XHRcdG1hcmdpbjogMCAwIF9zaXplKGVsZW1lbnQtbWFyZ2luKSAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdGFydGljbGUge1xyXG5cdFx0XHRcdG1hcmdpbjogMCAwICRndXR0ZXIgMDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHJcblx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBXcmFwcGVyICovXHJcblxyXG5cdCN3cmFwcGVyIHtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZGlzcGxheScsICdmbGV4Jyk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgJ3Jvdy1yZXZlcnNlJyk7XHJcblx0XHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBNYWluICovXHJcblxyXG5cdCNtYWluIHtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1ncm93JywgJzEnKTtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1zaHJpbmsnLCAnMScpO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0PiAuaW5uZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKDAsIDZlbSk7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDExMGVtO1xyXG5cclxuXHRcdFx0PiBzZWN0aW9uIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKDZlbSwgMCk7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogc29saWQgMnB4IF9wYWxldHRlKGJvcmRlcik7XHJcblxyXG5cdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0IFx0Ym9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9eGxhcmdlJykge1xyXG5cdFx0XHQ+IC5pbm5lciB7XHJcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZygwLCA1ZW0pO1xyXG5cclxuXHRcdFx0XHQ+IHNlY3Rpb24ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZyg1ZW0sIDApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9bGFyZ2UnKSB7XHJcblx0XHRcdD4gLmlubmVyIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKDAsIDRlbSk7XHJcblxyXG5cdFx0XHRcdD4gc2VjdGlvbiB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKDRlbSwgMCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD1zbWFsbCcpIHtcclxuXHRcdFx0PiAuaW5uZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoMCwgMmVtKTtcclxuXHJcblx0XHRcdFx0PiBzZWN0aW9uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoM2VtLCAwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBTaWRlYmFyICovXHJcblxyXG5cdCNzZWFyY2gge1xyXG5cdFx0Zm9ybSB7XHJcblx0XHRcdEBpbmNsdWRlIGljb24oZmFsc2UsIHNvbGlkKTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNmb3JtJywgJ3NjYWxlWCgtMSknKTtcclxuXHRcdFx0XHRjb2xvcjogX3BhbGV0dGUoZmcpO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGYwMDInO1xyXG5cdFx0XHRcdGN1cnNvcjogZGVmYXVsdDtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRmb250LXNpemU6IDEuNWVtO1xyXG5cdFx0XHRcdGhlaWdodDogX3NpemUoZWxlbWVudC1oZWlnaHQpIC8gMS4zNzU7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IF9zaXplKGVsZW1lbnQtaGVpZ2h0KSAvIDEuMzc1O1xyXG5cdFx0XHRcdG9wYWNpdHk6IDAuMzI1O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdHdpZHRoOiBfc2l6ZShlbGVtZW50LWhlaWdodCkgLyAxLjM3NTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IF9zaXplKGVsZW1lbnQtaGVpZ2h0KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0I3NpZGViYXIge1xyXG5cdFx0JHBhZDogMmVtIC8gMC45O1xyXG5cclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1ncm93JywgJzAnKTtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1zaHJpbmsnLCAnMCcpO1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgKFxyXG5cdFx0XHQnbWFyZ2luLWxlZnQgMC41cyBlYXNlJyxcclxuXHRcdFx0J2JveC1zaGFkb3cgMC41cyBlYXNlJ1xyXG5cdFx0KSk7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBfcGFsZXR0ZShiZy1hbHQpO1xyXG5cdFx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHdpZHRoOiBfc2l6ZShzaWRlYmFyLXdpZHRoKTtcclxuXHJcblx0XHRoMiB7XHJcblx0XHRcdGZvbnQtc2l6ZTogKDEuMjVlbSAvIDAuOSk7XHJcblx0XHR9XHJcblxyXG5cdFx0PiAuaW5uZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCRwYWQsICRwYWQsICgwLCAwLCAkcGFkLCAwKSk7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0d2lkdGg6IF9zaXplKHNpZGViYXItd2lkdGgpO1xyXG5cclxuXHRcdFx0PiAqIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAycHggX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdFx0XHRtYXJnaW46IDAgMCAoX3NpemUoZWxlbWVudC1tYXJnaW4pICogMS43NSkgMDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDAgKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDEuNzUpIDA7XHJcblxyXG5cdFx0XHRcdD4gOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0PiAuYWx0IHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oX3BhbGV0dGUoYmctYWx0KSwgMik7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdFx0XHRtYXJnaW46ICgkcGFkICogLTEpIDAgKCRwYWQgKiAyKSAoJHBhZCAqIC0xKTtcclxuXHRcdFx0XHRwYWRkaW5nOiAkcGFkO1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRwYWQgKiAyfSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQudG9nZ2xlIHtcclxuXHRcdFx0QGluY2x1ZGUgaWNvbihmYWxzZSwgc29saWQpO1xyXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zaXRpb24nLCAnbGVmdCAwLjVzIGVhc2UnKTtcclxuXHRcdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xyXG5cdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRoZWlnaHQ6IDcuNWVtO1xyXG5cdFx0XHRsZWZ0OiBfc2l6ZShzaWRlYmFyLXdpZHRoKTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDcuNWVtO1xyXG5cdFx0XHRvdXRsaW5lOiAwO1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0dGV4dC1pbmRlbnQ6IC0xNWVtO1xyXG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHdpZHRoOiA2ZW07XHJcblx0XHRcdHotaW5kZXg6IF9taXNjKHotaW5kZXgtYmFzZSk7XHJcblxyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogJ1xcZjBjOSc7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAycmVtO1xyXG5cdFx0XHRcdGhlaWdodDogaW5oZXJpdDtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0ZXh0LWluZGVudDogMDtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0d2lkdGg6IGluaGVyaXQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmluYWN0aXZlIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IChfc2l6ZShzaWRlYmFyLXdpZHRoKSAqIC0xKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXhsYXJnZScpIHtcclxuXHRcdFx0JHBhZDogMS41ZW0gLyAwLjk7XHJcblxyXG5cdFx0XHR3aWR0aDogX3NpemUoc2lkZWJhci13aWR0aC1hbHQpO1xyXG5cclxuXHRcdFx0PiAuaW5uZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoJHBhZCwgJHBhZCwgKDAsIDAsICRwYWQsIDApKTtcclxuXHRcdFx0XHR3aWR0aDogX3NpemUoc2lkZWJhci13aWR0aC1hbHQpO1xyXG5cclxuXHRcdFx0XHQ+IC5hbHQge1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAoJHBhZCAqIC0xKSAwICgkcGFkICogMikgKCRwYWQgKiAtMSk7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAkcGFkO1xyXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArICN7JHBhZCAqIDJ9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50b2dnbGUge1xyXG5cdFx0XHRcdGhlaWdodDogNi4yNWVtO1xyXG5cdFx0XHRcdGxlZnQ6IF9zaXplKHNpZGViYXItd2lkdGgtYWx0KTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNi4yNWVtO1xyXG5cdFx0XHRcdHRleHQtaW5kZW50OiA1ZW07XHJcblx0XHRcdFx0d2lkdGg6IDVlbTtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmluYWN0aXZlIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogKF9zaXplKHNpZGViYXItd2lkdGgtYWx0KSAqIC0xKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9bGFyZ2UnKSB7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMCA1ZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0ei1pbmRleDogX21pc2Moei1pbmRleC1iYXNlKTtcclxuXHJcblx0XHRcdCYuaW5hY3RpdmUge1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdD4gLmlubmVyIHtcclxuXHRcdFx0XHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA0ZW07XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50b2dnbGUge1xyXG5cdFx0XHRcdHRleHQtaW5kZW50OiA2ZW07XHJcblx0XHRcdFx0d2lkdGg6IDZlbTtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogKC0wLjg3NWVtIC8gMik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRib2R5LmlzLXByZWxvYWQgJiB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9c21hbGwnKSB7XHJcblx0XHRcdC50b2dnbGUge1xyXG5cdFx0XHRcdHRleHQtaW5kZW50OiA3LjI1ZW07XHJcblx0XHRcdFx0d2lkdGg6IDcuMjVlbTtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Y29sb3I6IF9wYWxldHRlKGZnKTtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAoLTAuMTI1ZW0gLyAyKTtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6ICgtMC41ZW0gLyAyKTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdFx0XHRcdFx0ei1pbmRleDogMTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUobGlnaHRlbihfcGFsZXR0ZShmZyksIDM1KSwgMC4yNSk7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiBfc2l6ZShib3JkZXItcmFkaXVzKTtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAzLjVlbTtcclxuXHRcdFx0XHRcdGxlZnQ6IDFlbTtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDogMWVtO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDVlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBIZWFkZXIgKi9cclxuXHJcblx0I2hlYWRlciB7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2Rpc3BsYXknLCAnZmxleCcpO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgNXB4IF9wYWxldHRlKGFjY2VudCk7XHJcblx0XHRwYWRkaW5nOiA2ZW0gMCAxZW0gMDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHQ+ICoge1xyXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgnLCAnMScpO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5sb2dvIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBfZm9udChmYW1pbHktaGVhZGluZyk7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuXHRcdH1cclxuXHJcblx0XHQuaWNvbnMge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXhsYXJnZScpIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDVlbTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXNtYWxsJykge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogNi41ZW07XHJcblxyXG5cdFx0XHQubG9nbyB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjI1ZW07XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaWNvbnMge1xyXG5cdFx0XHRcdGhlaWdodDogKDYuMjVlbSAvIDEuMjUpO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAoNi4yNWVtIC8gMS4yNSk7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHJpZ2h0OiAoLTAuNjI1ZW0gLyAxLjI1KTtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBCYW5uZXIgKi9cclxuXHJcblx0I2Jhbm5lciB7XHJcblx0XHRAaW5jbHVkZSBwYWRkaW5nKDZlbSwgMCk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2Rpc3BsYXknLCAnZmxleCcpO1xyXG5cclxuXHRcdGgxIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogLTAuMTI1ZW07XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZ3JvdycsICcxJyk7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1zaHJpbmsnLCAnMScpO1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pbWFnZSB7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1ncm93JywgJzAnKTtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LXNocmluaycsICcwJyk7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDIpO1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0LW1vei1vYmplY3QtZml0OiBjb3ZlcjtcclxuXHRcdFx0XHQtd2Via2l0LW9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0XHRcdC1tcy1vYmplY3QtZml0OiBjb3ZlcjtcclxuXHRcdFx0XHRvYmplY3QtZml0OiBjb3ZlcjtcclxuXHRcdFx0XHQtbW96LW9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRcdC13ZWJraXQtb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRcdFx0LW1zLW9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgb3JpZW50YXRpb24ocG9ydHJhaXQpIHtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LWRpcmVjdGlvbicsICdjb2x1bW4tcmV2ZXJzZScpO1xyXG5cclxuXHRcdFx0aDEge1xyXG5cdFx0XHRcdGJyIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29udGVudCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LWdyb3cnLCAnMCcpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1zaHJpbmsnLCAnMCcpO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaW1hZ2Uge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1ncm93JywgJzAnKTtcclxuXHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtc2hyaW5rJywgJzAnKTtcclxuXHRcdFx0XHRtYXJnaW46IDAgMCAoX3NpemUoZWxlbWVudC1tYXJnaW4pICogMikgMDtcclxuXHRcdFx0XHRoZWlnaHQ6IDI1ZW07XHJcblx0XHRcdFx0bWF4LWhlaWdodDogNTB2aDtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAxOGVtO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXhzbWFsbCcpIHtcclxuXHRcdFx0XHQuaW1hZ2Uge1xyXG5cdFx0XHRcdFx0bWF4LWhlaWdodDogMzV2aDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IiwiLy8vXHJcbi8vLyBFZGl0b3JpYWwgYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBGb290ZXIgKi9cclxuXHJcblx0I2Zvb3RlciB7XHJcblx0XHQuY29weXJpZ2h0IHtcclxuXHRcdFx0Y29sb3I6IF9wYWxldHRlKGZnLWxpZ2h0KTtcclxuXHRcdFx0Zm9udC1zaXplOiAwLjllbTtcclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8vL1xyXG4vLy8gRWRpdG9yaWFsIGJ5IEhUTUw1IFVQXHJcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxyXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbi8vL1xyXG5cclxuLyogTWVudSAqL1xyXG5cclxuXHQjbWVudSB7XHJcblx0XHR1bCB7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcigndXNlci1zZWxlY3QnLCAnbm9uZScpO1xyXG5cdFx0XHRjb2xvcjogX3BhbGV0dGUoZmctYm9sZCk7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBfZm9udChmYW1pbHktaGVhZGluZyk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBfZm9udCh3ZWlnaHQtaGVhZGluZy1hbHQpO1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogX2ZvbnQoa2VybmluZy1oZWFkaW5nKTtcclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblx0XHRcdGEsIHNwYW4ge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0XHRcdFx0cGFkZGluZzogMC42MjVlbSAwO1xyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiBfcGFsZXR0ZShhY2NlbnQpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5vcGVuZXIge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgJ2NvbG9yICN7X2R1cmF0aW9uKHRyYW5zaXRpb24pfSBlYXNlLWluLW91dCcpO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgaWNvbihmYWxzZSwgc29saWQpO1xyXG5cdFx0XHRcdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgKFxyXG5cdFx0XHRcdFx0XHRcdCdjb2xvciAje19kdXJhdGlvbih0cmFuc2l0aW9uKX0gZWFzZS1pbi1vdXQnLFxyXG5cdFx0XHRcdFx0XHRcdCd0cmFuc2Zvcm0gI3tfZHVyYXRpb24odHJhbnNpdGlvbil9IGVhc2UtaW4tb3V0J1xyXG5cdFx0XHRcdFx0XHQpKTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IF9wYWxldHRlKGZnLWxpZ2h0KTtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogJ1xcZjA3OCc7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogX3BhbGV0dGUoYWNjZW50KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0JiArIHVsIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNmb3JtJywgJ3JvdGF0ZSgtMTgwZGVnKScpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0PiB1bCB7XHJcblx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdGJvcmRlci10b3A6IHNvbGlkIDFweCBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHRcdG1hcmdpbjogMC41ZW0gMCAwIDA7XHJcblx0XHRcdFx0cGFkZGluZzogMC41ZW0gMCAwIDA7XHJcblxyXG5cdFx0XHRcdD4gdWwge1xyXG5cdFx0XHRcdFx0Y29sb3I6IF9wYWxldHRlKGZnLWxpZ2h0KTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHRtYXJnaW46IDAuNWVtIDAgMS41ZW0gMDtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMWVtO1xyXG5cclxuXHRcdFx0XHRcdGEsIHNwYW4ge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOGVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDAuMTI1ZW0gMCAwIDA7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAuMTI1ZW0gMCAwIDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdGJvcmRlci10b3A6IDA7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSJdfQ== */