@charset "UTF-8";
/*
$btn-border-radius:                  2rem !default;
$btn-border-radius-sm:               1rem !default;
$btn-border-radius-lg:               2rem !default;
$input-border-radius:                2rem !default;
$input-border-radius-sm:             1rem !default;
$input-border-radius-lg:             2rem !default;
*/
.element-invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  clip-path: inset(50%);
}

.hide,
.hidden {
  display: none;
  visibility: hidden;
}

.table-row {
  display: table-row;
}

joomla-alert {
  display: none;
}

.editor-xtd-buttons .btn, .editor-xtd-buttons .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .editor-xtd-buttons .form-check-label-text {
  margin-bottom: 5px;
}

/*
$btn-border-radius:                  2rem !default;
$btn-border-radius-sm:               1rem !default;
$btn-border-radius-lg:               2rem !default;
$input-border-radius:                2rem !default;
$input-border-radius-sm:             1rem !default;
$input-border-radius-lg:             2rem !default;
*/
/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --blue: hsl(240, 98%, 17%);
  --indigo: hsl(263, 90%, 51%);
  --purple: hsl(261, 51%, 51%);
  --pink: hsl(332, 79%, 58%);
  --red: hsl(3, 75%, 37%);
  --orange: hsl(27, 98%, 54%);
  --yellow: hsl(34, 100%, 34%);
  --green: hsl(120, 32%, 39%);
  --teal: hsl(194, 66%, 61%);
  --cyan: hsl(207, 49%, 37%);
  --white: hsl(0, 0%, 100%);
  --gray-100: hsl(210, 17%, 98%);
  --gray-200: hsl(210, 16%, 93%);
  --gray-300: hsl(210, 14%, 89%);
  --gray-400: hsl(210, 14%, 83%);
  --gray-500: hsl(210, 11%, 71%);
  --gray-600: hsl(210, 7%, 46%);
  --gray-700: hsl(210, 9%, 31%);
  --gray-800: hsl(210, 10%, 23%);
  --gray-900: hsl(210, 11%, 15%);
  --primary: hsl(240, 98%, 17%);
  --secondary: hsl(210, 7%, 46%);
  --success: hsl(120, 32%, 39%);
  --info: hsl(207, 49%, 37%);
  --warning: hsl(34, 100%, 34%);
  --danger: hsl(3, 75%, 37%);
  --light: hsl(210, 17%, 98%);
  --dark: hsl(210, 10%, 23%);
  --primary-rgb: 1, 1, 86;
  --secondary-rgb: 109, 117, 126;
  --success-rgb: 68, 131, 68;
  --info-rgb: 48, 99, 141;
  --warning-rgb: 173, 98, 0;
  --danger-rgb: 165, 31, 24;
  --light-rgb: 249, 250, 251;
  --dark-rgb: 53, 59, 65;
  --primary-text-emphasis: #000022;
  --secondary-text-emphasis: #2c2f32;
  --success-text-emphasis: #1b341b;
  --info-text-emphasis: #132838;
  --warning-text-emphasis: #452700;
  --danger-text-emphasis: #420c0a;
  --light-text-emphasis: hsl(210, 9%, 31%);
  --dark-text-emphasis: hsl(210, 9%, 31%);
  --primary-bg-subtle: #ccccdd;
  --secondary-bg-subtle: #e2e3e5;
  --success-bg-subtle: #dae6da;
  --info-bg-subtle: #d6e0e8;
  --warning-bg-subtle: #efe0cc;
  --danger-bg-subtle: #edd2d1;
  --light-bg-subtle: #fcfdfd;
  --dark-bg-subtle: hsl(210, 14%, 83%);
  --primary-border-subtle: #9999bb;
  --secondary-border-subtle: #c5c8cb;
  --success-border-subtle: #b4cdb4;
  --info-border-subtle: #acc1d1;
  --warning-border-subtle: #dec099;
  --danger-border-subtle: #dba5a3;
  --light-border-subtle: hsl(210, 16%, 93%);
  --dark-border-subtle: hsl(210, 11%, 71%);
  --white-rgb: 255, 255, 255;
  --black-rgb: 0, 0, 0;
  --font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --root-font-size: 14px;
  --body-font-family: var(--neoteric-font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  --body-font-size: 1rem;
  --body-font-weight: var(--neoteric-font-weight-normal, 400);
  --body-line-height: 1.5;
  --body-color: hsl(210, 11%, 15%);
  --body-color-rgb: 34, 38, 42;
  --body-bg: hsl(0, 0%, 100%);
  --body-bg-rgb: 255, 255, 255;
  --emphasis-color: hsl(0, 0%, 0%);
  --emphasis-color-rgb: 0, 0, 0;
  --secondary-color: rgba(34, 38, 42, 0.75);
  --secondary-color-rgb: 34, 38, 42;
  --secondary-bg: hsl(210, 16%, 93%);
  --secondary-bg-rgb: 234, 237, 240;
  --tertiary-color: rgba(34, 38, 42, 0.5);
  --tertiary-color-rgb: 34, 38, 42;
  --tertiary-bg: hsl(210, 17%, 98%);
  --tertiary-bg-rgb: 249, 250, 251;
  --heading-color: inherit;
  --link-color: hsl(220, 67%, 40%);
  --link-color-rgb: 34, 79, 170;
  --link-decoration: underline;
  --link-hover-color: hsl(242, 30%, 36%);
  --link-hover-color-rgb: 66, 64, 119;
  --code-color: hsl(332, 79%, 58%);
  --highlight-color: hsl(210, 11%, 15%);
  --highlight-bg: #fbeea8;
  --border-width: 1px;
  --border-style: solid;
  --border-color: hsl(210, 14%, 89%);
  --border-color-translucent: rgba(0, 0, 0, 0.175);
  --border-radius: 0.25rem;
  --border-radius-sm: 0.2rem;
  --border-radius-lg: 0.3rem;
  --border-radius-xl: 0.3rem;
  --border-radius-xxl: 2rem;
  --border-radius-2xl: var(--border-radius-xxl);
  --border-radius-pill: 50rem;
  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --focus-ring-width: 0.25rem;
  --focus-ring-opacity: 0.25;
  --focus-ring-color: rgba(1, 1, 86, 0.25);
  --form-valid-color: hsl(120, 32%, 39%);
  --form-valid-border-color: hsl(120, 32%, 39%);
  --form-invalid-color: hsl(3, 75%, 37%);
  --form-invalid-border-color: hsl(3, 75%, 37%);
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --body-color: hsl(210, 14%, 89%);
  --body-color-rgb: 223, 227, 231;
  --body-bg: hsl(210, 11%, 15%);
  --body-bg-rgb: 34, 38, 42;
  --emphasis-color: hsl(0, 0%, 100%);
  --emphasis-color-rgb: 255, 255, 255;
  --secondary-color: rgba(223, 227, 231, 0.75);
  --secondary-color-rgb: 223, 227, 231;
  --secondary-bg: hsl(210, 10%, 23%);
  --secondary-bg-rgb: 53, 59, 65;
  --tertiary-color: rgba(223, 227, 231, 0.5);
  --tertiary-color-rgb: 223, 227, 231;
  --tertiary-bg: #2c3136;
  --tertiary-bg-rgb: 44, 49, 54;
  --primary-text-emphasis: #67679a;
  --secondary-text-emphasis: #a7acb2;
  --success-text-emphasis: #8fb58f;
  --info-text-emphasis: #83a1bb;
  --warning-text-emphasis: #cea166;
  --danger-text-emphasis: #c97974;
  --light-text-emphasis: hsl(210, 17%, 98%);
  --dark-text-emphasis: hsl(210, 14%, 89%);
  --primary-bg-subtle: #000011;
  --secondary-bg-subtle: #161719;
  --success-bg-subtle: #0e1a0e;
  --info-bg-subtle: #0a141c;
  --warning-bg-subtle: #231400;
  --danger-bg-subtle: #210605;
  --light-bg-subtle: hsl(210, 10%, 23%);
  --dark-bg-subtle: #1b1e21;
  --primary-border-subtle: #010134;
  --secondary-border-subtle: #41464c;
  --success-border-subtle: #294f29;
  --info-border-subtle: #1d3b55;
  --warning-border-subtle: #683b00;
  --danger-border-subtle: #63130e;
  --light-border-subtle: hsl(210, 9%, 31%);
  --dark-border-subtle: hsl(210, 10%, 23%);
  --heading-color: inherit;
  --link-color: #67679a;
  --link-hover-color: #8585ae;
  --link-color-rgb: 103, 103, 154;
  --link-hover-color-rgb: 133, 133, 174;
  --code-color: #f28cbb;
  --highlight-color: hsl(210, 14%, 89%);
  --highlight-bg: #452700;
  --border-color: hsl(210, 9%, 31%);
  --border-color-translucent: rgba(255, 255, 255, 0.15);
  --form-valid-color: #8fb58f;
  --form-valid-border-color: #8fb58f;
  --form-invalid-color: #c97974;
  --form-invalid-border-color: #c97974;
}

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

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

body {
  margin: 0;
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
  line-height: var(--body-line-height);
  color: var(--body-color);
  text-align: var(--body-text-align);
  background-color: var(--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(--border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--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(--highlight-color);
  background-color: var(--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(--link-color-rgb), var(--link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --link-color-rgb: var(--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(--font-monospace);
  font-size: 1em;
}

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

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

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

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

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

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--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;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@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;
}
[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}

/* 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-weight: 300;
  line-height: 1.2;
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

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

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

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

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

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

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

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

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

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

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

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: hsl(210, 7%, 46%);
}
.blockquote-footer::before {
  content: "— ";
}

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

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

.figure {
  display: inline-block;
}

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

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

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

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

.row {
  --gutter-x: 2em;
  --gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--gutter-y));
  margin-right: calc(-0.5 * var(--gutter-x));
  margin-left: calc(-0.5 * var(--gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--gutter-x) * 0.5);
  padding-left: calc(var(--gutter-x) * 0.5);
  margin-top: var(--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 {
  --gutter-x: 0;
}

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

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

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

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

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

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

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

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

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

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

.g-5,
.gy-5 {
  --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 {
    --gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --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 {
    --gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --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 {
    --gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --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 {
    --gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --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 {
    --gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --gutter-y: 3rem;
  }
}
.table {
  --table-color-type: initial;
  --table-bg-type: initial;
  --table-color-state: initial;
  --table-bg-state: initial;
  --table-color: var(--emphasis-color);
  --table-bg: var(--body-bg);
  --table-border-color: var(--border-color);
  --table-accent-bg: transparent;
  --table-striped-color: var(--emphasis-color);
  --table-striped-bg: rgba(var(--emphasis-color-rgb), 0.05);
  --table-active-color: var(--emphasis-color);
  --table-active-bg: rgba(var(--emphasis-color-rgb), 0.1);
  --table-hover-color: var(--emphasis-color);
  --table-hover-bg: rgba(var(--emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--table-color-state, var(--table-color-type, var(--table-color)));
  background-color: var(--table-bg);
  border-bottom-width: var(--border-width);
  box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

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

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

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

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

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

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

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

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

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

.table-primary {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #ccccdd;
  --table-border-color: #a3a3b1;
  --table-striped-bg: #c2c2d2;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #b8b8c7;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #bdbdcc;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-secondary {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #e2e3e5;
  --table-border-color: #b5b6b7;
  --table-striped-bg: #d7d8da;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #cbccce;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #d1d2d4;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-success {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #dae6da;
  --table-border-color: #aeb8ae;
  --table-striped-bg: #cfdbcf;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #c4cfc4;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #cad5ca;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-info {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #d6e0e8;
  --table-border-color: #abb3ba;
  --table-striped-bg: #cbd5dc;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #c1cad1;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #c6cfd7;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-warning {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #efe0cc;
  --table-border-color: #bfb3a3;
  --table-striped-bg: #e3d5c2;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #d7cab8;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #ddcfbd;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-danger {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #edd2d1;
  --table-border-color: #bea8a7;
  --table-striped-bg: #e1c8c7;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #d5bdbc;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #dbc2c1;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-light {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: hsl(210, 17%, 98%);
  --table-border-color: #c7c8c9;
  --table-striped-bg: #edeeee;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #e0e1e2;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #e6e7e8;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-dark {
  --table-color: hsl(0, 0%, 100%);
  --table-bg: hsl(210, 10%, 23%);
  --table-border-color: #5d6267;
  --table-striped-bg: #3f454b;
  --table-striped-color: hsl(0, 0%, 100%);
  --table-active-bg: #494f54;
  --table-active-color: hsl(0, 0%, 100%);
  --table-hover-bg: #444a4f;
  --table-hover-color: hsl(0, 0%, 100%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

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

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

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

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

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

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

.form-control, .cf-form-search .input-append input[type=search]:not(.form-control),
.cf-form-search .input-append input[type=text]:not(.form-control), .old-form input[type=text],
.old-form input[type=password],
.old-form input[type=email],
.old-form textarea {
  display: block;
  width: 100%;
  padding: 0.6rem 1rem;
  font-size: 1rem;
  font-weight: var(--neoteric-font-weight-normal, 400);
  line-height: 1.5;
  color: var(--body-color);
  appearance: none;
  background-color: var(--body-bg);
  background-clip: padding-box;
  border: 2px solid hsl(210, 14%, 83%);
  border-radius: var(--border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control, .cf-form-search .input-append input[type=search]:not(.form-control),
  .cf-form-search .input-append input[type=text]:not(.form-control), .old-form input[type=text],
  .old-form input[type=password],
  .old-form input[type=email],
  .old-form textarea {
    transition: none;
  }
}
.form-control[type=file], .cf-form-search .input-append input[type=file][type=search]:not(.form-control),
.cf-form-search .input-append input[type=file][type=text]:not(.form-control), .old-form input[type=file][type=text],
.old-form input[type=file][type=password],
.old-form input[type=file][type=email],
.old-form textarea[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]), .cf-form-search .input-append input[type=file][type=search]:not(:disabled):not([readonly]):not(.form-control),
.cf-form-search .input-append input[type=file][type=text]:not(:disabled):not([readonly]):not(.form-control), .old-form input[type=file][type=text]:not(:disabled):not([readonly]),
.old-form input[type=file][type=password]:not(:disabled):not([readonly]),
.old-form input[type=file][type=email]:not(:disabled):not([readonly]),
.old-form textarea[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus, .cf-form-search .input-append input[type=search]:focus:not(.form-control),
.cf-form-search .input-append input[type=text]:focus:not(.form-control), .old-form input[type=text]:focus,
.old-form input[type=password]:focus,
.old-form input[type=email]:focus,
.old-form textarea:focus {
  color: var(--body-color);
  background-color: var(--body-bg);
  border-color: #8080ab;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
}
.form-control::-webkit-date-and-time-value, .cf-form-search .input-append input[type=search]:not(.form-control)::-webkit-date-and-time-value,
.cf-form-search .input-append input[type=text]:not(.form-control)::-webkit-date-and-time-value, .old-form input[type=text]::-webkit-date-and-time-value,
.old-form input[type=password]::-webkit-date-and-time-value,
.old-form input[type=email]::-webkit-date-and-time-value,
.old-form textarea::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit, .cf-form-search .input-append input[type=search]:not(.form-control)::-webkit-datetime-edit,
.cf-form-search .input-append input[type=text]:not(.form-control)::-webkit-datetime-edit, .old-form input[type=text]::-webkit-datetime-edit,
.old-form input[type=password]::-webkit-datetime-edit,
.old-form input[type=email]::-webkit-datetime-edit,
.old-form textarea::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder, .cf-form-search .input-append input[type=search]:not(.form-control)::placeholder,
.cf-form-search .input-append input[type=text]:not(.form-control)::placeholder, .old-form input[type=text]::placeholder,
.old-form input[type=password]::placeholder,
.old-form input[type=email]::placeholder,
.old-form textarea::placeholder {
  color: var(--secondary-color);
  opacity: 1;
}
.form-control:disabled, .cf-form-search .input-append input[type=search]:disabled:not(.form-control),
.cf-form-search .input-append input[type=text]:disabled:not(.form-control), .old-form input[type=text]:disabled,
.old-form input[type=password]:disabled,
.old-form input[type=email]:disabled,
.old-form textarea:disabled {
  background-color: var(--secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button, .cf-form-search .input-append input[type=search]:not(.form-control)::file-selector-button,
.cf-form-search .input-append input[type=text]:not(.form-control)::file-selector-button, .old-form input[type=text]::file-selector-button,
.old-form input[type=password]::file-selector-button,
.old-form input[type=email]::file-selector-button,
.old-form textarea::file-selector-button {
  padding: 0.6rem 1rem;
  margin: -0.6rem -1rem;
  margin-inline-end: 1rem;
  color: var(--body-color);
  background-color: var(--tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 2px;
  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, .cf-form-search .input-append input[type=search]:not(.form-control)::file-selector-button,
  .cf-form-search .input-append input[type=text]:not(.form-control)::file-selector-button, .old-form input[type=text]::file-selector-button,
  .old-form input[type=password]::file-selector-button,
  .old-form input[type=email]::file-selector-button,
  .old-form textarea::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button, .cf-form-search .input-append input[type=search]:hover:not(:disabled):not([readonly]):not(.form-control)::file-selector-button,
.cf-form-search .input-append input[type=text]:hover:not(:disabled):not([readonly]):not(.form-control)::file-selector-button, .old-form input[type=text]:hover:not(:disabled):not([readonly])::file-selector-button,
.old-form input[type=password]:hover:not(:disabled):not([readonly])::file-selector-button,
.old-form input[type=email]:hover:not(:disabled):not([readonly])::file-selector-button,
.old-form textarea:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.6rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: 2px 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(2px * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--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 + 1.4rem + calc(2px * 2));
  padding: 0.7rem 1.5rem;
  font-size: 1rem;
  border-radius: var(--border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.7rem 1.5rem;
  margin: -0.7rem -1.5rem;
  margin-inline-end: 1.5rem;
}

textarea.form-control,
.old-form textarea {
  min-height: calc(1.5em + 1.2rem + calc(2px * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(2px * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1.4rem + calc(2px * 2));
}

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

.form-select, .custom-select, .old-form select {
  --form-select-bg-img: url("../images/select-bg.svg");
  display: block;
  width: 100%;
  padding: 0.6rem 3rem 0.6rem 1rem;
  font-size: 1rem;
  font-weight: var(--neoteric-font-weight-normal, 400);
  line-height: 1.5;
  color: var(--body-color);
  appearance: none;
  background-color: hsl(210, 16%, 93%);
  background-image: var(--form-select-bg-img), var(--form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 116rem;
  border: 2px solid hsl(210, 14%, 83%);
  border-radius: var(--border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select, .custom-select, .old-form select {
    transition: none;
  }
}
.form-select:focus, .custom-select:focus, .old-form select:focus {
  border-color: #8080ab;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
}
.form-select[multiple], [multiple].custom-select, .old-form select[multiple], .form-select[size]:not([size="1"]), [size].custom-select:not([size="1"]), .old-form select[size]:not([size="1"]) {
  padding-right: 1rem;
  background-image: none;
}
.form-select:disabled, .custom-select:disabled, .old-form select:disabled {
  background-color: var(--secondary-bg);
}
.form-select:-moz-focusring, .custom-select:-moz-focusring, .old-form select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--body-color);
}

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

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

[data-bs-theme=dark] .form-select, [data-bs-theme=dark] .custom-select, [data-bs-theme=dark] .old-form select, .old-form [data-bs-theme=dark] select {
  --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='hsl%28210, 14%, 89%%29' 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, .form-check-vm.form-check input[type=radio],
.form-check-vm.form-check input[type=checkbox] {
  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, .form-check-reverse .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .form-check-reverse input[type=radio],
.form-check-reverse .form-check-vm.form-check input[type=checkbox],
.form-check-vm.form-check .form-check-reverse input[type=checkbox] {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input, .form-check-vm.form-check input[type=radio],
.form-check-vm.form-check input[type=checkbox] {
  --form-check-bg: var(--body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  appearance: none;
  background-color: var(--form-check-bg);
  background-image: var(--form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--border-width) solid var(--border-color);
  print-color-adjust: exact;
}
.form-check-input[type=checkbox],
.form-check-vm.form-check input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio], .form-check-vm.form-check input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active, .form-check-vm.form-check input[type=radio]:active,
.form-check-vm.form-check input[type=checkbox]:active {
  filter: brightness(90%);
}
.form-check-input:focus, .form-check-vm.form-check input[type=radio]:focus,
.form-check-vm.form-check input[type=checkbox]:focus {
  border-color: #8080ab;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
}
.form-check-input:checked, .form-check-vm.form-check input[type=radio]:checked,
.form-check-vm.form-check input[type=checkbox]:checked {
  background-color: hsl(240, 98%, 17%);
  border-color: hsl(240, 98%, 17%);
}
.form-check-input:checked[type=checkbox],
.form-check-vm.form-check input:checked[type=checkbox] {
  --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='hsl%280, 0%, 100%%29' 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], .form-check-vm.form-check input:checked[type=radio] {
  --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='hsl%280, 0%, 100%%29'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate,
.form-check-vm.form-check input[type=checkbox]:indeterminate {
  background-color: hsl(240, 98%, 17%);
  border-color: hsl(240, 98%, 17%);
  --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='hsl%280, 0%, 100%%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled, .form-check-vm.form-check input[type=radio]:disabled,
.form-check-vm.form-check input[type=checkbox]:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-vm.form-check .form-check-input[disabled] ~ label, .form-check-vm.form-check input[disabled][type=radio] ~ .form-check-label, .form-check-vm.form-check input[disabled][type=radio] ~ label,
.form-check-vm.form-check input[disabled][type=checkbox] ~ .form-check-label,
.form-check-vm.form-check input[disabled][type=checkbox] ~ label, .form-check-input:disabled ~ .form-check-label, .form-check-vm.form-check .form-check-input:disabled ~ label, .form-check-vm.form-check input[type=radio]:disabled ~ .form-check-label, .form-check-vm.form-check input[type=radio]:disabled ~ label,
.form-check-vm.form-check input[type=checkbox]:disabled ~ .form-check-label,
.form-check-vm.form-check input[type=checkbox]:disabled ~ label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input, .form-switch .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .form-switch input[type=radio],
.form-switch .form-check-vm.form-check input[type=checkbox],
.form-check-vm.form-check .form-switch input[type=checkbox] {
  --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(--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, .form-switch .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .form-switch input[type=radio],
  .form-switch .form-check-vm.form-check input[type=checkbox],
  .form-check-vm.form-check .form-switch input[type=checkbox] {
    transition: none;
  }
}
.form-switch .form-check-input:focus, .form-switch .form-check-vm.form-check input[type=radio]:focus, .form-check-vm.form-check .form-switch input[type=radio]:focus,
.form-switch .form-check-vm.form-check input[type=checkbox]:focus,
.form-check-vm.form-check .form-switch input[type=checkbox]:focus {
  --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='%238080ab'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked, .form-switch .form-check-vm.form-check input[type=radio]:checked, .form-check-vm.form-check .form-switch input[type=radio]:checked,
.form-switch .form-check-vm.form-check input[type=checkbox]:checked,
.form-check-vm.form-check .form-switch input[type=checkbox]:checked {
  background-position: right center;
  --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='hsl%280, 0%, 100%%29'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input, .form-switch.form-check-reverse .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .form-switch.form-check-reverse input[type=radio],
.form-switch.form-check-reverse .form-check-vm.form-check input[type=checkbox],
.form-check-vm.form-check .form-switch.form-check-reverse input[type=checkbox] {
  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-vm-customfield .btn-check[disabled] + .form-check-label-text, .btn-check:disabled + .btn, .btn-vm-customfield .btn-check:disabled + .form-check-label-text {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus), [data-bs-theme=dark] .form-switch .form-check-vm.form-check input[type=radio]:not(:checked):not(:focus), .form-check-vm.form-check [data-bs-theme=dark] .form-switch input[type=radio]:not(:checked):not(:focus),
[data-bs-theme=dark] .form-switch .form-check-vm.form-check input[type=checkbox]:not(:checked):not(:focus),
.form-check-vm.form-check [data-bs-theme=dark] .form-switch input[type=checkbox]:not(:checked):not(:focus) {
  --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 hsl(0, 0%, 100%), 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px hsl(0, 0%, 100%), 0 0 0 0.25rem rgba(1, 1, 86, 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: hsl(240, 98%, 17%);
  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: #b3b3cc;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: hsl(240, 98%, 17%);
  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: #b3b3cc;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control, .cf-form-search .input-append .form-floating > input[type=search]:not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:not(.form-control), .old-form .form-floating > input[type=text],
.old-form .form-floating > input[type=password],
.old-form .form-floating > input[type=email],
.old-form .form-floating > textarea,
.form-floating > .form-control-plaintext,
.form-floating > .form-select,
.form-floating > .custom-select,
.old-form .form-floating > select {
  height: calc(3.5rem + calc(2px * 2));
  min-height: calc(3.5rem + calc(2px * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 1rem;
  overflow: hidden;
  color: rgba(var(--body-color-rgb), 0.65);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 2px 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, .cf-form-search .input-append .form-floating > input[type=search]:not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:not(.form-control), .old-form .form-floating > input[type=text],
.old-form .form-floating > input[type=password],
.old-form .form-floating > input[type=email],
.old-form .form-floating > textarea,
.form-floating > .form-control-plaintext {
  padding: 1rem 1rem;
}
.form-floating > .form-control::placeholder, .cf-form-search .input-append .form-floating > input[type=search]:not(.form-control)::placeholder,
.cf-form-search .input-append .form-floating > input[type=text]:not(.form-control)::placeholder, .old-form .form-floating > input[type=text]::placeholder,
.old-form .form-floating > input[type=password]::placeholder,
.old-form .form-floating > input[type=email]::placeholder,
.old-form .form-floating > textarea::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .cf-form-search .input-append .form-floating > input[type=search]:focus:not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:focus:not(.form-control), .old-form .form-floating > input[type=text]:focus,
.old-form .form-floating > input[type=password]:focus,
.old-form .form-floating > input[type=email]:focus,
.old-form .form-floating > textarea:focus, .form-floating > .form-control:not(:placeholder-shown), .cf-form-search .input-append .form-floating > input[type=search]:not(:placeholder-shown):not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:not(:placeholder-shown):not(.form-control), .old-form .form-floating > input[type=text]:not(:placeholder-shown),
.old-form .form-floating > input[type=password]:not(:placeholder-shown),
.old-form .form-floating > input[type=email]:not(:placeholder-shown),
.old-form .form-floating > textarea: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, .cf-form-search .input-append .form-floating > input[type=search]:-webkit-autofill:not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:-webkit-autofill:not(.form-control), .old-form .form-floating > input[type=text]:-webkit-autofill,
.old-form .form-floating > input[type=password]:-webkit-autofill,
.old-form .form-floating > input[type=email]:-webkit-autofill,
.old-form .form-floating > textarea:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select, .form-floating > .custom-select, .old-form .form-floating > select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
  padding-left: 1rem;
}
.form-floating > .form-control:focus ~ label, .cf-form-search .input-append .form-floating > input[type=search]:focus:not(.form-control) ~ label,
.cf-form-search .input-append .form-floating > input[type=text]:focus:not(.form-control) ~ label, .old-form .form-floating > input[type=text]:focus ~ label,
.old-form .form-floating > input[type=password]:focus ~ label,
.old-form .form-floating > input[type=email]:focus ~ label,
.old-form .form-floating > textarea:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.cf-form-search .input-append .form-floating > input[type=search]:not(:placeholder-shown):not(.form-control) ~ label,
.cf-form-search .input-append .form-floating > input[type=text]:not(:placeholder-shown):not(.form-control) ~ label,
.old-form .form-floating > input[type=text]:not(:placeholder-shown) ~ label,
.old-form .form-floating > input[type=password]:not(:placeholder-shown) ~ label,
.old-form .form-floating > input[type=email]:not(:placeholder-shown) ~ label,
.old-form .form-floating > textarea:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label,
.form-floating > .custom-select ~ label,
.old-form .form-floating > select ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label, .cf-form-search .input-append .form-floating > input[type=search]:-webkit-autofill:not(.form-control) ~ label,
.cf-form-search .input-append .form-floating > input[type=text]:-webkit-autofill:not(.form-control) ~ label, .old-form .form-floating > input[type=text]:-webkit-autofill ~ label,
.old-form .form-floating > input[type=password]:-webkit-autofill ~ label,
.old-form .form-floating > input[type=email]:-webkit-autofill ~ label,
.old-form .form-floating > textarea:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.5rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--body-bg);
  border-radius: var(--border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--secondary-bg);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: 2px 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label,
.cf-form-search .input-append .form-floating > input[type=search]:disabled:not(.form-control) ~ label,
.cf-form-search .input-append .form-floating > input[type=text]:disabled:not(.form-control) ~ label {
  color: hsl(210, 7%, 46%);
}

.input-group, .cf-form-search .input-append {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control, .cf-form-search .input-append .input-group > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group > input[type=text]:not(.form-control), .cf-form-search .input-append > .form-control, .cf-form-search .input-append > input[type=search]:not(.form-control),
.cf-form-search .input-append > input[type=text]:not(.form-control), .old-form .input-group > input[type=text], .old-form .cf-form-search .input-append > input[type=text], .cf-form-search .old-form .input-append > input[type=text],
.old-form .input-group > input[type=password],
.old-form .cf-form-search .input-append > input[type=password],
.cf-form-search .old-form .input-append > input[type=password],
.old-form .input-group > input[type=email],
.old-form .cf-form-search .input-append > input[type=email],
.cf-form-search .old-form .input-append > input[type=email],
.old-form .input-group > textarea,
.old-form .cf-form-search .input-append > textarea,
.cf-form-search .old-form .input-append > textarea,
.input-group > .form-select,
.input-group > .custom-select,
.cf-form-search .input-append > .form-select,
.cf-form-search .input-append > .custom-select,
.old-form .input-group > select,
.old-form .cf-form-search .input-append > select,
.cf-form-search .old-form .input-append > select,
.input-group > .form-floating,
.cf-form-search .input-append > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus, .cf-form-search .input-append .input-group > input[type=search]:focus:not(.form-control),
.cf-form-search .input-append .input-group > input[type=text]:focus:not(.form-control), .cf-form-search .input-append > .form-control:focus, .cf-form-search .input-append > input[type=search]:focus:not(.form-control),
.cf-form-search .input-append > input[type=text]:focus:not(.form-control), .old-form .input-group > input[type=text]:focus, .old-form .cf-form-search .input-append > input[type=text]:focus, .cf-form-search .old-form .input-append > input[type=text]:focus,
.old-form .input-group > input[type=password]:focus,
.old-form .cf-form-search .input-append > input[type=password]:focus,
.cf-form-search .old-form .input-append > input[type=password]:focus,
.old-form .input-group > input[type=email]:focus,
.old-form .cf-form-search .input-append > input[type=email]:focus,
.cf-form-search .old-form .input-append > input[type=email]:focus,
.old-form .input-group > textarea:focus,
.old-form .cf-form-search .input-append > textarea:focus,
.cf-form-search .old-form .input-append > textarea:focus,
.input-group > .form-select:focus,
.input-group > .custom-select:focus,
.cf-form-search .input-append > .form-select:focus,
.cf-form-search .input-append > .custom-select:focus,
.old-form .input-group > select:focus,
.old-form .cf-form-search .input-append > select:focus,
.cf-form-search .old-form .input-append > select:focus,
.input-group > .form-floating:focus-within,
.cf-form-search .input-append > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn, .cf-form-search .input-append .btn, .input-group .btn-vm-customfield .form-check-label-text, .cf-form-search .input-append .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .input-group .form-check-label-text, .btn-vm-customfield .cf-form-search .input-append .form-check-label-text, .cf-form-search .btn-vm-customfield .input-append .form-check-label-text {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus, .cf-form-search .input-append .btn:focus, .input-group .btn-vm-customfield .form-check-label-text:focus, .cf-form-search .input-append .btn-vm-customfield .form-check-label-text:focus, .btn-vm-customfield .input-group .form-check-label-text:focus, .btn-vm-customfield .cf-form-search .input-append .form-check-label-text:focus, .cf-form-search .btn-vm-customfield .input-append .form-check-label-text:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.6rem 1rem;
  font-size: 1rem;
  font-weight: var(--neoteric-font-weight-normal, 400);
  line-height: 1.5;
  color: var(--body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--tertiary-bg);
  border: 2px solid hsl(210, 14%, 83%);
  border-radius: var(--border-radius);
}

.input-group-lg > .form-control, .cf-form-search .input-append .input-group-lg > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group-lg > input[type=text]:not(.form-control), .old-form .input-group-lg > input[type=text],
.old-form .input-group-lg > input[type=password],
.old-form .input-group-lg > input[type=email],
.old-form .input-group-lg > textarea,
.input-group-lg > .form-select,
.input-group-lg > .custom-select,
.old-form .input-group-lg > select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn,
.btn-vm-customfield .input-group-lg > .form-check-label-text {
  padding: 0.7rem 1.5rem;
  font-size: 1rem;
  border-radius: var(--border-radius-lg);
}

.input-group-sm > .form-control, .cf-form-search .input-append .input-group-sm > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group-sm > input[type=text]:not(.form-control), .old-form .input-group-sm > input[type=text],
.old-form .input-group-sm > input[type=password],
.old-form .input-group-sm > input[type=email],
.old-form .input-group-sm > textarea,
.input-group-sm > .form-select,
.input-group-sm > .custom-select,
.old-form .input-group-sm > select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn,
.btn-vm-customfield .input-group-sm > .form-check-label-text {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--border-radius-sm);
}

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

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .cf-form-search .input-append: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),
.cf-form-search .input-append:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.cf-form-search .input-append .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=text]:not(.form-control),
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=search]:not(.form-control),
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=text]:not(.form-control),
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=text],
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=text],
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=text],
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=password],
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=password],
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=password],
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=email],
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=email],
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=email],
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > textarea,
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > textarea,
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > textarea,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .custom-select,
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > .form-select,
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > .custom-select,
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > select,
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > select,
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > 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), .cf-form-search .has-validation.input-append > :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),
.cf-form-search .has-validation.input-append > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.cf-form-search .input-append .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=text]:not(.form-control),
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > .form-control,
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=search]:not(.form-control),
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=text]:not(.form-control),
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=text],
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=text],
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=text],
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=password],
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=password],
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=password],
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=email],
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=email],
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=email],
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > textarea,
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > textarea,
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > textarea,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .custom-select,
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > .form-select,
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > .custom-select,
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > select,
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > select,
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > 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), .cf-form-search .input-append > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(-1 * 2px);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control, .cf-form-search .input-append .input-group > .form-floating:not(:first-child) > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group > .form-floating:not(:first-child) > input[type=text]:not(.form-control), .cf-form-search .input-append > .form-floating:not(:first-child) > .form-control, .cf-form-search .input-append > .form-floating:not(:first-child) > input[type=search]:not(.form-control),
.cf-form-search .input-append > .form-floating:not(:first-child) > input[type=text]:not(.form-control), .old-form .input-group > .form-floating:not(:first-child) > input[type=text], .old-form .cf-form-search .input-append > .form-floating:not(:first-child) > input[type=text], .cf-form-search .old-form .input-append > .form-floating:not(:first-child) > input[type=text],
.old-form .input-group > .form-floating:not(:first-child) > input[type=password],
.old-form .cf-form-search .input-append > .form-floating:not(:first-child) > input[type=password],
.cf-form-search .old-form .input-append > .form-floating:not(:first-child) > input[type=password],
.old-form .input-group > .form-floating:not(:first-child) > input[type=email],
.old-form .cf-form-search .input-append > .form-floating:not(:first-child) > input[type=email],
.cf-form-search .old-form .input-append > .form-floating:not(:first-child) > input[type=email],
.old-form .input-group > .form-floating:not(:first-child) > textarea,
.old-form .cf-form-search .input-append > .form-floating:not(:first-child) > textarea,
.cf-form-search .old-form .input-append > .form-floating:not(:first-child) > textarea,
.input-group > .form-floating:not(:first-child) > .form-select,
.input-group > .form-floating:not(:first-child) > .custom-select,
.cf-form-search .input-append > .form-floating:not(:first-child) > .form-select,
.cf-form-search .input-append > .form-floating:not(:first-child) > .custom-select,
.old-form .input-group > .form-floating:not(:first-child) > select,
.old-form .cf-form-search .input-append > .form-floating:not(:first-child) > select,
.cf-form-search .old-form .input-append > .form-floating:not(:first-child) > 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(--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(--success);
  border-radius: var(--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, .was-validated .cf-form-search .input-append input[type=search]:valid:not(.form-control), .cf-form-search .input-append .was-validated input[type=search]:valid:not(.form-control),
.was-validated .cf-form-search .input-append input[type=text]:valid:not(.form-control),
.cf-form-search .input-append .was-validated input[type=text]:valid:not(.form-control), .was-validated .old-form input[type=text]:valid, .old-form .was-validated input[type=text]:valid,
.was-validated .old-form input[type=password]:valid,
.old-form .was-validated input[type=password]:valid,
.was-validated .old-form input[type=email]:valid,
.old-form .was-validated input[type=email]:valid,
.was-validated .old-form textarea:valid,
.old-form .was-validated textarea:valid, .form-control.is-valid, .cf-form-search .input-append input.is-valid[type=search]:not(.form-control),
.cf-form-search .input-append input.is-valid[type=text]:not(.form-control), .old-form input.is-valid[type=text],
.old-form input.is-valid[type=password],
.old-form input.is-valid[type=email],
.old-form textarea.is-valid {
  border-color: var(--form-valid-border-color);
  padding-right: calc(1.5em + 1.2rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='hsl%28120, 32%, 39%%29' 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.1'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.3rem) center;
  background-size: calc(0.75em + 0.6rem) calc(0.75em + 0.6rem);
}
.was-validated .form-control:valid:focus, .was-validated .cf-form-search .input-append input[type=search]:valid:focus:not(.form-control), .cf-form-search .input-append .was-validated input[type=search]:valid:focus:not(.form-control),
.was-validated .cf-form-search .input-append input[type=text]:valid:focus:not(.form-control),
.cf-form-search .input-append .was-validated input[type=text]:valid:focus:not(.form-control), .was-validated .old-form input[type=text]:valid:focus, .old-form .was-validated input[type=text]:valid:focus,
.was-validated .old-form input[type=password]:valid:focus,
.old-form .was-validated input[type=password]:valid:focus,
.was-validated .old-form input[type=email]:valid:focus,
.old-form .was-validated input[type=email]:valid:focus,
.was-validated .old-form textarea:valid:focus,
.old-form .was-validated textarea:valid:focus, .form-control.is-valid:focus, .cf-form-search .input-append input.is-valid[type=search]:focus:not(.form-control),
.cf-form-search .input-append input.is-valid[type=text]:focus:not(.form-control), .old-form input.is-valid[type=text]:focus,
.old-form input.is-valid[type=password]:focus,
.old-form input.is-valid[type=email]:focus,
.old-form textarea.is-valid:focus {
  border-color: var(--form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--success-rgb), 0.25);
}

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

.was-validated .form-select:valid, .was-validated .custom-select:valid, .was-validated .old-form select:valid, .old-form .was-validated select:valid, .form-select.is-valid, .is-valid.custom-select, .old-form select.is-valid {
  border-color: var(--form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .custom-select:valid:not([multiple]):not([size]), .was-validated .old-form select:valid:not([multiple]):not([size]), .old-form .was-validated select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .was-validated .custom-select:valid:not([multiple])[size="1"], .was-validated .old-form select:valid:not([multiple])[size="1"], .old-form .was-validated select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .is-valid.custom-select:not([multiple]):not([size]), .old-form select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"], .is-valid.custom-select:not([multiple])[size="1"], .old-form select.is-valid:not([multiple])[size="1"] {
  --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='hsl%28120, 32%, 39%%29' 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.1'/%3e%3c/svg%3e");
  padding-right: 5.5rem;
  background-position: right 1rem center, center right 3rem;
  background-size: 116rem, calc(0.75em + 0.6rem) calc(0.75em + 0.6rem);
}
.was-validated .form-select:valid:focus, .was-validated .custom-select:valid:focus, .was-validated .old-form select:valid:focus, .old-form .was-validated select:valid:focus, .form-select.is-valid:focus, .is-valid.custom-select:focus, .old-form select.is-valid:focus {
  border-color: var(--form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--success-rgb), 0.25);
}

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

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

.form-check-inline .form-check-input ~ .valid-feedback, .form-check-inline .form-check-vm.form-check input[type=radio] ~ .valid-feedback, .form-check-vm.form-check .form-check-inline input[type=radio] ~ .valid-feedback,
.form-check-inline .form-check-vm.form-check input[type=checkbox] ~ .valid-feedback,
.form-check-vm.form-check .form-check-inline input[type=checkbox] ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .was-validated .cf-form-search .input-append .input-group > input[type=search]:not(:focus):valid:not(.form-control), .cf-form-search .input-append .was-validated .input-group > input[type=search]:not(:focus):valid:not(.form-control),
.was-validated .cf-form-search .input-append .input-group > input[type=text]:not(:focus):valid:not(.form-control),
.cf-form-search .input-append .was-validated .input-group > input[type=text]:not(:focus):valid:not(.form-control), .was-validated .cf-form-search .input-append > .form-control:not(:focus):valid, .was-validated .cf-form-search .input-append > input[type=search]:not(:focus):valid:not(.form-control),
.was-validated .cf-form-search .input-append > input[type=text]:not(:focus):valid:not(.form-control), .cf-form-search .was-validated .input-append > .form-control:not(:focus):valid, .cf-form-search .was-validated .input-append > input[type=search]:not(:focus):valid:not(.form-control),
.cf-form-search .was-validated .input-append > input[type=text]:not(:focus):valid:not(.form-control), .was-validated .old-form .input-group > input[type=text]:not(:focus):valid, .was-validated .old-form .cf-form-search .input-append > input[type=text]:not(:focus):valid, .cf-form-search .was-validated .old-form .input-append > input[type=text]:not(:focus):valid, .old-form .was-validated .input-group > input[type=text]:not(:focus):valid, .old-form .was-validated .cf-form-search .input-append > input[type=text]:not(:focus):valid, .cf-form-search .old-form .was-validated .input-append > input[type=text]:not(:focus):valid,
.was-validated .old-form .input-group > input[type=password]:not(:focus):valid,
.was-validated .old-form .cf-form-search .input-append > input[type=password]:not(:focus):valid,
.cf-form-search .was-validated .old-form .input-append > input[type=password]:not(:focus):valid,
.old-form .was-validated .input-group > input[type=password]:not(:focus):valid,
.old-form .was-validated .cf-form-search .input-append > input[type=password]:not(:focus):valid,
.cf-form-search .old-form .was-validated .input-append > input[type=password]:not(:focus):valid,
.was-validated .old-form .input-group > input[type=email]:not(:focus):valid,
.was-validated .old-form .cf-form-search .input-append > input[type=email]:not(:focus):valid,
.cf-form-search .was-validated .old-form .input-append > input[type=email]:not(:focus):valid,
.old-form .was-validated .input-group > input[type=email]:not(:focus):valid,
.old-form .was-validated .cf-form-search .input-append > input[type=email]:not(:focus):valid,
.cf-form-search .old-form .was-validated .input-append > input[type=email]:not(:focus):valid,
.was-validated .old-form .input-group > textarea:not(:focus):valid,
.was-validated .old-form .cf-form-search .input-append > textarea:not(:focus):valid,
.cf-form-search .was-validated .old-form .input-append > textarea:not(:focus):valid,
.old-form .was-validated .input-group > textarea:not(:focus):valid,
.old-form .was-validated .cf-form-search .input-append > textarea:not(:focus):valid,
.cf-form-search .old-form .was-validated .input-append > textarea:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .cf-form-search .input-append .input-group > input[type=search]:not(:focus).is-valid:not(.form-control),
.cf-form-search .input-append .input-group > input[type=text]:not(:focus).is-valid:not(.form-control), .cf-form-search .input-append > .form-control:not(:focus).is-valid, .cf-form-search .input-append > input[type=search]:not(:focus).is-valid:not(.form-control),
.cf-form-search .input-append > input[type=text]:not(:focus).is-valid:not(.form-control), .old-form .input-group > input[type=text]:not(:focus).is-valid, .old-form .cf-form-search .input-append > input[type=text]:not(:focus).is-valid, .cf-form-search .old-form .input-append > input[type=text]:not(:focus).is-valid,
.old-form .input-group > input[type=password]:not(:focus).is-valid,
.old-form .cf-form-search .input-append > input[type=password]:not(:focus).is-valid,
.cf-form-search .old-form .input-append > input[type=password]:not(:focus).is-valid,
.old-form .input-group > input[type=email]:not(:focus).is-valid,
.old-form .cf-form-search .input-append > input[type=email]:not(:focus).is-valid,
.cf-form-search .old-form .input-append > input[type=email]:not(:focus).is-valid,
.old-form .input-group > textarea:not(:focus).is-valid,
.old-form .cf-form-search .input-append > textarea:not(:focus).is-valid,
.cf-form-search .old-form .input-append > textarea:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.was-validated .input-group > .custom-select:not(:focus):valid,
.was-validated .cf-form-search .input-append > .form-select:not(:focus):valid,
.was-validated .cf-form-search .input-append > .custom-select:not(:focus):valid,
.cf-form-search .was-validated .input-append > .form-select:not(:focus):valid,
.cf-form-search .was-validated .input-append > .custom-select:not(:focus):valid,
.was-validated .old-form .input-group > select:not(:focus):valid,
.was-validated .old-form .cf-form-search .input-append > select:not(:focus):valid,
.cf-form-search .was-validated .old-form .input-append > select:not(:focus):valid,
.old-form .was-validated .input-group > select:not(:focus):valid,
.old-form .was-validated .cf-form-search .input-append > select:not(:focus):valid,
.cf-form-search .old-form .was-validated .input-append > select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.input-group > .custom-select:not(:focus).is-valid,
.cf-form-search .input-append > .form-select:not(:focus).is-valid,
.cf-form-search .input-append > .custom-select:not(:focus).is-valid,
.old-form .input-group > select:not(:focus).is-valid,
.old-form .cf-form-search .input-append > select:not(:focus).is-valid,
.cf-form-search .old-form .input-append > select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.was-validated .cf-form-search .input-append > .form-floating:not(:focus-within):valid,
.cf-form-search .was-validated .input-append > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid,
.cf-form-search .input-append > .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(--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(--danger);
  border-radius: var(--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, .was-validated .cf-form-search .input-append input[type=search]:invalid:not(.form-control), .cf-form-search .input-append .was-validated input[type=search]:invalid:not(.form-control),
.was-validated .cf-form-search .input-append input[type=text]:invalid:not(.form-control),
.cf-form-search .input-append .was-validated input[type=text]:invalid:not(.form-control), .was-validated .old-form input[type=text]:invalid, .old-form .was-validated input[type=text]:invalid,
.was-validated .old-form input[type=password]:invalid,
.old-form .was-validated input[type=password]:invalid,
.was-validated .old-form input[type=email]:invalid,
.old-form .was-validated input[type=email]:invalid,
.was-validated .old-form textarea:invalid,
.old-form .was-validated textarea:invalid, .form-control.is-invalid, .cf-form-search .input-append input.is-invalid[type=search]:not(.form-control),
.cf-form-search .input-append input.is-invalid[type=text]:not(.form-control), .old-form input.is-invalid[type=text],
.old-form input.is-invalid[type=password],
.old-form input.is-invalid[type=email],
.old-form textarea.is-invalid {
  border-color: var(--form-invalid-border-color);
  padding-right: calc(1.5em + 1.2rem);
  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='hsl%283, 75%, 37%%29'%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='hsl%283, 75%, 37%%29' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.3rem) center;
  background-size: calc(0.75em + 0.6rem) calc(0.75em + 0.6rem);
}
.was-validated .form-control:invalid:focus, .was-validated .cf-form-search .input-append input[type=search]:invalid:focus:not(.form-control), .cf-form-search .input-append .was-validated input[type=search]:invalid:focus:not(.form-control),
.was-validated .cf-form-search .input-append input[type=text]:invalid:focus:not(.form-control),
.cf-form-search .input-append .was-validated input[type=text]:invalid:focus:not(.form-control), .was-validated .old-form input[type=text]:invalid:focus, .old-form .was-validated input[type=text]:invalid:focus,
.was-validated .old-form input[type=password]:invalid:focus,
.old-form .was-validated input[type=password]:invalid:focus,
.was-validated .old-form input[type=email]:invalid:focus,
.old-form .was-validated input[type=email]:invalid:focus,
.was-validated .old-form textarea:invalid:focus,
.old-form .was-validated textarea:invalid:focus, .form-control.is-invalid:focus, .cf-form-search .input-append input.is-invalid[type=search]:focus:not(.form-control),
.cf-form-search .input-append input.is-invalid[type=text]:focus:not(.form-control), .old-form input.is-invalid[type=text]:focus,
.old-form input.is-invalid[type=password]:focus,
.old-form input.is-invalid[type=email]:focus,
.old-form textarea.is-invalid:focus {
  border-color: var(--form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--danger-rgb), 0.25);
}

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

.was-validated .form-select:invalid, .was-validated .custom-select:invalid, .was-validated .old-form select:invalid, .old-form .was-validated select:invalid, .form-select.is-invalid, .is-invalid.custom-select, .old-form select.is-invalid {
  border-color: var(--form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .custom-select:invalid:not([multiple]):not([size]), .was-validated .old-form select:invalid:not([multiple]):not([size]), .old-form .was-validated select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .was-validated .custom-select:invalid:not([multiple])[size="1"], .was-validated .old-form select:invalid:not([multiple])[size="1"], .old-form .was-validated select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .is-invalid.custom-select:not([multiple]):not([size]), .old-form select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"], .is-invalid.custom-select:not([multiple])[size="1"], .old-form select.is-invalid:not([multiple])[size="1"] {
  --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='hsl%283, 75%, 37%%29'%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='hsl%283, 75%, 37%%29' stroke='none'/%3e%3c/svg%3e");
  padding-right: 5.5rem;
  background-position: right 1rem center, center right 3rem;
  background-size: 116rem, calc(0.75em + 0.6rem) calc(0.75em + 0.6rem);
}
.was-validated .form-select:invalid:focus, .was-validated .custom-select:invalid:focus, .was-validated .old-form select:invalid:focus, .old-form .was-validated select:invalid:focus, .form-select.is-invalid:focus, .is-invalid.custom-select:focus, .old-form select.is-invalid:focus {
  border-color: var(--form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--danger-rgb), 0.25);
}

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

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

.form-check-inline .form-check-input ~ .invalid-feedback, .form-check-inline .form-check-vm.form-check input[type=radio] ~ .invalid-feedback, .form-check-vm.form-check .form-check-inline input[type=radio] ~ .invalid-feedback,
.form-check-inline .form-check-vm.form-check input[type=checkbox] ~ .invalid-feedback,
.form-check-vm.form-check .form-check-inline input[type=checkbox] ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .was-validated .cf-form-search .input-append .input-group > input[type=search]:not(:focus):invalid:not(.form-control), .cf-form-search .input-append .was-validated .input-group > input[type=search]:not(:focus):invalid:not(.form-control),
.was-validated .cf-form-search .input-append .input-group > input[type=text]:not(:focus):invalid:not(.form-control),
.cf-form-search .input-append .was-validated .input-group > input[type=text]:not(:focus):invalid:not(.form-control), .was-validated .cf-form-search .input-append > .form-control:not(:focus):invalid, .was-validated .cf-form-search .input-append > input[type=search]:not(:focus):invalid:not(.form-control),
.was-validated .cf-form-search .input-append > input[type=text]:not(:focus):invalid:not(.form-control), .cf-form-search .was-validated .input-append > .form-control:not(:focus):invalid, .cf-form-search .was-validated .input-append > input[type=search]:not(:focus):invalid:not(.form-control),
.cf-form-search .was-validated .input-append > input[type=text]:not(:focus):invalid:not(.form-control), .was-validated .old-form .input-group > input[type=text]:not(:focus):invalid, .was-validated .old-form .cf-form-search .input-append > input[type=text]:not(:focus):invalid, .cf-form-search .was-validated .old-form .input-append > input[type=text]:not(:focus):invalid, .old-form .was-validated .input-group > input[type=text]:not(:focus):invalid, .old-form .was-validated .cf-form-search .input-append > input[type=text]:not(:focus):invalid, .cf-form-search .old-form .was-validated .input-append > input[type=text]:not(:focus):invalid,
.was-validated .old-form .input-group > input[type=password]:not(:focus):invalid,
.was-validated .old-form .cf-form-search .input-append > input[type=password]:not(:focus):invalid,
.cf-form-search .was-validated .old-form .input-append > input[type=password]:not(:focus):invalid,
.old-form .was-validated .input-group > input[type=password]:not(:focus):invalid,
.old-form .was-validated .cf-form-search .input-append > input[type=password]:not(:focus):invalid,
.cf-form-search .old-form .was-validated .input-append > input[type=password]:not(:focus):invalid,
.was-validated .old-form .input-group > input[type=email]:not(:focus):invalid,
.was-validated .old-form .cf-form-search .input-append > input[type=email]:not(:focus):invalid,
.cf-form-search .was-validated .old-form .input-append > input[type=email]:not(:focus):invalid,
.old-form .was-validated .input-group > input[type=email]:not(:focus):invalid,
.old-form .was-validated .cf-form-search .input-append > input[type=email]:not(:focus):invalid,
.cf-form-search .old-form .was-validated .input-append > input[type=email]:not(:focus):invalid,
.was-validated .old-form .input-group > textarea:not(:focus):invalid,
.was-validated .old-form .cf-form-search .input-append > textarea:not(:focus):invalid,
.cf-form-search .was-validated .old-form .input-append > textarea:not(:focus):invalid,
.old-form .was-validated .input-group > textarea:not(:focus):invalid,
.old-form .was-validated .cf-form-search .input-append > textarea:not(:focus):invalid,
.cf-form-search .old-form .was-validated .input-append > textarea:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .cf-form-search .input-append .input-group > input[type=search]:not(:focus).is-invalid:not(.form-control),
.cf-form-search .input-append .input-group > input[type=text]:not(:focus).is-invalid:not(.form-control), .cf-form-search .input-append > .form-control:not(:focus).is-invalid, .cf-form-search .input-append > input[type=search]:not(:focus).is-invalid:not(.form-control),
.cf-form-search .input-append > input[type=text]:not(:focus).is-invalid:not(.form-control), .old-form .input-group > input[type=text]:not(:focus).is-invalid, .old-form .cf-form-search .input-append > input[type=text]:not(:focus).is-invalid, .cf-form-search .old-form .input-append > input[type=text]:not(:focus).is-invalid,
.old-form .input-group > input[type=password]:not(:focus).is-invalid,
.old-form .cf-form-search .input-append > input[type=password]:not(:focus).is-invalid,
.cf-form-search .old-form .input-append > input[type=password]:not(:focus).is-invalid,
.old-form .input-group > input[type=email]:not(:focus).is-invalid,
.old-form .cf-form-search .input-append > input[type=email]:not(:focus).is-invalid,
.cf-form-search .old-form .input-append > input[type=email]:not(:focus).is-invalid,
.old-form .input-group > textarea:not(:focus).is-invalid,
.old-form .cf-form-search .input-append > textarea:not(:focus).is-invalid,
.cf-form-search .old-form .input-append > textarea:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.was-validated .input-group > .custom-select:not(:focus):invalid,
.was-validated .cf-form-search .input-append > .form-select:not(:focus):invalid,
.was-validated .cf-form-search .input-append > .custom-select:not(:focus):invalid,
.cf-form-search .was-validated .input-append > .form-select:not(:focus):invalid,
.cf-form-search .was-validated .input-append > .custom-select:not(:focus):invalid,
.was-validated .old-form .input-group > select:not(:focus):invalid,
.was-validated .old-form .cf-form-search .input-append > select:not(:focus):invalid,
.cf-form-search .was-validated .old-form .input-append > select:not(:focus):invalid,
.old-form .was-validated .input-group > select:not(:focus):invalid,
.old-form .was-validated .cf-form-search .input-append > select:not(:focus):invalid,
.cf-form-search .old-form .was-validated .input-append > select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.input-group > .custom-select:not(:focus).is-invalid,
.cf-form-search .input-append > .form-select:not(:focus).is-invalid,
.cf-form-search .input-append > .custom-select:not(:focus).is-invalid,
.old-form .input-group > select:not(:focus).is-invalid,
.old-form .cf-form-search .input-append > select:not(:focus).is-invalid,
.cf-form-search .old-form .input-append > select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.was-validated .cf-form-search .input-append > .form-floating:not(:focus-within):invalid,
.cf-form-search .was-validated .input-append > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid,
.cf-form-search .input-append > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

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

.btn-primary {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(240, 98%, 17%);
  --btn-border-color: hsl(240, 98%, 17%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #010149;
  --btn-hover-border-color: #010145;
  --btn-focus-shadow-rgb: 39, 39, 111;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #010145;
  --btn-active-border-color: #010141;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(240, 98%, 17%);
  --btn-disabled-border-color: hsl(240, 98%, 17%);
}

.btn-secondary, .btn-vm-customfield .form-check-label-text {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(210, 7%, 46%);
  --btn-border-color: hsl(210, 7%, 46%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #5d636b;
  --btn-hover-border-color: #575e65;
  --btn-focus-shadow-rgb: 131, 138, 145;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #575e65;
  --btn-active-border-color: #52585f;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(210, 7%, 46%);
  --btn-disabled-border-color: hsl(210, 7%, 46%);
}

.btn-success {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(120, 32%, 39%);
  --btn-border-color: hsl(120, 32%, 39%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #3a6f3a;
  --btn-hover-border-color: #366936;
  --btn-focus-shadow-rgb: 96, 150, 96;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #366936;
  --btn-active-border-color: #336233;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(120, 32%, 39%);
  --btn-disabled-border-color: hsl(120, 32%, 39%);
}

.btn-info {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(207, 49%, 37%);
  --btn-border-color: hsl(207, 49%, 37%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #295478;
  --btn-hover-border-color: #264f71;
  --btn-focus-shadow-rgb: 79, 122, 158;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #264f71;
  --btn-active-border-color: #244a6a;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(207, 49%, 37%);
  --btn-disabled-border-color: hsl(207, 49%, 37%);
}

.btn-warning {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(34, 100%, 34%);
  --btn-border-color: hsl(34, 100%, 34%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #935300;
  --btn-hover-border-color: #8a4e00;
  --btn-focus-shadow-rgb: 185, 122, 38;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #8a4e00;
  --btn-active-border-color: #824a00;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(34, 100%, 34%);
  --btn-disabled-border-color: hsl(34, 100%, 34%);
}

.btn-danger {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(3, 75%, 37%);
  --btn-border-color: hsl(3, 75%, 37%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #8c1a14;
  --btn-hover-border-color: #841913;
  --btn-focus-shadow-rgb: 179, 65, 59;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #841913;
  --btn-active-border-color: #7c1712;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(3, 75%, 37%);
  --btn-disabled-border-color: hsl(3, 75%, 37%);
}

.btn-light, .product-image-gallery__thumbnails-controls .btn-nobg {
  --btn-color: hsl(0, 0%, 0%);
  --btn-bg: hsl(210, 17%, 98%);
  --btn-border-color: hsl(210, 17%, 98%);
  --btn-hover-color: hsl(0, 0%, 0%);
  --btn-hover-bg: #d4d5d5;
  --btn-hover-border-color: #c7c8c9;
  --btn-focus-shadow-rgb: 212, 213, 213;
  --btn-active-color: hsl(0, 0%, 0%);
  --btn-active-bg: #c7c8c9;
  --btn-active-border-color: #bbbcbc;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 0%);
  --btn-disabled-bg: hsl(210, 17%, 98%);
  --btn-disabled-border-color: hsl(210, 17%, 98%);
}

.btn-dark {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(210, 10%, 23%);
  --btn-border-color: hsl(210, 10%, 23%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #53585e;
  --btn-hover-border-color: #494f54;
  --btn-focus-shadow-rgb: 83, 88, 94;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #5d6267;
  --btn-active-border-color: #494f54;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(210, 10%, 23%);
  --btn-disabled-border-color: hsl(210, 10%, 23%);
}

.btn-outline-primary {
  --btn-color: hsl(240, 98%, 17%);
  --btn-border-color: hsl(240, 98%, 17%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(240, 98%, 17%);
  --btn-hover-border-color: hsl(240, 98%, 17%);
  --btn-focus-shadow-rgb: 1, 1, 86;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(240, 98%, 17%);
  --btn-active-border-color: hsl(240, 98%, 17%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(240, 98%, 17%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(240, 98%, 17%);
  --gradient: none;
}

.btn-outline-secondary {
  --btn-color: hsl(210, 7%, 46%);
  --btn-border-color: hsl(210, 7%, 46%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(210, 7%, 46%);
  --btn-hover-border-color: hsl(210, 7%, 46%);
  --btn-focus-shadow-rgb: 109, 117, 126;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(210, 7%, 46%);
  --btn-active-border-color: hsl(210, 7%, 46%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(210, 7%, 46%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(210, 7%, 46%);
  --gradient: none;
}

.btn-outline-success {
  --btn-color: hsl(120, 32%, 39%);
  --btn-border-color: hsl(120, 32%, 39%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(120, 32%, 39%);
  --btn-hover-border-color: hsl(120, 32%, 39%);
  --btn-focus-shadow-rgb: 68, 131, 68;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(120, 32%, 39%);
  --btn-active-border-color: hsl(120, 32%, 39%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(120, 32%, 39%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(120, 32%, 39%);
  --gradient: none;
}

.btn-outline-info {
  --btn-color: hsl(207, 49%, 37%);
  --btn-border-color: hsl(207, 49%, 37%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(207, 49%, 37%);
  --btn-hover-border-color: hsl(207, 49%, 37%);
  --btn-focus-shadow-rgb: 48, 99, 141;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(207, 49%, 37%);
  --btn-active-border-color: hsl(207, 49%, 37%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(207, 49%, 37%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(207, 49%, 37%);
  --gradient: none;
}

.btn-outline-warning {
  --btn-color: hsl(34, 100%, 34%);
  --btn-border-color: hsl(34, 100%, 34%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(34, 100%, 34%);
  --btn-hover-border-color: hsl(34, 100%, 34%);
  --btn-focus-shadow-rgb: 173, 98, 0;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(34, 100%, 34%);
  --btn-active-border-color: hsl(34, 100%, 34%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(34, 100%, 34%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(34, 100%, 34%);
  --gradient: none;
}

.btn-outline-danger {
  --btn-color: hsl(3, 75%, 37%);
  --btn-border-color: hsl(3, 75%, 37%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(3, 75%, 37%);
  --btn-hover-border-color: hsl(3, 75%, 37%);
  --btn-focus-shadow-rgb: 165, 31, 24;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(3, 75%, 37%);
  --btn-active-border-color: hsl(3, 75%, 37%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(3, 75%, 37%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(3, 75%, 37%);
  --gradient: none;
}

.btn-outline-light {
  --btn-color: hsl(210, 17%, 98%);
  --btn-border-color: hsl(210, 17%, 98%);
  --btn-hover-color: hsl(0, 0%, 0%);
  --btn-hover-bg: hsl(210, 17%, 98%);
  --btn-hover-border-color: hsl(210, 17%, 98%);
  --btn-focus-shadow-rgb: 249, 250, 251;
  --btn-active-color: hsl(0, 0%, 0%);
  --btn-active-bg: hsl(210, 17%, 98%);
  --btn-active-border-color: hsl(210, 17%, 98%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(210, 17%, 98%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(210, 17%, 98%);
  --gradient: none;
}

.btn-outline-dark {
  --btn-color: hsl(210, 10%, 23%);
  --btn-border-color: hsl(210, 10%, 23%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(210, 10%, 23%);
  --btn-hover-border-color: hsl(210, 10%, 23%);
  --btn-focus-shadow-rgb: 53, 59, 65;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(210, 10%, 23%);
  --btn-active-border-color: hsl(210, 10%, 23%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(210, 10%, 23%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(210, 10%, 23%);
  --gradient: none;
}

.btn-link {
  --btn-font-weight: 400;
  --btn-color: var(--link-color);
  --btn-bg: transparent;
  --btn-border-color: transparent;
  --btn-hover-color: var(--link-hover-color);
  --btn-hover-border-color: transparent;
  --btn-active-color: var(--link-hover-color);
  --btn-active-border-color: transparent;
  --btn-disabled-color: hsl(210, 7%, 46%);
  --btn-disabled-border-color: transparent;
  --btn-box-shadow: 0 0 0 #000;
  --btn-focus-shadow-rgb: 67, 105, 183;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--btn-color);
}
.btn-link:hover {
  color: var(--btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn, .btn-vm-customfield .btn-group-lg > .form-check-label-text {
  --btn-padding-y: 0.7rem;
  --btn-padding-x: 1.5rem;
  --btn-font-size: 1rem;
  --btn-border-radius: var(--border-radius-lg);
}

.btn-sm, .btn-vm-customfield .form-check-label-text, .btn-group-sm > .btn {
  --btn-padding-y: 0.25rem;
  --btn-padding-x: 0.5rem;
  --btn-font-size: 0.875rem;
  --btn-border-radius: var(--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 {
  --dropdown-zindex: 1000;
  --dropdown-min-width: 10rem;
  --dropdown-padding-x: 0;
  --dropdown-padding-y: 0.5rem;
  --dropdown-spacer: 0.125rem;
  --dropdown-font-size: 1rem;
  --dropdown-color: var(--body-color);
  --dropdown-bg: var(--body-bg);
  --dropdown-border-color: var(--border-color-translucent);
  --dropdown-border-radius: var(--border-radius);
  --dropdown-border-width: var(--border-width);
  --dropdown-inner-border-radius: calc(var(--border-radius) - var(--border-width));
  --dropdown-divider-bg: var(--border-color-translucent);
  --dropdown-divider-margin-y: 0.5rem;
  --dropdown-box-shadow: var(--box-shadow);
  --dropdown-link-color: var(--gray-900);
  --dropdown-link-hover-color: var(--gray-800);
  --dropdown-link-hover-bg: var(--gray-200);
  --dropdown-link-active-color: var(--template-primary-contrast-color);
  --dropdown-link-active-bg: var(--template-primary-color);
  --dropdown-link-disabled-color: var(--tertiary-color);
  --dropdown-item-padding-x: 1rem;
  --dropdown-item-padding-y: 0.25rem;
  --dropdown-header-color: hsl(210, 7%, 46%);
  --dropdown-header-padding-x: 1rem;
  --dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--dropdown-zindex);
  display: none;
  min-width: var(--dropdown-min-width);
  padding: var(--dropdown-padding-y) var(--dropdown-padding-x);
  margin: 0;
  font-size: var(--dropdown-font-size);
  color: var(--dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--dropdown-bg);
  background-clip: padding-box;
  border: var(--dropdown-border-width) solid var(--dropdown-border-color);
  border-radius: var(--dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--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(--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(--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(--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(--dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--dropdown-link-hover-color);
  background-color: var(--dropdown-link-hover-bg);
}
.dropdown-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn), .dropdown-item:active {
  color: var(--dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

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

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

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

.dropdown-menu-dark {
  --dropdown-color: hsl(210, 14%, 89%);
  --dropdown-bg: hsl(210, 10%, 23%);
  --dropdown-border-color: var(--border-color-translucent);
  --dropdown-box-shadow: ;
  --dropdown-link-color: hsl(210, 14%, 89%);
  --dropdown-link-hover-color: hsl(0, 0%, 100%);
  --dropdown-divider-bg: var(--border-color-translucent);
  --dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --dropdown-link-active-color: var(--template-primary-contrast-color);
  --dropdown-link-active-bg: var(--template-primary-color);
  --dropdown-link-disabled-color: hsl(210, 11%, 71%);
  --dropdown-header-color: hsl(210, 11%, 71%);
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn, .btn-vm-customfield .btn-group > .form-check-label-text,
.btn-group-vertical > .btn,
.btn-vm-customfield .btn-group-vertical > .form-check-label-text {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn, .btn-vm-customfield .btn-group > .btn-check:checked + .form-check-label-text,
.btn-group > .btn-check:focus + .btn,
.btn-vm-customfield .btn-group > .btn-check:focus + .form-check-label-text,
.btn-group > .btn:hover,
.btn-vm-customfield .btn-group > .form-check-label-text:hover,
.btn-group > .btn:focus,
.btn-vm-customfield .btn-group > .form-check-label-text:focus,
.btn-group > .btn:active,
.btn-vm-customfield .btn-group > .form-check-label-text:active,
.btn-group > .btn.active,
.btn-vm-customfield .btn-group > .active.form-check-label-text,
.btn-vm-customfield .form-check-input:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-group-vertical > .btn-check:checked + .btn,
.btn-vm-customfield .btn-group-vertical > .btn-check:checked + .form-check-label-text,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-vm-customfield .btn-group-vertical > .btn-check:focus + .form-check-label-text,
.btn-group-vertical > .btn:hover,
.btn-vm-customfield .btn-group-vertical > .form-check-label-text:hover,
.btn-group-vertical > .btn:focus,
.btn-vm-customfield .btn-group-vertical > .form-check-label-text:focus,
.btn-group-vertical > .btn:active,
.btn-vm-customfield .btn-group-vertical > .form-check-label-text:active,
.btn-group-vertical > .btn.active,
.btn-vm-customfield .btn-group-vertical > .active.form-check-label-text,
.btn-vm-customfield .form-check-input:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn) {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group, .btn-toolbar .cf-form-search .input-append, .cf-form-search .btn-toolbar .input-append {
  width: auto;
}

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

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

.btn-sm + .dropdown-toggle-split, .btn-vm-customfield .form-check-label-text + .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, .btn-vm-customfield .btn-group-lg > .form-check-label-text + .dropdown-toggle-split {
  padding-right: 1.125rem;
  padding-left: 1.125rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn, .btn-vm-customfield .btn-group-vertical > .form-check-label-text,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child), .btn-vm-customfield .btn-group-vertical > .form-check-label-text:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(-1 * 2px);
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-vm-customfield .btn-group-vertical > .form-check-label-text:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn,
.btn-vm-customfield .btn-group-vertical > .btn-group:not(:last-child) > .form-check-label-text {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:nth-child(n+3), .btn-vm-customfield .btn-group-vertical > .form-check-label-text:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .btn,
.btn-vm-customfield .btn-group-vertical > :not(.btn-check) + .form-check-label-text,
.btn-group-vertical > .btn-group:not(:first-child) > .btn,
.btn-vm-customfield .btn-group-vertical > .btn-group:not(:first-child) > .form-check-label-text {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

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

.nav-link {
  display: block;
  padding: var(--nav-link-padding-y) var(--nav-link-padding-x);
  font-size: var(--nav-link-font-size);
  font-weight: var(--nav-link-font-weight);
  color: var(--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(--nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --nav-tabs-border-width: var(--border-width);
  --nav-tabs-border-color: var(--border-color);
  --nav-tabs-border-radius: var(--border-radius);
  --nav-tabs-link-hover-border-color: var(--secondary-bg) var(--secondary-bg) var(--border-color);
  --nav-tabs-link-active-color: var(--emphasis-color);
  --nav-tabs-link-active-bg: var(--body-bg);
  --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--body-bg);
  border-bottom: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--nav-tabs-border-width));
  border: var(--nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--nav-tabs-border-radius);
  border-top-right-radius: var(--nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active, .nav-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-tabs .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-tabs .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-tabs .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-tabs .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-tabs .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs .nav-item.show .nav-link {
  color: var(--nav-tabs-link-active-color);
  background-color: var(--nav-tabs-link-active-bg);
  border-color: var(--nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --nav-pills-border-radius: var(--border-radius);
  --nav-pills-link-active-color: hsl(0, 0%, 100%);
  --nav-pills-link-active-bg: hsl(240, 98%, 17%);
}
.nav-pills .nav-link {
  border-radius: var(--nav-pills-border-radius);
}
.nav-pills .nav-link.active, .nav-pills .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-pills .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-pills .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .nav-pills .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-pills .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-pills .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-pills .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-pills .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-pills .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-pills .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-pills .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.nav-pills .show > .nav-link {
  color: var(--nav-pills-link-active-color);
  background-color: var(--nav-pills-link-active-bg);
}

.nav-underline {
  --nav-underline-gap: 1rem;
  --nav-underline-border-width: 0.125rem;
  --nav-underline-link-active-color: var(--emphasis-color);
  gap: var(--nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--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 .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-underline .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-underline .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .nav-underline .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-underline .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-underline .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-underline .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-underline .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-underline .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-underline .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-underline .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--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-grow: 1;
  flex-basis: 0;
  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, .btn-vm-customfield .form-check-input:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .tab-content > .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .tab-content > .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .tab-content > .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .tab-content > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .tab-content > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .tab-content > .form-check-label-text:not(.is-color-btn) {
  display: block;
}

.navbar {
  --navbar-padding-x: 0;
  --navbar-padding-y: 0.5rem;
  --navbar-color: rgba(var(--emphasis-color-rgb), 0.65);
  --navbar-hover-color: rgba(var(--emphasis-color-rgb), 0.8);
  --navbar-disabled-color: rgba(var(--emphasis-color-rgb), 0.3);
  --navbar-active-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-brand-padding-y: 0.3125rem;
  --navbar-brand-margin-end: 1rem;
  --navbar-brand-font-size: 1.25rem;
  --navbar-brand-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-brand-hover-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-nav-link-padding-x: 0.5rem;
  --navbar-toggler-padding-y: 0.25rem;
  --navbar-toggler-padding-x: 0.75rem;
  --navbar-toggler-font-size: 1.25rem;
  --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%2834, 38, 42, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --navbar-toggler-border-color: rgba(var(--emphasis-color-rgb), 0.15);
  --navbar-toggler-border-radius: var(--border-radius);
  --navbar-toggler-focus-width: 0.25rem;
  --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(--navbar-padding-y) var(--navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--navbar-brand-padding-y);
  padding-bottom: var(--navbar-brand-padding-y);
  margin-right: var(--navbar-brand-margin-end);
  font-size: var(--navbar-brand-font-size);
  color: var(--navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--navbar-brand-hover-color);
}

.navbar-nav {
  --nav-link-padding-x: 0;
  --nav-link-padding-y: 0.5rem;
  --nav-link-font-weight: ;
  --nav-link-color: var(--navbar-color);
  --nav-link-hover-color: var(--navbar-hover-color);
  --nav-link-disabled-color: var(--navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .navbar-nav .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .navbar-nav .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .navbar-nav .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .navbar-nav .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .navbar-nav .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .navbar-nav .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.navbar-nav .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.navbar-nav .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .navbar-nav .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .navbar-nav .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .navbar-nav .nav-link.show {
  color: var(--navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

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

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

.navbar-toggler {
  padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);
  font-size: var(--navbar-toggler-font-size);
  line-height: 1;
  color: var(--navbar-color);
  background-color: transparent;
  border: var(--border-width) solid var(--navbar-toggler-border-color);
  border-radius: var(--navbar-toggler-border-radius);
  transition: var(--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(--navbar-toggler-focus-width);
}

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

.navbar-nav-scroll {
  max-height: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
  padding-left: var(--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] {
  --navbar-color: rgba(255, 255, 255, 0.55);
  --navbar-hover-color: rgba(255, 255, 255, 0.75);
  --navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --navbar-active-color: hsl(0, 0%, 100%);
  --navbar-brand-color: hsl(0, 0%, 100%);
  --navbar-brand-hover-color: hsl(0, 0%, 100%);
  --navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

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

.card {
  --card-spacer-y: 1rem;
  --card-spacer-x: 1rem;
  --card-title-spacer-y: 0.5rem;
  --card-title-color: ;
  --card-subtitle-color: ;
  --card-border-width: var(--border-width);
  --card-border-color: hsl(210, 14%, 89%);
  --card-border-radius: var(--border-radius);
  --card-box-shadow: ;
  --card-inner-border-radius: calc(var(--border-radius) - (var(--border-width)));
  --card-cap-padding-y: 0.5rem;
  --card-cap-padding-x: 1rem;
  --card-cap-bg: rgba(var(--body-color-rgb), 0.03);
  --card-cap-color: ;
  --card-height: ;
  --card-color: ;
  --card-bg: var(--body-bg);
  --card-img-overlay-padding: 1rem;
  --card-group-margin: 1em;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--card-height);
  color: var(--body-color);
  word-wrap: break-word;
  background-color: var(--card-bg);
  background-clip: border-box;
  border: var(--card-border-width) solid var(--card-border-color);
  border-radius: var(--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(--card-inner-border-radius);
  border-top-right-radius: var(--card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--card-inner-border-radius);
  border-bottom-left-radius: var(--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(--card-spacer-y) var(--card-spacer-x);
  color: var(--card-color);
}

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

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

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

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

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

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

.card-header-tabs {
  margin-right: calc(-0.5 * var(--card-cap-padding-x));
  margin-bottom: calc(-1 * var(--card-cap-padding-y));
  margin-left: calc(-0.5 * var(--card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active, .card-header-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .card-header-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .card-header-tabs .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .card-header-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .card-header-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .card-header-tabs .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .card-header-tabs .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.card-header-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.card-header-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .card-header-tabs .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .card-header-tabs .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn) {
  background-color: var(--card-bg);
  border-bottom-color: var(--card-bg);
}

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

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

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

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

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

.card-group > .card {
  margin-bottom: var(--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 {
  --accordion-color: var(--body-color);
  --accordion-bg: var(--body-bg);
  --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;
  --accordion-border-color: var(--border-color);
  --accordion-border-width: var(--border-width);
  --accordion-border-radius: var(--border-radius);
  --accordion-inner-border-radius: calc(var(--border-radius) - (var(--border-width)));
  --accordion-btn-padding-x: 1.25rem;
  --accordion-btn-padding-y: 1rem;
  --accordion-btn-color: var(--body-color);
  --accordion-btn-bg: var(--accordion-bg);
  --accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='hsl%28210, 11%, 15%%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --accordion-btn-icon-width: 1.25rem;
  --accordion-btn-icon-transform: rotate(-180deg);
  --accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --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='%23000022' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
  --accordion-body-padding-x: 1.25rem;
  --accordion-body-padding-y: 1rem;
  --accordion-active-color: var(--primary-text-emphasis);
  --accordion-active-bg: var(--primary-bg-subtle);
}

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

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

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

.accordion-body {
  padding: var(--accordion-body-padding-y) var(--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-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

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

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

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--breadcrumb-item-padding-x);
  color: var(--breadcrumb-divider-color);
  content: var(--breadcrumb-divider, "/") /* rtl: var(--breadcrumb-divider, "/") */;
}
.breadcrumb-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn) {
  color: var(--breadcrumb-item-active-color);
}

.pagination {
  --pagination-padding-x: 0.75rem;
  --pagination-padding-y: 0.375rem;
  --pagination-font-size: 1rem;
  --pagination-color: var(--link-color);
  --pagination-bg: var(--body-bg);
  --pagination-border-width: var(--border-width);
  --pagination-border-color: var(--border-color);
  --pagination-border-radius: var(--border-radius);
  --pagination-hover-color: var(--link-hover-color);
  --pagination-hover-bg: var(--tertiary-bg);
  --pagination-hover-border-color: var(--border-color);
  --pagination-focus-color: var(--link-hover-color);
  --pagination-focus-bg: var(--secondary-bg);
  --pagination-focus-box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
  --pagination-active-color: hsl(0, 0%, 100%);
  --pagination-active-bg: hsl(240, 98%, 17%);
  --pagination-active-border-color: hsl(240, 98%, 17%);
  --pagination-disabled-color: var(--secondary-color);
  --pagination-disabled-bg: var(--secondary-bg);
  --pagination-disabled-border-color: var(--border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--pagination-padding-y) var(--pagination-padding-x);
  font-size: var(--pagination-font-size);
  color: var(--pagination-color);
  text-decoration: none;
  background-color: var(--pagination-bg);
  border: var(--pagination-border-width) solid var(--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(--pagination-hover-color);
  background-color: var(--pagination-hover-bg);
  border-color: var(--pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--pagination-focus-color);
  background-color: var(--pagination-focus-bg);
  outline: 0;
  box-shadow: var(--pagination-focus-box-shadow);
}
.page-link.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .page-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .page-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .page-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .page-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .page-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .page-link.form-check-label-text:not(.is-color-btn), .active > .page-link, .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link {
  z-index: 3;
  color: var(--pagination-active-color);
  background-color: var(--pagination-active-bg);
  border-color: var(--pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--pagination-disabled-color);
  pointer-events: none;
  background-color: var(--pagination-disabled-bg);
  border-color: var(--pagination-disabled-border-color);
}

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

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

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

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

.btn .badge, .btn-vm-customfield .form-check-label-text .badge {
  position: relative;
  top: -1px;
}

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

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--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 {
  --alert-color: var(--primary-text-emphasis);
  --alert-bg: var(--primary-bg-subtle);
  --alert-border-color: var(--primary-border-subtle);
  --alert-link-color: var(--primary-text-emphasis);
}

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

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

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

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

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

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

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

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

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--progress-bar-bg);
  transition: var(--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(--progress-height) var(--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 {
  --list-group-color: var(--body-color);
  --list-group-bg: var(--body-bg);
  --list-group-border-color: var(--border-color);
  --list-group-border-width: var(--border-width);
  --list-group-border-radius: var(--border-radius);
  --list-group-item-padding-x: 1rem;
  --list-group-item-padding-y: 0.5rem;
  --list-group-action-color: var(--secondary-color);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--tertiary-bg);
  --list-group-action-active-color: var(--body-color);
  --list-group-action-active-bg: var(--secondary-bg);
  --list-group-disabled-color: var(--secondary-color);
  --list-group-disabled-bg: var(--body-bg);
  --list-group-active-color: hsl(0, 0%, 100%);
  --list-group-active-bg: hsl(240, 98%, 17%);
  --list-group-active-border-color: hsl(240, 98%, 17%);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--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 {
  position: relative;
  display: block;
  padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);
  color: var(--list-group-color);
  text-decoration: none;
  background-color: var(--list-group-bg);
  border: var(--list-group-border-width) solid var(--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(--list-group-disabled-color);
  pointer-events: none;
  background-color: var(--list-group-disabled-bg);
}
.list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-item.form-check-label-text:not(.is-color-btn) {
  z-index: 2;
  color: var(--list-group-active-color);
  background-color: var(--list-group-active-bg);
  border-color: var(--list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
  margin-top: calc(-1 * var(--list-group-border-width));
  border-top-width: var(--list-group-border-width);
}

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

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--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(--list-group-border-radius);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn) {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
  margin-left: calc(-1 * var(--list-group-border-width));
  border-left-width: var(--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(--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(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--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(--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(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--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(--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(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--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(--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(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--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(--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(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

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

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

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

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

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

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

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

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

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

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

:root,
[data-bs-theme=light] {
  --btn-close-filter: ;
}

[data-bs-theme=dark] {
  --btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

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

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

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

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

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

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}
@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(--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(--modal-margin) * 2);
}

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

.modal-backdrop {
  --backdrop-zindex: 1040;
  --backdrop-bg: hsl(0, 0%, 0%);
  --backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--backdrop-opacity);
}

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

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

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

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

@media (min-width: 576px) {
  .modal {
    --modal-margin: 1.75rem;
    --modal-box-shadow: var(--box-shadow);
  }
  .modal-dialog {
    max-width: var(--modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --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 {
  --tooltip-zindex: 1070;
  --tooltip-max-width: 200px;
  --tooltip-padding-x: 0.5rem;
  --tooltip-padding-y: 0.25rem;
  --tooltip-margin: ;
  --tooltip-font-size: 0.875rem;
  --tooltip-color: var(--body-bg);
  --tooltip-bg: var(--emphasis-color);
  --tooltip-border-radius: var(--border-radius);
  --tooltip-opacity: 0.9;
  --tooltip-arrow-width: 0.8rem;
  --tooltip-arrow-height: 0.4rem;
  z-index: var(--tooltip-zindex);
  display: block;
  margin: var(--tooltip-margin);
  font-family: var(--neoteric-font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  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(--tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--tooltip-arrow-width);
  height: var(--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(--tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--tooltip-bg);
}

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

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--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(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);
  border-bottom-color: var(--tooltip-bg);
}

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

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

.popover {
  --popover-zindex: 1060;
  --popover-max-width: 276px;
  --popover-font-size: 0.875rem;
  --popover-bg: var(--body-bg);
  --popover-border-width: var(--border-width);
  --popover-border-color: var(--border-color-translucent);
  --popover-border-radius: var(--border-radius-lg);
  --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));
  --popover-box-shadow: var(--box-shadow);
  --popover-header-padding-x: 1rem;
  --popover-header-padding-y: 0.5rem;
  --popover-header-font-size: 1rem;
  --popover-header-color: inherit;
  --popover-header-bg: var(--secondary-bg);
  --popover-body-padding-x: 1rem;
  --popover-body-padding-y: 1rem;
  --popover-body-color: var(--body-color);
  --popover-arrow-width: 1rem;
  --popover-arrow-height: 0.5rem;
  --popover-arrow-border: var(--popover-border-color);
  z-index: var(--popover-zindex);
  display: block;
  max-width: var(--popover-max-width);
  font-family: var(--neoteric-font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  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(--popover-font-size);
  word-wrap: break-word;
  background-color: var(--popover-bg);
  background-clip: padding-box;
  border: var(--popover-border-width) solid var(--popover-border-color);
  border-radius: var(--popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--popover-arrow-width);
  height: var(--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(--popover-arrow-height)) - var(--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(--popover-arrow-height) calc(var(--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(--popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--popover-border-width);
  border-top-color: var(--popover-bg);
}

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

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--popover-arrow-height)) - var(--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(--popover-arrow-width) * 0.5) var(--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(--popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--popover-border-width);
  border-bottom-color: var(--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(--popover-arrow-width);
  margin-left: calc(-0.5 * var(--popover-arrow-width));
  content: "";
  border-bottom: var(--popover-border-width) solid var(--popover-header-bg);
}

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

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

.popover-body {
  padding: var(--popover-body-padding-y) var(--popover-body-padding-x);
  color: var(--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, .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end,
.btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn) {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start,
.btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn) {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active, .carousel-fade .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.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 .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.carousel-fade .active.carousel-item-end,
.carousel-fade .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn) {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start, .carousel-fade .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .carousel-fade .active.carousel-item-end,
  .carousel-fade .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn) {
    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: hsl(0, 0%, 100%);
  text-align: center;
  background: none;
  filter: var(--carousel-control-icon-filter);
  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: hsl(0, 0%, 100%);
  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='hsl%280, 0%, 100%%29'%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 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='hsl%280, 0%, 100%%29'%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-.708'/%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='hsl%280, 0%, 100%%29'%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-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='hsl%280, 0%, 100%%29'%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 0'/%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: var(--carousel-indicator-active-bg);
  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, .carousel-indicators .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:not(.is-color-btn), .carousel-indicators .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-indicators .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:not(.is-color-btn), .carousel-indicators .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn), .carousel-indicators .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-indicators .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-indicators .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn),
.carousel-indicators .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn),
.carousel-indicators .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-indicators .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-indicators .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn) {
  opacity: 1;
}

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

.carousel-dark {
  --carousel-indicator-active-bg: hsl(0, 0%, 0%);
  --carousel-caption-color: hsl(0, 0%, 0%);
  --carousel-control-icon-filter: invert(1) grayscale(100);
}

:root,
[data-bs-theme=light] {
  --carousel-indicator-active-bg: hsl(0, 0%, 100%);
  --carousel-caption-color: hsl(0, 0%, 100%);
  --carousel-control-icon-filter: ;
}

[data-bs-theme=dark] {
  --carousel-indicator-active-bg: hsl(0, 0%, 0%);
  --carousel-caption-color: hsl(0, 0%, 0%);
  --carousel-control-icon-filter: invert(1) grayscale(100);
}

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

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

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

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

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

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

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--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 {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--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 {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--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 {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--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 {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--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 {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--offcanvas-color);
  visibility: hidden;
  background-color: var(--offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--offcanvas-width);
  border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--offcanvas-width);
  border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--offcanvas-height);
  max-height: 100%;
  border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--offcanvas-height);
  max-height: 100%;
  border-top: var(--offcanvas-border-width) solid var(--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: hsl(0, 0%, 0%);
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

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

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

.offcanvas-body {
  flex-grow: 1;
  padding: var(--offcanvas-padding-y) var(--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, .btn-vm-customfield .placeholder.form-check-label-text::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, hsl(0, 0%, 0%) 55%, rgba(0, 0, 0, 0.8) 75%, hsl(0, 0%, 0%) 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

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

.text-bg-primary {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--primary-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--secondary-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-success {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--success-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-info {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--info-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--warning-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--danger-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-light {
  color: hsl(0, 0%, 0%) !important;
  background-color: RGBA(var(--light-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--dark-rgb), var(--bg-opacity, 1)) !important;
}

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

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

.link-success {
  color: RGBA(var(--success-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--success-rgb), var(--link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(54, 105, 54, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(54, 105, 54, var(--link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--info-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--info-rgb), var(--link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(38, 79, 113, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(38, 79, 113, var(--link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--warning-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--warning-rgb), var(--link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(138, 78, 0, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(138, 78, 0, var(--link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--danger-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--danger-rgb), var(--link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(132, 25, 19, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(132, 25, 19, var(--link-underline-opacity, 1)) !important;
}

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

.link-dark {
  color: RGBA(var(--dark-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--dark-rgb), var(--link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(42, 47, 52, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(42, 47, 52, var(--link-underline-opacity, 1)) !important;
}

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

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

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--link-color-rgb), var(--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(--icon-link-transform, translate3d(0.25em, 0, 0));
}

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

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

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

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

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

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

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

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

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

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

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

.visually-hidden, .vm-img-desc, dt.article-info-term, .sr-only,
.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), .vm-img-desc:not(caption), dt.article-info-term:not(caption), .sr-only:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.visually-hidden *, .vm-img-desc *, dt.article-info-term *, .sr-only *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !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(--border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

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

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

.d-none, .vm-nodisplay {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
  .inset-sm-0 {
    inset: 0 !important;
  }
  .inset-sm-1 {
    inset: 0.25rem !important;
  }
  .inset-sm-2 {
    inset: 0.5rem !important;
  }
  .inset-sm-3 {
    inset: 1rem !important;
  }
  .inset-sm-4 {
    inset: 1.5rem !important;
  }
  .inset-sm-5 {
    inset: 3rem !important;
  }
  .inset-sm-auto {
    inset: auto !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
  .inset-md-0 {
    inset: 0 !important;
  }
  .inset-md-1 {
    inset: 0.25rem !important;
  }
  .inset-md-2 {
    inset: 0.5rem !important;
  }
  .inset-md-3 {
    inset: 1rem !important;
  }
  .inset-md-4 {
    inset: 1.5rem !important;
  }
  .inset-md-5 {
    inset: 3rem !important;
  }
  .inset-md-auto {
    inset: auto !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
  .inset-lg-0 {
    inset: 0 !important;
  }
  .inset-lg-1 {
    inset: 0.25rem !important;
  }
  .inset-lg-2 {
    inset: 0.5rem !important;
  }
  .inset-lg-3 {
    inset: 1rem !important;
  }
  .inset-lg-4 {
    inset: 1.5rem !important;
  }
  .inset-lg-5 {
    inset: 3rem !important;
  }
  .inset-lg-auto {
    inset: auto !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
  .inset-xl-0 {
    inset: 0 !important;
  }
  .inset-xl-1 {
    inset: 0.25rem !important;
  }
  .inset-xl-2 {
    inset: 0.5rem !important;
  }
  .inset-xl-3 {
    inset: 1rem !important;
  }
  .inset-xl-4 {
    inset: 1.5rem !important;
  }
  .inset-xl-5 {
    inset: 3rem !important;
  }
  .inset-xl-auto {
    inset: auto !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
  .inset-xxl-0 {
    inset: 0 !important;
  }
  .inset-xxl-1 {
    inset: 0.25rem !important;
  }
  .inset-xxl-2 {
    inset: 0.5rem !important;
  }
  .inset-xxl-3 {
    inset: 1rem !important;
  }
  .inset-xxl-4 {
    inset: 1.5rem !important;
  }
  .inset-xxl-5 {
    inset: 3rem !important;
  }
  .inset-xxl-auto {
    inset: auto !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
.minicolors-theme-bootstrap .minicolors-swatch {
  width: 36px;
  height: 36px;
}
.minicolors-theme-bootstrap .minicolors-swatch > .minicolors-sprite {
  top: 50%;
  left: 8px;
  border-radius: 0;
  transform: translateY(-50%);
}

span.minicolors-swatch-color {
  cursor: pointer;
}

:root {
  scroll-behavior: smooth;
  font-size: 14px;
}
@media screen and (prefers-reduced-motion: reduce) {
  :root {
    scroll-behavior: auto;
  }
}

::-ms-reveal {
  display: none;
}

::selection {
  background-color: var(--template-primary-color);
  color: var(--template-primary-contrast-color);
}

html {
  background-color: hsl(0, 0%, 100%);
  scroll-behavior: smooth;
}

body {
  position: relative;
  min-height: 100vh;
  font-style: var(--neoteric-font-style-normal, normal);
}
body.tmpl-component {
  min-height: 0;
}

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

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
  font-family: var(--neoteric-font-family-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  font-weight: var(--neoteric-font-weight-headings, 700);
  font-style: var(--neoteric-font-style-normal, );
  margin-bottom: 1rem;
}

p {
  margin-bottom: 2rem;
}

.display-1 {
  font-size: clamp(2.7rem, 8vw, 5.5rem);
}

.display-2 {
  font-size: clamp(2.3rem, 7vw, 4.5rem);
}

.display-3 {
  font-size: clamp(1.9rem, 6vw, 3.5rem);
}

.display-4 {
  font-size: clamp(1.5rem, 5vw, 2.5rem);
}

.lead {
  font-size: clamp(1.1rem, 3vw, 1.25rem);
}

.text-color-body {
  color: var(--body-color);
}

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

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

a {
  color: var(--template-link-color);
  text-decoration: none;
}
a:not(.btn) {
  transition: color 0.15s ease-in-out, opacity 0.15s ease-in-out, transform 0.15s ease-in-out;
}
a:not([class]):hover, a:not([class]):focus {
  color: var(--template-link-hover-color);
}
a.navbar-brand {
  color: var(--neoteric-color-brand);
}

.com-content-article ol,
.com-content-article ul {
  overflow: hidden;
}

.com-content-category__pagination {
  margin-bottom: 2em;
}

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

dd {
  padding: 0;
  word-wrap: break-word;
}

th dd {
  font-weight: var(--neoteric-font-weight-normal, 400);
}

.com-contact__thumbnail {
  text-align: left;
}

@media (min-width: 1200px) {
  dl.dl-horizontal {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  dl.dl-horizontal dt {
    grid-column-start: 1;
    grid-column-end: 2;
  }
  dl.dl-horizontal dd {
    grid-column-start: 2;
    grid-column-end: 3;
    padding: 0 0 0 2em;
    margin-bottom: 0;
  }
  .com-contact__container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, auto);
    grid-gap: 1rem;
    margin-bottom: 2em;
  }
  .com-contact__container h3, .com-contact__container .h3 {
    grid-column: 1/5;
  }
  .com-contact__container .com-contact__thumbnail {
    grid-column: 3/5;
    grid-row: 2/5;
    margin-bottom: 2em;
    text-align: right;
  }
  .com-contact__container .com-contact__position {
    grid-column: 1/3;
    grid-row: 2/3;
  }
  .com-contact__container .com-contact__info {
    grid-column: 1/3;
    grid-row: 3/4;
  }
  .com-users-profile dt {
    min-width: 180px;
  }
}
figure {
  margin: 0 0 2em;
}
figure.float-start {
  margin-right: 2em;
}
figure.float-end {
  margin-left: 2em;
}

figcaption {
  font-size: 0.9em;
  color: hsl(210, 7%, 46%);
}

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

meter {
  width: 100%;
}

.pagenavigation,
.pager {
  clear: both;
}
.pagenavigation .pagination,
.pager .pagination {
  justify-content: space-between;
  padding: 0;
  margin: 2em 0;
}
.pagenavigation .pagination .next:only-child,
.pager .pagination .next:only-child {
  margin-left: auto;
}

.page-link {
  color: var(--template-link-color);
}
.page-link:hover {
  color: var(--template-link-color);
}

.active > .page-link, .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link {
  color: var(--pagination-active-color);
}
.active > .page-link:hover, .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover {
  color: var(--pagination-active-hover-color, var(--pagination-active-color));
}

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

[dir=rtl] li.next .page-link {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0.25rem;
}

[dir=rtl] li.previous .page-link {
  border-top-left-radius: 0;
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}

.article-index .toclink.active, .article-index .btn-vm-customfield .form-check-input:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn), .article-index .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .article-index .btn-vm-customfield .form-check-input:checked + label .toclink.form-check-label-text:not(.is-color-btn), .article-index .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn), .article-index .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .article-index .btn-vm-customfield input[type=radio]:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .article-index .btn-vm-customfield input[type=radio]:checked + label .toclink.form-check-label-text:not(.is-color-btn),
.article-index .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn),
.article-index .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .toclink.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .article-index .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .article-index .btn-vm-customfield input[type=checkbox]:checked + label .toclink.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn) {
  color: currentColor;
}

.top-bar-content {
  background-color: var(--template-topbar-bg);
  color: var(--template-topbar-color);
  border-bottom-color: var(--template-topbar-border-color);
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.top-bar-content a.text-color-inherit,
.top-bar-content .mod-list a {
  color: var(--template-topbar-color);
  opacity: 1;
}
.top-bar-content a.text-color-inherit:hover, .top-bar-content a.text-color-inherit:focus, .top-bar-content a.text-color-inherit:active,
.top-bar-content .mod-list a:hover,
.top-bar-content .mod-list a:focus,
.top-bar-content .mod-list a:active {
  color: var(--template-topbar-color);
}
.top-bar-content a.text-color-inherit:hover,
.top-bar-content .mod-list a:hover {
  opacity: 0.9;
}
.top-bar-content .mod-inline {
  padding: 0.4rem 0;
}

@media (min-width: 768px) {
  .top-bar-content .top-right .mod-inline:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.6);
    padding-right: 1rem;
  }
  .top-bar-content .top-left .mod-inline:not(:first-child) {
    border-left: 1px solid rgba(255, 255, 255, 0.6);
    padding-left: 1rem;
  }
}
.offcanvas-header {
  border-bottom: 1px solid var(--gray-300);
  justify-content: space-between;
}

.block-offcanvas .offcanvas-header {
  background-color: var(--template-offcanvas-header-bg, #092143);
  color: var(--template-offcanvas-header-color, #fff);
  border-bottom: none;
  position: relative;
  box-shadow: rgba(0, 0, 0, 0.17) -3px 3px 9px 0px;
}
.block-offcanvas .offcanvas-body {
  padding: 0;
}

.header-content {
  background-color: var(--white, hsl(0, 0%, 100%));
}

.header-is-sticky .header-content {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.header-main {
  background-color: var(--template-header-bg, #092143);
  color: var(--template-header-color, #fff);
}
.header-main .container-inner {
  position: relative;
  padding: 1.2rem 0;
  transition: padding 0.2s ease;
}

.header-search-container .awesomplete {
  display: block;
  flex-grow: 1;
}
.header-search-container .awesomplete > input {
  max-width: none;
}

@media (max-width: 991.98px) {
  .header-search-container {
    position: absolute;
    left: auto;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    background-color: var(--template-header-bg, #092143);
    color: var(--template-header-color, #fff);
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    z-index: 380;
    transition: opacity 0.1s linear, visibility 0.1s linear, width 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .header-search-container .header-search-inner {
    height: 100%;
  }
  .header-search-open .header-search-container {
    visibility: visible;
    pointer-events: unset;
    opacity: 1;
    width: 100%;
  }
}
.link-inherit-color {
  color: currentColor;
}
.link-inherit-color:hover, .link-inherit-color:focus, .link-inherit-color:active {
  color: currentColor;
}

@media (min-width: 992px) {
  .header-main .container-inner {
    padding: 2rem 0;
  }
  .header-is-sticky .header-main .container-inner {
    padding: 1.2rem 0;
  }
}
select.vm-customfield-choice,
select.normal-choice,
.normal-choice-wrapper > select {
  display: none;
}

input[type=number].quantity-input {
  -moz-appearance: textfield;
  appearance: textfield;
}
input[type=number].quantity-input::-webkit-outer-spin-button, input[type=number].quantity-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.main-content-area {
  background-color: var(--template-main-content-area-bg, transparent);
}

.main-section {
  padding-top: 3rem;
}

.mega-menu-container {
  --megamenu-border-color: var(--template-megamenu-border-color, #ddd);
  --megamenu-bg: var(--template-megamenu-bg, #fff);
  border-top: 1px solid var(--megamenu-border-color);
  border-bottom: 1px solid var(--megamenu-border-color);
  background-color: var(--megamenu-bg);
}
.mega-menu-container .mod-vmcategory-dropdown + .mod-megamenu {
  padding-left: 0.9rem;
}

.breadcrumbs-section {
  background-color: var(--breadcrumb-section-bg);
  color: var(--breadcrumb-section-color);
  border-bottom: 1px solid var(--breadcrumb-section-border-color);
}
.breadcrumbs-section .mod-breadcrumbs {
  margin: 0;
  background-color: transparent;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.breadcrumbs-section a {
  text-decoration: none;
  color: var(--breadcrumb-section-link-color, inherit);
}
.breadcrumbs-section a:hover {
  text-decoration: none;
  color: var(--breadcrumb-section-link-hover-color, var(--template-link-color));
}
.breadcrumbs-section .mod-breadcrumbs__item + .breadcrumb-item:before {
  font-family: "VP-Prime", "Roboto", sans-serif !important;
  content: "\e923";
  color: var(--breadcrumb-section-separator-color);
}
.breadcrumbs-section .mod-breadcrumbs__item.active, .breadcrumbs-section .btn-vm-customfield .form-check-input:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield .form-check-input:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield input[type=radio]:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield input[type=radio]:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield input[type=checkbox]:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn) {
  color: var(--breadcrumb-section-item-active-color, inherit);
}

@media (max-width: 575.98px) {
  .breadcrumbs-section .breadcrumbs-inner.d-flex .mod-position-breadcrumbs {
    flex-shrink: 1;
    overflow: hidden;
  }
  .breadcrumbs-section .mod-breadcrumbs__wrapper {
    overflow-x: auto;
  }
  .breadcrumbs-section .breadcrumb {
    flex-wrap: unset;
    white-space: nowrap;
  }
  .breadcrumbs-section .breadcrumb .breadcrumb-item:not(:first-child):not(:last-child) {
    overflow: hidden;
    text-overflow: ellipsis;
    visibility: hidden;
    width: 0;
    padding: 0;
  }
  .breadcrumbs-section .breadcrumb .mod-breadcrumbs__divider + .breadcrumb-item,
  .breadcrumbs-section .breadcrumb .mod-breadcrumbs__here + .breadcrumb-item {
    overflow: unset !important;
    text-overflow: unset !important;
    visibility: unset !important;
    width: unset !important;
    padding: unset !important;
  }
  .breadcrumbs-section .breadcrumb .breadcrumb-item:last-child:not(:first-child) {
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .breadcrumbs-section .breadcrumb .breadcrumb-item:last-child:not(:first-child):before {
    font-family: "VP-Prime", "Roboto", sans-serif !important;
    content: "\e923 ... \e923";
    color: var(--breadcrumb-section-separator-color);
  }
  .breadcrumbs-section .breadcrumb .mod-breadcrumbs__here + .breadcrumb-item:last-child:before {
    content: none;
  }
}
@media (max-width: 991.98px) {
  .breadcrumbs-section {
    border-top: 1px solid var(--breadcrumb-section-border-color);
  }
}
.separator-line {
  height: 1px;
  border-bottom: 1px solid var(--gray-200);
}

.separator-line-offcanvas {
  border-bottom-color: var(--gray-300);
}

.tmpl-component {
  padding: 2rem;
}
.tmpl-component.com-vmessentials.view-quickview {
  padding: 0;
}

.glightbox-clean.modal-link .gslide-external {
  border-radius: 0;
  position: relative;
}
.glightbox-clean.modal-link .iframe-loader {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.6);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: all 0.3s ease-in;
  will-change: opacity;
}
.glightbox-clean.modal-link .iframe-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 25px;
  width: 25px;
  -webkit-animation: loaderSpin 0.8s infinite linear;
  animation: loaderSpin 0.8s infinite linear;
  border: 2px solid #333;
  border-right-color: transparent;
  border-radius: 50%;
}
.glightbox-clean.modal-link .iframe-loading .iframe-loader {
  opacity: 1;
  visibility: visible;
  pointer-events: initial;
}

@-webkit-keyframes loaderSpin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loaderSpin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@media (min-width: 769px) {
  .glightbox-clean.modal-link .goverlay {
    background: #000 !important;
    opacity: 0.5 !important;
  }
}
.link-body, .product-name a,
.category-name a,
.manufacturer-name a {
  text-decoration: none;
  color: var(--body-color, inherit);
}
.link-body:hover, .product-name a:hover,
.category-name a:hover,
.manufacturer-name a:hover {
  text-decoration: none;
}
.link-body:hover, .product-name a:hover,
.category-name a:hover,
.manufacturer-name a:hover, .link-body:active, .product-name a:active,
.category-name a:active,
.manufacturer-name a:active, .link-body:focus, .product-name a:focus,
.category-name a:focus,
.manufacturer-name a:focus {
  color: var(--gray-600);
}

.link-body-invert, .social-share-list-item > .social-share-link {
  text-decoration: none;
  color: var(--gray-600);
}
.link-body-invert:hover, .social-share-list-item > .social-share-link:hover {
  text-decoration: none;
}
.link-body-invert:hover, .social-share-list-item > .social-share-link:hover, .link-body-invert:active, .social-share-list-item > .social-share-link:active, .link-body-invert:focus, .social-share-list-item > .social-share-link:focus {
  color: var(--body-color);
}

.tns-initial-container {
  display: none;
}
.tns-initial-container.tns-slider {
  display: block;
}

.page-header h1, .page-header .h1 {
  position: relative;
  padding-bottom: 0.8rem;
  margin-bottom: 2.5rem;
  text-transform: uppercase;
  font-size: 2rem;
}
.page-header h1:after, .page-header .h1:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  transform: translate(0, -100%);
  height: 3px;
  background-color: var(--template-primary-color);
  width: 3rem;
}
.page-header h2, .page-header .h2 {
  margin-bottom: 1rem;
}
.page-header.page-header-center h1:after, .page-header.page-header-center .h1:after {
  left: 50%;
  transform: translate(-50%, -100%);
  width: 4rem;
}
.page-header.page-header-no-decoration h1, .page-header.page-header-no-decoration .h1 {
  padding-bottom: 0;
}
.page-header.page-header-no-decoration h1:after, .page-header.page-header-no-decoration .h1:after {
  display: none;
}
.page-header a {
  color: inherit;
}
.page-header a:hover, .page-header a:focus, .page-header a:active {
  color: inherit;
}

.sub-heading {
  text-transform: uppercase;
  margin-bottom: 1.2rem;
  font-size: 1.5rem;
}

#system-message-container > * {
  margin-bottom: 2rem;
}

@media (min-width: 768px) {
  .page-container-box,
  .com-users-registration,
  .com-users-login,
  .com-users-remind,
  .com-users-reset {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
    border: 1px solid var(--gray-200);
    padding: 1.5rem 2rem;
  }
}
.mod-login__options .icon-register {
  display: none;
}

.red,
.star,
.asterisk {
  color: #ff4c0e;
}

.offcanvas-registration i,
.offcanvas-logout i {
  color: var(--gray-200);
  font-size: 6rem;
  margin-bottom: 1.5rem;
}

.btn-remove {
  display: inline-block;
  --webkit-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  padding: 0.1rem 0.3rem;
  font-weight: normal;
  text-align: center;
  opacity: 0.6;
  font-size: 1.5rem;
  line-height: 1;
  transition: opacity 0.15s ease-in;
}
.btn-remove:hover {
  opacity: 1;
}

.jewel-group {
  display: inline-block;
  position: relative;
}

.jewel {
  position: absolute;
  top: -0.4rem;
  right: -0.8rem;
  background-color: var(--template-primary-color);
  color: var(--white);
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  font-size: 0.7rem;
  line-height: 1.1rem;
  text-align: center;
}

@media (max-width: 991.98px) {
  .footer-toolbar {
    background-color: var(--gray-100);
    border-top: 1px solid var(--gray-200);
    z-index: 500;
    color: var(--body-color);
    height: fit-content;
  }
  .footer-toolbar > * {
    margin: 0.4rem 0;
  }
  .is-ios .footer-toolbar {
    padding-bottom: env(safe-area-inset-bottom);
  }
}
@media (min-width: 992px) {
  .header-right-lg.fixed-bottom {
    position: static !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    gap: 1rem;
    z-index: inherit;
  }
  .header-right-lg.fixed-bottom > :last-child .btn-icon {
    padding-right: 0;
  }
  .header-right-lg.fixed-bottom .jewel-group .vpi-lg {
    font-size: 2rem;
  }
}
.mod-inline {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  gap: 0.8rem;
}

.mod-inline-title {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
  line-height: inherit;
}

.top-bar .dropdown-toggle::after {
  border: none;
  margin: 0;
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  content: "\f078";
  margin: 0;
  vertical-align: middle;
  font-size: 0.8rem;
  color: inherit;
}
.top-bar .dropdown-menu,
.top-bar ul.lang-block.dropdown-menu {
  --dropdown-border-radius: 0;
}
.top-bar .dropdown-menu > li,
.top-bar ul.lang-block.dropdown-menu > li {
  padding-top: 0;
  padding-bottom: 0;
}

.mod-badge {
  --mod-badge-bg: #ff0000;
  --mod-badge-color: #ffffff display: inline-block;
  padding: 0.5rem 0.7rem;
  background-color: var(--mod-badge-bg);
  color: var(--mod-badge-color);
  text-align: center;
  line-height: 1;
  font-size: 0.9rem;
}

.main-top-vertical-section,
.main-top-horizontal-section,
.main-bottom-vertical-section,
.main-bottom-horizontal-section {
  margin: 4rem 0 1rem;
}

.content-top-vertical-section,
.content-top-horizontal-section,
.content-bottom-vertical-section,
.content-bottom-horizontal-section {
  margin: 3rem 0 0;
}

.header-group,
.mod-header-group {
  margin-bottom: 2.5rem;
}
.header-group:after,
.mod-header-group:after {
  content: "";
  display: table;
  clear: both;
}

.mod-header {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: start;
  gap: 0.6rem;
  margin-bottom: 1rem;
}
.mod-header .mod-title {
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  font-size: 2rem;
}

.mod-header-group > .mod-header:last-child {
  margin-bottom: 0;
}

.mod-subtitle {
  color: var(--gray-600);
  margin-bottom: 1rem;
  font-size: 1.2rem;
  line-height: 1.2;
}

.vertical-module-section .mod-header-group {
  text-align: center;
}

aside .mod-header-group,
.bottom-section .mod-header-group {
  margin-bottom: 1.5rem;
}
aside .mod-header,
.bottom-section .mod-header {
  margin-bottom: 1rem;
}
aside .mod-header .mod-title,
.bottom-section .mod-header .mod-title {
  font-size: 1.2rem;
}
aside .mod-subtitle,
.bottom-section .mod-subtitle {
  font-size: 1rem;
}

.utility-wide-section {
  background-color: var(--template-utility-wide-section-bg, transparent);
  border-top: 1px solid var(--template-utility-wide-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-utility-wide-section-border-bottom-color, transparent);
}

.utility-vertical-section {
  background-color: var(--template-utility-vertical-section-bg, transparent);
  border-top: 1px solid var(--template-utility-vertical-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-utility-vertical-section-border-bottom-color, transparent);
}

.utility-horizontal-section {
  background-color: var(--template-utility-horizontal-section-bg, transparent);
  border-top: 1px solid var(--template-utility-horizontal-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-utility-horizontal-section-border-bottom-color, transparent);
}
.utility-horizontal-section .container-inner {
  padding: 5rem 0;
}
.utility-horizontal-section .mod-title {
  font-size: 1.5rem;
}

.bottom-slider-section {
  background-color: var(--template-bottom-slider-section-bg, transparent);
  border-top: 1px solid var(--template-bottom-slider-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-bottom-slider-section-border-bottom-color, transparent);
  padding: 1rem 0;
}

.bottom-section {
  color: var(--template-bottom-section-color);
  background-color: var(--template-bottom-section-bg, transparent);
  border-top: 1px solid var(--template-bottom-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-bottom-section-border-bottom-color, transparent);
}
.bottom-section .container-inner {
  padding: 3.5rem 0 0.5rem;
}
.bottom-section .mod-header {
  margin-bottom: 1.5rem;
}
.bottom-section .mod-title {
  color: var(--template-bottom-section-title-color);
}
.bottom-section a {
  color: var(--template-bottom-section-link-color);
}
.bottom-section a:active {
  color: var(--template-bottom-section-link-color);
}
.bottom-section a:hover, .bottom-section a:focus {
  text-decoration: none;
  color: var(--template-bottom-section-link-hover-color);
}

.mod-block-header .mod-title {
  flex-grow: 1;
}

div.mod-languages ul.lang-block > li {
  padding: 0.25rem 0 !important;
}

.top-bar-content .top-left .mod-inline:first-child .dropdown-toggle {
  padding-left: 0;
}

dl.article-info {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0 1rem;
}

@media (max-width: 991.98px) {
  body {
    padding-bottom: 3rem;
  }
}
.mod-megamenu {
  flex-grow: 1;
}

.utility-wide-section .mod-custom,
.utility-vertical-section .mod-custom,
.utility-horizontal-section .mod-custom {
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.utility-wide-section .mod-custom {
  background-size: cover;
  background-attachment: fixed;
}

.banner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5rem;
}

.banner-body {
  display: inline-block;
}

.banner-contents {
  position: relative;
  display: inline-block;
  padding: 4rem 5rem;
  background-color: var(--template-banner-bg, rgba(255, 255, 255, 0.9));
  color: var(--template-banner-color, var(--body-color));
  text-align: center;
  border-radius: 0.3rem;
}

.banner-title {
  font-size: 2.5rem;
  line-height: 1.3;
  margin-bottom: 2rem;
  text-transform: uppercase;
}

.banner-subtitle {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--template-primary-color);
}

.zoom-on-hover {
  transition: transform 1s cubic-bezier(0, 0, 0.44, 1.18);
}
.zoom-on-hover:hover {
  transform: scale(1.09);
}

.promo-banner {
  position: relative;
  background-color: var(--promo-banner-bg);
  aspect-ratio: var(--promo-banner-aspect-ratio);
  overflow: hidden;
  margin-bottom: 3rem;
}

.promo-banner-body {
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  align-items: center;
  justify-content: start;
}

.promo-banner-image {
  width: 100%;
  height: auto;
  transition: transform 1s cubic-bezier(0, 0, 0.44, 1.18);
}

.promo-banner-content {
  padding: 3rem;
}

.promo-banner-subtitle {
  color: var(--template-primary-color);
  font-weight: 600;
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
}

.promo-banner-title {
  font-size: 1.6rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.promo-banner-text {
  color: var(--secondary);
  margin-bottom: 1.4rem;
}

.promo-banner:hover .promo-banner-image {
  transform: scale(1.09);
}

.plg_system_webauthn_login_button svg {
  width: 20px;
  margin: 3px;
}

@media (max-width: 991.98px) {
  .promo-banner-title {
    font-size: 4vw;
  }
  .promo-banner-subtitle {
    font-size: 2.5vw;
  }
}
.j-main-container .alert {
  margin: 0.75rem;
}

.alert-heading {
  font-size: 1.5rem;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/**
* Back to Top
*/
.back-to-top-link {
  position: fixed;
  right: 1.2rem;
  bottom: 4.2rem;
  z-index: 350;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: var(--white, hsl(0, 0%, 100%));
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.17);
  color: var(--gray-800);
  font-size: 1rem;
  opacity: 0;
  text-decoration: none;
  pointer-events: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateX(100%);
  transition: all 0.25s ease;
}
.back-to-top-link.visible {
  opacity: 0.9;
  transform: none;
  pointer-events: visible;
}
.back-to-top-link:hover, .back-to-top-link:focus {
  color: var(--gray-800);
  background-color: var(--white, hsl(0, 0%, 100%));
}
.back-to-top-link:hover {
  opacity: 1;
}

@media (min-width: 992px) {
  .back-to-top-link {
    width: 4.2rem;
    height: 4.2rem;
    bottom: 1.2rem;
    font-size: 1.2rem;
  }
}
.container-banner img {
  display: block;
  margin: auto;
}
.container-banner .banner-overlay {
  height: 70vh;
  color: hsl(0, 0%, 100%);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: top, center;
  background-size: cover;
}
.container-banner .banner-overlay .overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 2em;
  text-align: center;
  background-color: hsla(0, 0%, 0%, 0.5);
}
.container-banner .banner-overlay .overlay .text-thin {
  font-weight: lighter;
}
.container-banner .banner-overlay .overlay .text-thin::after {
  display: block;
  width: 30%;
  height: 4px;
  margin: 1rem auto 2rem;
  content: "";
  background: hsl(0, 0%, 100%);
}
.container-banner .banner-overlay .overlay .text-thin .lead {
  font-size: 150vh;
}
@media screen and (max-height: 740px) {
  .container-banner .banner-overlay {
    height: 100vh;
  }
}

.footer-area {
  color: var(--template-footer-area-color);
  background-color: var(--template-footer-area-bg, transparent);
  border-top: 1px solid var(--template-footer-area-border-top-color, transparent);
}
.footer-area .container-inner {
  padding: 1.7rem 0;
}
.footer-area a {
  color: var(--template-footer-area-link-color);
}
.footer-area a:hover {
  color: var(--template-footer-area-link-hover-color);
}

.form-control, .cf-form-search .input-append input[type=search]:not(.form-control),
.cf-form-search .input-append input[type=text]:not(.form-control), .old-form input[type=text],
.old-form input[type=password],
.old-form input[type=email],
.old-form textarea {
  max-width: 100%;
  background-color: hsl(0, 0%, 100%);
}
.form-control.input-xlarge, .cf-form-search .input-append input.input-xlarge[type=search]:not(.form-control),
.cf-form-search .input-append input.input-xlarge[type=text]:not(.form-control), .old-form input.input-xlarge[type=text],
.old-form input.input-xlarge[type=password],
.old-form input.input-xlarge[type=email],
.old-form textarea.input-xlarge {
  max-width: 21.875rem;
}
.form-control.input-xxlarge, .cf-form-search .input-append input.input-xxlarge[type=search]:not(.form-control),
.cf-form-search .input-append input.input-xxlarge[type=text]:not(.form-control), .old-form input.input-xxlarge[type=text],
.old-form input.input-xxlarge[type=password],
.old-form input.input-xxlarge[type=email],
.old-form textarea.input-xxlarge {
  max-width: 34.375rem;
}
.form-control.input-full, .cf-form-search .input-append input.input-full[type=search]:not(.form-control),
.cf-form-search .input-append input.input-full[type=text]:not(.form-control), .old-form input.input-full[type=text],
.old-form input.input-full[type=password],
.old-form input.input-full[type=email],
.old-form textarea.input-full {
  max-width: 100%;
}
.form-control:focus, .cf-form-search .input-append input[type=search]:focus:not(.form-control),
.cf-form-search .input-append input[type=text]:focus:not(.form-control), .old-form input[type=text]:focus,
.old-form input[type=password]:focus,
.old-form input[type=email]:focus,
.old-form textarea:focus {
  color: var(--body-color);
  background-color: var(--body-bg);
  border-color: var(--template-input-focus-border-color, hsl(210, 14%, 83%));
  box-shadow: none;
}

.form-check-input:checked, .form-check-vm.form-check input[type=radio]:checked,
.form-check-vm.form-check input[type=checkbox]:checked {
  background-color: var(--template-primary-color);
  border-color: var(--template-primary-color);
}
.form-check-input:focus, .form-check-vm.form-check input[type=radio]:focus,
.form-check-vm.form-check input[type=checkbox]:focus {
  box-shadow: none;
}

.spacer hr {
  width: 23.75rem;
}

.form-select, .custom-select, .old-form select {
  max-width: 100%;
}

.form-inline .form-select, .form-inline .custom-select, .form-inline .old-form select, .old-form .form-inline select {
  display: inline-block;
  width: auto;
}

@media (max-width: 991.98px) {
  .form-inline .form-select, .form-inline .custom-select, .form-inline .old-form select, .old-form .form-inline select {
    width: 100%;
  }
}
td .form-control, td .cf-form-search .input-append input[type=search]:not(.form-control), .cf-form-search .input-append td input[type=search]:not(.form-control),
td .cf-form-search .input-append input[type=text]:not(.form-control),
.cf-form-search .input-append td input[type=text]:not(.form-control), td .old-form input[type=text], .old-form td input[type=text],
td .old-form input[type=password],
.old-form td input[type=password],
td .old-form input[type=email],
.old-form td input[type=email],
td .old-form textarea,
.old-form td textarea {
  display: inline-block;
  width: auto;
}

.checkboxes {
  padding-top: 5px;
}
.checkboxes .checkbox input {
  position: static;
  margin-left: 0;
}

.modal label {
  width: 100%;
}

.invalid, .old-form select.invalid, .old-form input[type=text].invalid,
.old-form input[type=password].invalid,
.old-form input[type=email].invalid,
.old-form textarea.invalid, .has-danger .chosen-container.chosen-container-single .chosen-single {
  color: hsl(3, 75%, 37%);
  border-color: hsl(3, 75%, 37%);
}

.valid, .old-form select.valid, .old-form input[type=text].valid,
.old-form input[type=password].valid,
.old-form input[type=email].valid,
.old-form textarea.valid {
  border-color: hsl(120, 32%, 39%);
}

.form-control-feedback {
  display: block;
}

[role=tooltip]:not(.show) {
  right: 5em;
  z-index: 1070;
  display: none;
  max-width: 100%;
  padding: 0.5em;
  margin: 0.5em;
  color: hsl(0, 0%, 0%);
  text-align: start;
  background: hsl(0, 0%, 100%);
  border: 1px solid hsl(210, 7%, 46%);
  border-radius: 0.25rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.8);
}
[role=tooltip]:not(.show)[id^=editarticle-] {
  right: auto;
  margin-inline-start: -10em;
}
[role=tooltip]:not(.show)[id^=editcontact-] {
  right: auto;
  margin-inline-start: -10em;
}
[role=tooltip]:not(.show)[id^=id-skip-] {
  right: auto;
}
[role=tooltip]:not(.show)[id^=cbunpublish] {
  right: auto;
}

:focus + [role=tooltip],
:hover + [role=tooltip] {
  position: absolute;
  display: block;
}

.filter-search-bar__description {
  bottom: 100%;
}

fieldset {
  margin-bottom: 1em;
}
fieldset + fieldset {
  margin-top: 1em;
}
fieldset > * {
  margin-bottom: 0;
}
fieldset legend {
  margin-bottom: 1rem;
  font-size: 1.2rem;
}

.control-group {
  margin-bottom: 1.6em;
}

.container-popup .filter-search-bar__description {
  top: 100%;
  bottom: auto;
}

.com-users-login__options {
  margin-top: 1.6em;
}

.com-users-profile__edit #jform_privacyconsent_privacy .radio,
.com-users-profile__edit #jform_profile_tos .radio,
.com-users-profile__edit #jform_terms_terms .radio,
.com-users-registration #jform_privacyconsent_privacy .radio,
.com-users-registration #jform_profile_tos .radio,
.com-users-registration #jform_terms_terms .radio {
  display: inline-flex;
  gap: 1rem;
}

.old-form select {
  width: 100% !important;
}
.com-users-login__remember {
  margin-bottom: 1.6rem;
}

.com-users-registration__submit .btn, .com-users-registration__submit .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .com-users-registration__submit .form-check-label-text,
.com-users-login__submit .btn,
.com-users-login__submit .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .com-users-login__submit .form-check-label-text,
.com-users-reset__submit .btn,
.com-users-reset__submit .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .com-users-reset__submit .form-check-label-text,
.com-users-remind__submit .btn,
.com-users-remind__submit .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .com-users-remind__submit .form-check-label-text {
  display: block;
  width: 100%;
}

.btn.jmodedit, .btn-vm-customfield .jmodedit.form-check-label-text {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  z-index: 900;
  color: var(--neoteric-color-link);
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid #58595a;
  border-radius: 0.25rem;
}

.container-header {
  position: relative;
  z-index: 10;
  background-color: var(--neoteric-color-primary);
  background-image: linear-gradient(135deg, var(--neoteric-color-primary) 0%, var(--template-link-hover-color) 100%);
  box-shadow: 0 5px 5px hsla(0, 0%, 0%, 0.03) inset;
}
@media (max-width: 991.98px) {
  .container-header {
    position: relative !important;
  }
}
.container-header .grid-child {
  padding: 1em;
}
.container-header nav {
  padding: 0;
  margin-top: 1em;
}
.container-header .site-description {
  font-size: 1rem;
  color: hsl(0, 0%, 100%);
  white-space: normal;
}
.container-header .navbar-brand {
  position: relative;
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  font-size: 2rem;
  color: hsl(0, 0%, 100%);
  margin-inline-end: auto;
}
.container-header .navbar-brand a {
  color: hsl(0, 0%, 100%);
}
.container-header .navbar-brand:hover, .container-header .navbar-brand:focus {
  color: #f0f0f0;
}
.container-header .container-nav {
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 2em;
}
@media (max-width: 767.98px) {
  .container-header .container-nav .container-search,
  .container-header .container-nav nav {
    margin-top: 2em;
  }
}
.container-header .container-nav .container-search:only-child {
  margin-left: auto;
}
.container-header .navbar-collapse.show {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.container-header .mod-menu {
  flex: 1 0 100%;
  padding: 0;
  margin: 0;
  color: hsl(0, 0%, 100%);
  list-style: none;
}
@media (min-width: 992px) {
  .container-header .mod-menu {
    display: flex;
    flex: 1 1 0%;
    flex-direction: row;
  }
}
.container-header .mod-menu > li {
  position: relative;
}
@media (min-width: 992px) {
  .container-header .mod-menu > li + li {
    margin-left: 1.55em;
  }
}
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
  position: relative;
  color: currentColor;
  text-decoration: none;
}
@media (min-width: 992px) {
  .container-header .mod-menu > li::after {
    position: absolute;
    right: 50%;
    bottom: 0;
    left: 50%;
    display: block;
    height: 2px;
    margin: auto;
    content: "";
    background: transparent;
    opacity: 0.2;
    transition: all 0.2s ease, background-color 0.2s ease;
  }
}
.container-header .mod-menu > li.active::after, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .container-header .mod-menu > li:hover::after {
  right: 2px;
  left: 0;
  background: hsl(0, 0%, 100%);
}
@media (max-width: 991.98px) {
  .container-header .mod-menu > li.active > a, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .container-header .mod-menu > li.active > span, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .container-header .mod-menu > li > a:hover {
    text-decoration: underline;
  }
}
.container-header .mod-menu .parent > ul {
  display: none;
  color: hsl(210, 11%, 15%);
}
.container-header .metismenu > li + li {
  margin-left: 0;
}
@media (min-width: 992px) {
  .container-header .metismenu > li > a::after,
  .container-header .metismenu > li > button::before {
    position: absolute;
    right: 50%;
    bottom: 0;
    left: 50%;
    display: block;
    height: 2px;
    margin: auto;
    content: "";
    background: transparent;
    opacity: 0.2;
    transition: all 0.2s ease, background-color 0.2s ease;
  }
}
.container-header .metismenu > li > a:hover::after,
.container-header .metismenu > li > button:hover::before, .container-header .metismenu > li.active > a::after, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .container-header .metismenu > li.active > button::before, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before {
  right: 0;
  left: 0;
  background: hsl(0, 0%, 100%);
}
.container-header .metismenu > li > button.mm-toggler-link:hover::before, .container-header .metismenu > li.active > button.mm-toggler-link::before, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before {
  right: 0;
  left: 0.5em;
}
@media (min-width: 992px) {
  .container-header .metismenu > li.level-1.active > a, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .container-header .metismenu > li.level-1.active > button, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .container-header .metismenu > li.level-1 > a:hover,
  .container-header .metismenu > li.level-1 > button:hover {
    text-decoration: none;
  }
}
.container-header .metismenu > li.level-1 > ul {
  min-width: 12rem;
}
.container-header .navbar-toggler {
  color: hsl(0, 0%, 100%);
  cursor: pointer;
  border: 1px solid hsl(0, 0%, 100%);
}
.container-header .navbar-toggler .fas {
  font-size: 1.5rem;
}
.container-header .container-search {
  margin-top: 1em;
}
.container-header .mod-finder {
  color: hsl(0, 0%, 100%);
}
.container-header .mod-finder a {
  color: hsl(0, 0%, 100%);
}
.container-header .mod-finder a:hover, .container-header .mod-finder a:focus {
  color: #e6e6e6;
}
.container-header .mod-finder .awesomplete {
  color: var(--body-color);
}
.container-header .mod-finder .awesomplete > ul {
  background: linear-gradient(to bottom right, hsl(0, 0%, 100%), hsla(0, 0%, 100%, 0.9));
}

.icon-white {
  color: hsl(0, 0%, 100%);
}

.input-group-text::before {
  min-width: 16px;
}

.tbody-icon {
  padding: 0 3px;
  text-align: center;
  background-color: transparent;
  border: 0;
}
.tbody-icon [class^=icon-],
.tbody-icon [class*=" icon-"],
.tbody-icon [class^=fa-],
.tbody-icon [class*=" fa-"] {
  width: 26px;
  height: 26px;
  font-size: 1.1rem;
  line-height: 22px;
  color: hsl(210, 14%, 83%);
  border: 2px solid var(--border);
  border-radius: 50%;
}
.tbody-icon .icon-publish,
.tbody-icon .icon-check,
.tbody-icon .fa-check {
  color: hsl(120, 32%, 39%);
  border-color: hsl(120, 32%, 39%);
}
.tbody-icon .icon-checkedout,
.tbody-icon .icon-lock,
.tbody-icon .fa-lock {
  width: auto;
  height: auto;
  font-size: 1.2rem;
  line-height: 1rem;
  color: hsl(210, 9%, 31%);
  border: 0;
}
.tbody-icon.home-disabled, .tbody-icon.featured-disabled, .tbody-icon.color-featured-disabled, .tbody-icon.icon-star-disabled, .tbody-icon.fa-star-disabled {
  cursor: not-allowed;
  opacity: 1;
}

.tbody-icon .icon-delete,
.tbody-icon .fa-delete,
.tbody-icon .icon-times,
.tbody-icon .fa-times {
  color: hsl(3, 75%, 37%);
  border-color: hsl(3, 75%, 37%);
}

.plg_system_webauthn_login_button svg {
  margin-inline-end: 2px;
}

.plg_system_webauthn_login_button svg path {
  fill: var(--black);
}

iframe {
  border: 0;
}

.modal iframe {
  width: 100%;
}

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

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

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

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

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

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

.object-position-left-top {
  object-position: left top;
}

.object-position-right-top {
  object-position: right top;
}

.object-position-right-bottom {
  object-position: right bottom;
}

.object-position-left-bottom {
  object-position: left bottom;
}

.object-position-left-center {
  object-position: left center;
}

.object-position-right-center {
  object-position: right center;
}

.object-position-center-top {
  object-position: center top;
}

.object-position-center-bottom {
  object-position: center-bottom;
}

.object-position-center {
  object-position: center center;
}

.object-position-unset {
  object-position: unset;
}

.object-position-custom {
  --object-position: 0 0;
  object-position: var(--object-position);
}

.grid-child {
  display: flex;
  width: 100%;
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
}

.mod-custom {
  position: relative;
}

.container-topbar,
.container-below-top {
  color: hsl(0, 0%, 100%);
}
.container-topbar a,
.container-below-top a {
  color: currentColor;
}

.container-banner {
  display: block;
  margin: 0 0 2rem;
}

.container-top-a,
.container-top-b,
.container-bottom-a,
.container-bottom-b {
  position: relative;
}
.container-top-a > *,
.container-top-b > *,
.container-bottom-a > *,
.container-bottom-b > * {
  flex: 1;
  margin: 1em 0;
}
@media (max-width: 991.98px) {
  .container-top-a,
  .container-top-b,
  .container-bottom-a,
  .container-bottom-b {
    flex-direction: column;
  }
  .container-top-a > *,
  .container-top-b > *,
  .container-bottom-a > *,
  .container-bottom-b > * {
    flex: 0 1 auto;
  }
}

.container-component nav {
  position: relative;
}

.container-component,
.container-sidebar-left,
.container-sidebar-right {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.container-component > *,
.container-sidebar-left > *,
.container-sidebar-right > * {
  margin-bottom: 0;
}
.container-component > *:first-child,
.container-sidebar-left > *:first-child,
.container-sidebar-right > *:first-child {
  margin-top: 2em;
}
.container-component > * + *,
.container-sidebar-left > * + *,
.container-sidebar-right > * + * {
  margin-top: 2em;
}

.container-sidebar-left,
.container-sidebar-right {
  flex: 0 0 auto;
  width: calc(100% - 2em);
  order: 1;
}
@media (min-width: 768px) {
  .container-sidebar-left,
  .container-sidebar-right {
    width: calc(25% - 2em);
    order: 0;
  }
}

.container-sidebar-left .sidebar-left:first-child {
  margin-top: 2em;
}
.container-sidebar-left .sidebar-left:last-child {
  margin-bottom: 2em;
}

.container-sidebar-right .sidebar-right:first-child {
  margin-top: 2em;
}
.container-sidebar-right .sidebar-right:last-child {
  margin-bottom: 2em;
}

.system-debug {
  display: block;
}

.options-form {
  width: 100%;
  padding: 1vw 2vw;
  margin-bottom: 1rem;
  color: #495057;
  background-color: hsl(0, 0%, 100%);
  border: 1px solid #b2bfcd;
}
.options-form > legend {
  float: none;
  width: auto;
  padding: 0 0.5rem;
  font-weight: 700;
  color: #495057;
  background-color: hsl(0, 0%, 100%);
}

.modal .btn, .modal .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .modal .form-check-label-text {
  margin-right: 0.5rem;
}
.modal .btn-primary:not([href]),
.modal .btn-success:not([href]) {
  color: hsl(0, 0%, 100%);
}
.modal .btn-primary:not([href]):hover,
.modal .btn-success:not([href]):hover {
  color: hsl(0, 0%, 100%);
}

.modal-header {
  padding: 0 15px;
}

.modal-title {
  font-weight: var(--neoteric-font-weight-normal, 400);
  line-height: 3rem;
}

.contentpane {
  padding: 15px;
}
.contentpane .main-card {
  margin: -10px;
  box-shadow: none;
}

.error-site-html {
  height: 100%;
}

.error-site.debugging-disabled {
  position: relative;
  background-color: #00b4ff;
  color: #003470;
  height: 100%;
}
.error-site .error-site-outer {
  position: relative;
  display: flex;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.error-site .error-site-container {
  text-align: center;
}
.error-site .error-code {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: 12rem;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
.error-site .error-icon {
  margin-right: 1rem;
}
.error-site .error-icon svg {
  vertical-align: baseline;
  transform: rotate(90deg);
}
.error-site .error-message {
  font-size: 3rem;
  margin-bottom: 1.8rem;
}
.error-site .error-info {
  font-size: 2rem;
  margin-bottom: 3rem;
}
.error-site .page-header {
  margin-top: 2em;
}

.error-background {
  position: fixed;
  bottom: 0;
  left: 0;
  padding-top: 50px;
  right: 0;
  top: 0;
  z-index: 1;
  /* OBJECTS */
}
.error-background .x1 {
  -webkit-animation: animateCloud 35s linear infinite;
  -moz-animation: animateCloud 35s linear infinite;
  animation: animateCloud 35s linear infinite;
  -webkit-transform: scale(0.65);
  -moz-transform: scale(0.65);
  transform: scale(0.65);
}
.error-background .x2 {
  -webkit-animation: animateCloud 20s linear infinite;
  -moz-animation: animateCloud 20s linear infinite;
  animation: animateCloud 20s linear infinite;
  -webkit-transform: scale(0.3);
  -moz-transform: scale(0.3);
  transform: scale(0.3);
}
.error-background .x3 {
  -webkit-animation: animateCloud 30s linear infinite;
  -moz-animation: animateCloud 30s linear infinite;
  animation: animateCloud 30s linear infinite;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  transform: scale(0.5);
}
.error-background .x4 {
  -webkit-animation: animateCloud 18s linear infinite;
  -moz-animation: animateCloud 18s linear infinite;
  animation: animateCloud 18s linear infinite;
  -webkit-transform: scale(0.4);
  -moz-transform: scale(0.4);
  transform: scale(0.4);
}
.error-background .x5 {
  -webkit-animation: animateCloud 25s linear infinite;
  -moz-animation: animateCloud 25s linear infinite;
  animation: animateCloud 25s linear infinite;
  -webkit-transform: scale(0.55);
  -moz-transform: scale(0.55);
  transform: scale(0.55);
}
.error-background .cloud {
  background: #fff;
  background: -moz-linear-gradient(top, #fff 5%, #f1f1f1 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #fff), color-stop(100%, #f1f1f1));
  background: -webkit-linear-gradient(top, #fff 5%, #f1f1f1 100%);
  background: -o-linear-gradient(top, #fff 5%, #f1f1f1 100%);
  background: -ms-linear-gradient(top, #fff 5%, #f1f1f1 100%);
  background: linear-gradient(top, #fff 5%, #f1f1f1 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fff", endColorstr="#f1f1f1", GradientType=0);
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;
  -webkit-box-shadow: 0 8px 5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 8px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0 8px 5px rgba(0, 0, 0, 0.1);
  height: 120px;
  position: relative;
  width: 350px;
}
.error-background .cloud:after,
.error-background .cloud:before {
  background: #fff;
  content: "";
  position: absolute;
  z-indeX: 1;
}
.error-background .cloud:after {
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;
  height: 100px;
  left: 50px;
  top: -50px;
  width: 100px;
}
.error-background .cloud:before {
  -webkit-border-radius: 200px;
  -moz-border-radius: 200px;
  border-radius: 200px;
  width: 180px;
  height: 180px;
  right: 50px;
  top: -90px;
}

/* KEYFRAMES */
@-webkit-keyframes animateCloud {
  0% {
    margin-left: -1000px;
  }
  100% {
    margin-left: 100%;
  }
}
@-moz-keyframes animateCloud {
  0% {
    margin-left: -1000px;
  }
  100% {
    margin-left: 100%;
  }
}
@keyframes animateCloud {
  0% {
    margin-left: -1000px;
  }
  100% {
    margin-left: 100%;
  }
}
[class^=container-] .span-col-2,
[class*=" container-"] .span-col-2 {
  flex: 0 0 50%;
  max-width: calc(50% - 2em);
}
[class^=container-] .span-col-3,
[class*=" container-"] .span-col-3 {
  flex: 0 0 33.333%;
  max-width: calc(33.333% - 2em);
}
[class^=container-] .span-col-4,
[class*=" container-"] .span-col-4 {
  flex: 0 0 25%;
  max-width: calc(25% - 2em);
}

@supports (display: grid) {
  [class^=span-],
  [class*=" span-"] {
    grid-column-end: auto;
    grid-row-end: auto;
  }
  @media (min-width: 768px) {
    [class^=span-col],
    [class*=" span-col"] {
      grid-column-end: span 2;
    }
  }
  @media (min-width: 992px) {
    .span-col-2 {
      grid-column-end: span 2;
    }
    .span-col-3 {
      grid-column-end: span 3;
    }
    .span-col-4 {
      grid-column-end: span 4;
    }
    .span-row-2 {
      grid-row-end: span 2;
    }
    .span-row-3 {
      grid-row-end: span 3;
    }
    .span-row-4 {
      grid-row-end: span 4;
    }
  }
  [class^=container-] [class^=span-],
  [class^=container-] [class*=" span-"],
  [class*=" container-"] [class^=span-],
  [class*=" container-"] [class*=" span-"] {
    flex: 0 1 auto;
    max-width: none;
  }
}
.blog-items {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin-right: -1em;
  margin-bottom: 2em;
  margin-left: -1em;
}
@media (min-width: 992px) {
  .blog-items.columns-2 > div {
    width: 50%;
  }
  .blog-items.columns-3 > div {
    width: 33.33333%;
  }
  .blog-items.columns-4 > div {
    width: 25%;
  }
}

.blog-item {
  display: flex;
  flex-direction: column;
  padding: 0 1em 2em;
  overflow: hidden;
}
.boxed .blog-item {
  background-color: hsl(0, 0%, 100%);
  box-shadow: 0 0 2px hsla(216, 13%, 23%, 0.1), 0 2px 5px hsla(216, 13%, 23%, 0.08), 0 5px 15px hsla(216, 13%, 23%, 0.08), inset 0 3px 0 var(--neoteric-color-primary);
}
.boxed .blog-item .item-content {
  padding: 25px;
}
.blog-item .item-image {
  margin-top: 3px;
  margin-bottom: 15px;
  overflow: hidden;
}
.boxed .blog-item .item-image {
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .image-right .blog-item .item-image {
    order: 1;
  }
}
.image-bottom .blog-item .item-image {
  margin-top: -15px;
  order: 1;
}
.image-left .blog-item .item-content {
  padding-left: 25px;
}
.image-right .blog-item .item-content {
  padding-right: 25px;
}
.image-left .blog-item, .image-right .blog-item {
  flex-direction: column;
}
@media (min-width: 992px) {
  .image-left .blog-item, .image-right .blog-item {
    flex-direction: row;
  }
  .image-left .blog-item .item-image, .image-right .blog-item .item-image {
    flex: 1 0 40%;
  }
  .image-left .blog-item .item-content, .image-right .blog-item .item-content {
    flex: 1 0 60%;
  }
}

.article-info dd {
  padding: 0;
}

@supports (display: grid) {
  .blog-items {
    display: grid;
    margin: 0 0 2em;
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    grid-gap: 2em;
  }
  .blog-items .blog-item {
    padding: 0;
  }
  .blog-items[class^=columns-] > div, .blog-items[class*=" columns-"] > div {
    flex: 0 1 auto;
    width: auto;
    max-width: none;
  }
  @media (min-width: 992px) {
    .blog-items.columns-2 {
      grid-template-columns: 1fr 1fr;
    }
    .blog-items.columns-3 {
      grid-template-columns: 1fr 1fr 1fr;
    }
    .blog-items.columns-4 {
      grid-template-columns: 1fr 1fr 1fr 1fr;
    }
  }
}
.blog-items[class^=masonry-], .blog-items[class*=" masonry-"] {
  display: block;
  column-gap: 2em;
}
.blog-items[class^=masonry-] .blog-item, .blog-items[class*=" masonry-"] .blog-item {
  display: inline-flex;
  margin-bottom: 2em;
  page-break-inside: avoid;
  break-inside: avoid;
}
@media (min-width: 992px) {
  .blog-items.masonry-2 {
    column-count: 2;
  }
  .blog-items.masonry-3 {
    column-count: 3;
  }
  .blog-items.masonry-4 {
    column-count: 4;
  }
}

.image-alternate .blog-item:nth-of-type(2n+1) .item-image {
  order: 0;
}
.image-alternate.image-left .blog-item:nth-of-type(2n+1) .item-image {
  margin-right: 0;
  margin-left: 25px;
  order: 1;
}
.image-alternate.image-top .blog-item:nth-of-type(2n+1) .item-image {
  order: 1;
}

.breadcrumb {
  margin-bottom: 0;
  background-color: hsla(0, 0%, 0%, 0.03);
}

.no-card .newsflash-horiz li {
  padding: 0 1rem 1rem;
  border: 1px solid hsl(210, 14%, 89%);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  box-shadow: 1px 1px 4px hsla(0, 0%, 0%, 0.1);
}
.no-card .newsflash-horiz li figure {
  margin: 0 -1rem 1rem;
}

.mod-list {
  padding-inline-start: 0;
  list-style: none;
  margin-bottom: 0;
}
.mod-list li {
  padding: 0.5em 0;
}
.mod-list li:first-child {
  padding-top: 0;
}
.mod-list li:last-child {
  padding-bottom: 0;
}
.mod-list li a {
  text-decoration: none;
}
.container-header .mod-list li a:hover {
  text-decoration: none;
}

.container-header .mod-list li.active > a, .container-header .mod-list .btn-vm-customfield .form-check-input:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a, .container-header .mod-list .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .mod-list .btn-vm-customfield .form-check-input:checked + label li.form-check-label-text:not(.is-color-btn) > a, .container-header .mod-list .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a, .container-header .mod-list .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .mod-list .btn-vm-customfield input[type=radio]:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .mod-list .btn-vm-customfield input[type=radio]:checked + label li.form-check-label-text:not(.is-color-btn) > a,
.container-header .mod-list .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a,
.container-header .mod-list .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label li.form-check-label-text:not(.is-color-btn) > a,
.form-check-vm.form-check .container-header .mod-list .btn-vm-customfield input[type=checkbox]:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a,
.form-check-vm.form-check .container-header .mod-list .btn-vm-customfield input[type=checkbox]:checked + label li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a {
  text-decoration: none;
}

.mod-list li .mod-menu__sub {
  padding-left: 2em;
}

aside .mod-vmcategory-menu--level-1 > .mod-vmcategory-menu--item-anchor {
  text-transform: none;
}

.top-bar-content {
  line-height: 1;
  text-transform: uppercase;
}
.top-bar-content p,
.top-bar-content ul {
  margin: 0;
}
.top-bar-content .mod-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}
.top-bar-content .mod-list li {
  padding: 0;
}
.top-bar-content .mod-list li .mod-menu__sub {
  display: none;
}
.top-bar-content .mod-list a {
  display: block;
  padding: 0.5rem 0;
}
.top-bar-content .mod-list p {
  padding: 0.5rem 0;
}

.footer-area {
  font-size: 0.9rem;
  text-transform: uppercase;
}
.footer-area p,
.footer-area ul {
  margin: 0;
}
.footer-area .mod-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.footer-area .mod-list li {
  padding: 0;
}
.footer-area .mod-list li .mod-menu__sub {
  display: none;
}
.footer-area .mod-list a {
  display: block;
  padding: 0.25rem 0;
}

.pagination {
  --pagination-active-color: var(--template-primary-contrast-color);
  --pagination-active-bg: var(--template-primary-color);
  --pagination-active-border-color: var(--template-primary-color);
  --pagination-padding-x: 1rem;
  --pagination-padding-y: 0.5rem;
  --pagination-focus-box-shadow: none;
}

body.com-finder > * + * {
  margin-top: initial;
}

.subhead {
  position: sticky;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
  width: auto;
  min-height: 43px;
  padding: 0.25rem;
  color: #495057;
  background: hsl(0, 0%, 100%);
  box-shadow: -3px -2px 22px #ddd;
}
.subhead .row {
  margin-right: 0;
  margin-left: 0;
}
.subhead.noshadow {
  box-shadow: none;
}
.subhead joomla-toolbar-button,
.subhead .btn-group {
  margin-inline-start: 0.75rem;
}
.subhead joomla-toolbar-button:first-child,
.subhead .btn-group:first-child {
  margin-inline-start: 0;
}
.subhead joomla-toolbar-button .btn > span, .subhead joomla-toolbar-button .btn-vm-customfield .form-check-label-text > span, .btn-vm-customfield .subhead joomla-toolbar-button .form-check-label-text > span,
.subhead joomla-toolbar-button .dropdown-item > span {
  margin-inline-end: 0.5rem;
  width: 1.25em;
  text-align: center;
}
.subhead .btn, .subhead .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .subhead .form-check-label-text {
  --subhead-btn-accent: #495057;
  padding: 0 1rem;
  margin: 5px 0;
  font-size: 1rem;
  line-height: 2.45rem;
  color: #495057;
  background: hsl(0, 0%, 100%);
  border-color: hsl(210, 11%, 71%);
}
.subhead .btn > span, .subhead .btn-vm-customfield .form-check-label-text > span, .btn-vm-customfield .subhead .form-check-label-text > span {
  display: inline-block;
  color: var(--subhead-btn-accent);
}
.subhead .btn:not([disabled]):hover, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):hover, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):hover, .subhead .btn:not([disabled]):active, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):active, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):active, .subhead .btn:not([disabled]):focus, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):focus, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):focus {
  color: rgba(255, 255, 255, 0.9);
  background-color: var(--subhead-btn-accent);
  border-color: var(--subhead-btn-accent);
}
.subhead .btn:not([disabled]):hover > span, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):hover > span, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):hover > span, .subhead .btn:not([disabled]):active > span, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):active > span, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):active > span, .subhead .btn:not([disabled]):focus > span, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):focus > span, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):focus > span {
  color: rgba(255, 255, 255, 0.9);
}
.subhead .btn.btn-success, .subhead .btn-vm-customfield .btn-success.form-check-label-text, .btn-vm-customfield .subhead .btn-success.form-check-label-text {
  --subhead-btn-accent: var(--success);
}
.subhead .btn.btn-danger, .subhead .btn-vm-customfield .btn-danger.form-check-label-text, .btn-vm-customfield .subhead .btn-danger.form-check-label-text {
  --subhead-btn-accent: var(--danger);
}
.subhead .btn.btn-primary, .subhead .btn-vm-customfield .btn-primary.form-check-label-text, .btn-vm-customfield .subhead .btn-primary.form-check-label-text {
  --subhead-btn-accent: #2a69b8;
}
.subhead .btn.btn-secondary, .subhead .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .subhead .form-check-label-text {
  --subhead-btn-accent: #001b4c;
}
.subhead .btn.btn-info, .subhead .btn-vm-customfield .btn-info.form-check-label-text, .btn-vm-customfield .subhead .btn-info.form-check-label-text {
  --subhead-btn-accent: #132f53;
}
.subhead .btn.btn-action, .subhead .btn-vm-customfield .btn-action.form-check-label-text, .btn-vm-customfield .subhead .btn-action.form-check-label-text {
  --subhead-btn-accent: #132f53;
  display: flex;
  align-items: center;
}
.subhead .btn.btn-action::after, .subhead .btn-vm-customfield .btn-action.form-check-label-text::after, .btn-vm-customfield .subhead .btn-action.form-check-label-text::after {
  width: 2.375rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078";
  border: 0;
}
.subhead .btn[disabled], .subhead .btn-vm-customfield [disabled].form-check-label-text, .btn-vm-customfield .subhead [disabled].form-check-label-text, .subhead .btn.dropdown-toggle[disabled] {
  --subhead-btn-accent: #132f53;
  background: rgba(223, 227, 231, 0.8);
  opacity: 0.5;
}
.subhead .btn[disabled]:hover, .subhead .btn-vm-customfield [disabled].form-check-label-text:hover, .btn-vm-customfield .subhead [disabled].form-check-label-text:hover, .subhead .btn[disabled]:active, .subhead .btn-vm-customfield [disabled].form-check-label-text:active, .btn-vm-customfield .subhead [disabled].form-check-label-text:active, .subhead .btn[disabled]:focus, .subhead .btn-vm-customfield [disabled].form-check-label-text:focus, .btn-vm-customfield .subhead [disabled].form-check-label-text:focus, .subhead .btn.dropdown-toggle[disabled]:hover, .subhead .btn.dropdown-toggle[disabled]:active, .subhead .btn.dropdown-toggle[disabled]:focus {
  cursor: not-allowed;
}
.subhead .dropdown-toggle.btn, .subhead .btn-vm-customfield .dropdown-toggle.form-check-label-text, .btn-vm-customfield .subhead .dropdown-toggle.form-check-label-text {
  padding-inline-end: 0;
}
.subhead .btn-group:not(:last-child) > .dropdown-toggle-split {
  order: 1;
  margin-inline-start: -0.25rem;
  border-radius: 0 0.25rem 0.25rem 0;
}
.subhead .dropdown-menu joomla-toolbar-button,
.subhead .btn-group joomla-toolbar-button {
  margin-inline-start: 0;
}

@media (max-width: 767.98px) {
  joomla-tab[view=accordion] .col-md-9,
  joomla-tab[view=accordion] .col-md-3 {
    padding: 0.5rem 1rem !important;
  }
  #myTab {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
  }
  joomla-tab[view=accordion] ul li {
    width: 100%;
  }
  .subhead joomla-toolbar-button,
  .subhead .btn-group,
  .subhead .btn,
  .subhead .btn-vm-customfield .form-check-label-text,
  .btn-vm-customfield .subhead .form-check-label-text {
    width: 100%;
    margin-left: 0;
    text-align: left;
  }
  .subhead .btn-toolbar > .btn-group,
  .subhead .btn-toolbar > joomla-toolbar-button {
    margin-left: 0;
  }
  .subhead .btn.btn-action::after, .subhead .btn-vm-customfield .btn-action.form-check-label-text::after, .btn-vm-customfield .subhead .btn-action.form-check-label-text::after {
    text-align: center;
    margin-inline-start: auto;
  }
  .subhead .dropdown-toggle-split {
    width: auto;
  }
}
.left.item-image {
  float: left;
}

.right.item-image {
  float: right;
}

.tags .list-inline-item {
  margin: 0.25rem 0.25rem 0.5rem;
}
.tags a.btn, .tags .btn-vm-customfield a.form-check-label-text, .btn-vm-customfield .tags a.form-check-label-text {
  font-weight: 700;
}

.tag {
  display: inline-block;
  padding: 0.5rem 0.5rem 0.5rem 0;
}

.mod-articlescategories a {
  color: var(--gray-600);
}
.mod-articlescategories a:hover, .mod-articlescategories a:focus, .mod-articlescategories a:active {
  color: var(--body-color);
}

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

.toolbar-seprator {
  width: 1px;
  height: 20px;
  background: var(--template-toolbar-separator-color, #eee);
  padding: 0 !important;
}

.link-switch {
  font-size: 1.5rem;
}

.product-images > div {
  min-height: 5rem;
}

.product-name,
.category-name,
.manufacturer-name {
  font-size: 1rem;
  color: inherit;
  text-decoration: none;
}
.product-short-description {
  color: var(--gray-700);
}

.product-discount-amount {
  color: var(--template-product-discount-color);
}
.product-discount-amount div {
  display: inline;
}

.product-price-before-discount,
.product-sales-price,
.product-price-before-discount div,
.product-sales-price div {
  display: inline-block;
}

.product-sales-price,
.product-sales-price div {
  font-weight: bold;
}

.product-price-before-discount {
  color: var(--template-product-price-before-discount-color);
}

.product-sales-price {
  color: var(--neoteric-color-primary);
}

.product-price-before-discount div {
  text-decoration: line-through;
}

.product-list-images {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  min-height: 10rem;
  backface-visibility: hidden;
}
.product-list-images .product-image-default,
.product-list-images .product-image-hover {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
}
.product-list-images .product-image-default {
  min-height: 100%;
}
.product-list-images .product-image-hover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  transition: opacity 0.5s ease, transform 2s cubic-bezier(0, 0, 0.44, 1.18);
}
.product-list-images .product-image-hover img {
  width: 100%;
}

.product-list-utilities {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transform: translateX(15px) translateZ(0);
  transition: opacity 0.2s ease, transform 0.3s ease;
}

.product-list-utility-item {
  margin-bottom: 0.6rem;
}

.product-list-utility-item:last-child {
  margin-bottom: 0;
}

.product-container,
.item-container {
  position: relative;
  transition: transform 0.3s ease;
}
.product-container.add-hover-effect.state-hover, .product-container.add-hover-effect:hover,
.item-container.add-hover-effect.state-hover,
.item-container.add-hover-effect:hover {
  z-index: 20;
  transform: translateY(-5px) translateZ(0);
}
.product-container.state-hover .product-image-hover, .product-container:hover .product-image-hover,
.item-container.state-hover .product-image-hover,
.item-container:hover .product-image-hover {
  opacity: 1;
  transform: scale(1.09);
}
.product-container.state-hover .product-list-utilities, .product-container:hover .product-list-utilities,
.item-container.state-hover .product-list-utilities,
.item-container:hover .product-list-utilities {
  opacity: 1;
  transform: translateX(0) translateZ(0);
}

.product-bottom-container {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
}

.product-container.add-hover-effect.state-hover .product-top-container,
.product-container.add-hover-effect.state-hover .product-bottom-container,
.item-container.add-hover-effect:hover > *:not(.item-backdrop) {
  z-index: 22;
}

.product-container.add-hover-effect.state-hover .product-bottom-container {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
}

.product-backdrop,
.item-backdrop {
  position: absolute;
  top: calc(-0.25 * var(--gutter-x));
  bottom: 0;
  left: calc(-0.25 * var(--gutter-x));
  right: calc(-0.25 * var(--gutter-x));
  background-color: var(--template-product-hover-bg, hsl(0, 0%, 100%));
  border: inherit;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.97);
}

@media (min-width: 992px) {
  .product-backdrop,
  .item-backdrop {
    top: calc(-0.5 * var(--gutter-x));
    left: calc(-0.5 * var(--gutter-x));
    right: calc(-0.5 * var(--gutter-x));
  }
}
.product-container.add-hover-effect.state-hover .product-backdrop,
.item-container.add-hover-effect:hover .item-backdrop {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform: scale(1);
  z-index: 21;
}

.quantity-box.input-group, .cf-form-search .quantity-box.input-append,
.quantity-box.input-group.input-group-lg {
  flex-wrap: nowrap;
}
.quantity-box.input-group > .form-control.quantity-input, .cf-form-search .input-append .quantity-box.input-group > input.quantity-input[type=search]:not(.form-control),
.cf-form-search .input-append .quantity-box.input-group > input.quantity-input[type=text]:not(.form-control), .cf-form-search .quantity-box.input-append > .form-control.quantity-input, .cf-form-search .quantity-box.input-append > input.quantity-input[type=search]:not(.form-control),
.cf-form-search .quantity-box.input-append > input.quantity-input[type=text]:not(.form-control), .old-form .quantity-box.input-group > input.quantity-input[type=text], .old-form .cf-form-search .quantity-box.input-append > input.quantity-input[type=text], .cf-form-search .old-form .quantity-box.input-append > input.quantity-input[type=text],
.old-form .quantity-box.input-group > input.quantity-input[type=password],
.old-form .cf-form-search .quantity-box.input-append > input.quantity-input[type=password],
.cf-form-search .old-form .quantity-box.input-append > input.quantity-input[type=password],
.old-form .quantity-box.input-group > input.quantity-input[type=email],
.old-form .cf-form-search .quantity-box.input-append > input.quantity-input[type=email],
.cf-form-search .old-form .quantity-box.input-append > input.quantity-input[type=email],
.old-form .quantity-box.input-group > textarea.quantity-input,
.old-form .cf-form-search .quantity-box.input-append > textarea.quantity-input,
.cf-form-search .old-form .quantity-box.input-append > textarea.quantity-input,
.quantity-box.input-group.input-group-lg > .form-control.quantity-input {
  flex: 0 1 50px;
  text-align: center;
  width: 50px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.vm-pagination .display-counter,
.vm-pagination .display-limitbox {
  flex: 1;
}

.quantity-box.input-group > .btn, .cf-form-search .quantity-box.input-append > .btn, .btn-vm-customfield .quantity-box.input-group > .form-check-label-text, .btn-vm-customfield .cf-form-search .quantity-box.input-append > .form-check-label-text, .cf-form-search .btn-vm-customfield .quantity-box.input-append > .form-check-label-text {
  padding-left: 0.6rem;
  padding-right: 0.6rem;
  font-size: 0.6rem;
}

.virtuemart-dialog .modal-header:before {
  content: "";
  flex: 1;
}

.virtuemart-dialog .modal-header .close-button-container {
  flex: 1;
}

.product-group-title {
  text-align: center;
  text-transform: uppercase;
}

.btn.addtocart-button, .btn-vm-customfield .addtocart-button.form-check-label-text {
  margin-bottom: 0;
}

.form-check.btn-vm-customfield {
  padding: 0;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}

.vm-field-controls > .form-check.btn-vm-customfield:last-child {
  margin-right: 0;
}

.btn-vm-customfield .form-check-input, .btn-vm-customfield .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .btn-vm-customfield input[type=radio],
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox],
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.btn-vm-customfield .form-check-label, .btn-vm-customfield .form-check-vm.form-check label, .form-check-vm.form-check .btn-vm-customfield label {
  text-align: center;
  cursor: pointer;
}

.btn-vm-customfield .form-check-label-text {
  display: inline-block;
}

.btn-vm-customfield .form-check-label-text:not(.is-color-btn) {
  min-width: var(--neoteric-customfield-btn-min-width, 2.5rem);
}

.btn-vm-customfield .form-check-label-text.is-color-btn {
  position: relative;
  padding: 0;
  height: 2.15rem;
  width: 2.15rem;
  border-radius: 2.15rem;
  border: none;
}

.btn-vm-customfield .form-check-label-text.is-color-btn:after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 0.8rem;
  content: "\f00c";
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
}

.btn-vm-customfield .form-check-label-price {
  display: block;
  text-align: center;
}

.form-check-label-price {
  margin-left: 0.25rem;
}

.btn-vm-customfield .form-check-input:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:not(:checked) + label:hover .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:not(:checked) + label:hover .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:not(:checked) + label:hover .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:not(:checked) + label:hover .form-check-label-text.is-color-btn:after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:not(:checked) + label:hover .form-check-label-text.is-color-btn:after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:not(:checked) + label:hover .form-check-label-text.is-color-btn:after {
  opacity: 0.5;
}

.btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text.is-color-btn:after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text.is-color-btn:after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text.is-color-btn:after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text.is-color-btn:after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text.is-color-btn:after {
  opacity: 1;
}

.choices__price,
.form-check-label-price {
  color: var(--gray-600);
  font-size: 0.9rem;
}

.vm-field-controls {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}

.product-fields-title,
.vm-cmv-label {
  font-weight: bold;
}

.product-fields-title-wrapper,
.vm-cmv-label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

.product-fields-tooltip {
  cursor: pointer;
}

.product-grid-view .product-fields,
.product-related-products .product-fields {
  text-align: center;
}
.product-grid-view .product-fields .vm-field-controls,
.product-related-products .product-fields .vm-field-controls {
  justify-content: center;
  flex-wrap: wrap;
}

.product-field,
.vm-field-controls,
.custom-field-C-container {
  margin-bottom: 1.25rem;
}

.product-fields {
  padding-bottom: 0.5rem;
}

.choices.choices__customfield .choices__inner {
  padding: 0;
  padding-inline-end: 2.8rem;
}
.choices.choices__customfield .choices__inner .choices__list.choices__list--single {
  padding: 0;
}
.choices.choices__customfield .choices__inner .choices__list.choices__list--single .choices__item {
  padding: 0.35rem 1rem;
}
.choices.choices__customfield .choices__list--dropdown .choices__item {
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}

.product-image-gallery__main,
.product-image-gallery__thumbnails {
  margin: 0;
}

.product-image-gallery__item {
  text-align: center;
}

.product-image-gallery__thumbnails .tns-item {
  opacity: 1;
  transition: opacity 0.15 ease-in;
}

.product-image-gallery__thumbnails .tns-item.tns-nav-active {
  opacity: 0.6;
}

.product-image-gallery {
  overflow: hidden;
}

.product-image-gallery__main-wrapper,
.product-image-gallery__thumbnails-wrapper {
  position: relative;
}

.product-image-gallery__main-wrapper {
  margin-bottom: 1rem;
}

.product-image-gallery__thumbnails-controls .btn-nobg {
  --btn-bg: var(--gray-200);
  --btn-border-color: var(--gray-200);
  --btn-hover-bg: var(--gray-300);
  --btn-hover-border-color: var(--gray-300);
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

.btn-nobg {
  border-radius: 0;
}

.product-image-gallery__item-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--template-product-thubnail-image-min-height, 80px);
}

.product-image-gallery__main .product-image-gallery__item-inner {
  min-height: var(--template-product-main-image-min-height, 300px);
}

.product-image-gallery__thumbnails .product-image-gallery__item-inner {
  border: 1px solid var(--template-product-thumbnail-border-color, #FAFAFA);
}

.product-image-gallery__main-controls button.btn-nobg {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: none;
  border: none;
  box-shadow: none;
  outline: none;
}
.product-image-gallery__main-controls button.btn-nobg:hover, .product-image-gallery__main-controls button.btn-nobg:active, .product-image-gallery__main-controls button.btn-nobg:focus {
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
}

.product-image-gallery__main-controls > button:last-child {
  right: 0;
  left: auto;
}

.product-image-gallery__main-controls button.btn-nobg {
  font-size: 1.5rem;
}
.product-image-gallery__main-controls button.btn-nobg:disabled {
  pointer-events: initial;
  cursor: default;
  opacity: 0.5;
}

@media (min-width: 992px) {
  .product-image-gallery__main-controls button.btn-nobg {
    opacity: 0;
    transition: opacity 0.15s ease-in, transform 0.15s ease-in;
    font-size: 2rem;
  }
  .product-image-gallery__main-controls button.btn-nobg:disabled {
    opacity: 0;
  }
  .product-image-gallery__main-controls button.btn-nobg:first-child {
    transform: translate(-30px, -50%);
  }
  .product-image-gallery__main-controls button.btn-nobg:last-child {
    transform: translate(30px, -50%);
  }
  .product-image-gallery__main-wrapper:hover .product-image-gallery__main-controls button.btn-nobg {
    transform: translate(0, -50%);
    opacity: 1;
  }
  .product-image-gallery__main-wrapper:hover .product-image-gallery__main-controls button.btn-nobg:disabled {
    opacity: 0.5;
  }
  .product-image-gallery__thumbnails-wrapper {
    padding-bottom: 2.5rem;
  }
  .product-image-gallery__thumbnails .product-image-gallery__item {
    position: relative;
    height: calc((var(--product-gallery-vertical-height, 100px) - 2.5rem) / var(--product-gallery-vertical-items, 3) - 1px);
    overflow: hidden;
  }
  .product-image-gallery__thumbnails .product-image-gallery__item .product-image-gallery__item-inner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin-bottom: 20px;
  }
  .product-image-gallery__thumbnails .product-image-gallery__item .product-image-gallery__item-inner img {
    max-height: 100%;
  }
  .product-image-gallery__thumbnails-controls {
    display: flex;
    flex-direction: row;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    gap: 0.5rem;
    transform: translateY(-100%);
  }
  .product-image-gallery__thumbnails-controls .btn-nobg {
    flex: 1 1 50%;
  }
}
@media (max-width: 991.98px) {
  .product-image-gallery__main-controls button.btn-nobg:first-child {
    padding-left: 0;
  }
  .product-image-gallery__main-controls button.btn-nobg:last-child {
    padding-right: 0;
  }
  .product-image-gallery__thumbnails-controls .btn-nobg {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
    padding-left: 0;
    padding-right: 0;
  }
  .product-image-gallery__thumbnails-controls .btn-nobg:last-child {
    left: auto;
    right: 0;
  }
  .product-image-gallery__thumbnails-controls .btn-nobg:hover, .product-image-gallery__thumbnails-controls .btn-nobg:active, .product-image-gallery__thumbnails-controls .btn-nobg:focus {
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
  }
  .product-image-gallery__thumbnails-controls .btn-nobg:disabled {
    pointer-events: initial;
    cursor: default;
  }
}
.product-manufacturers > .product-manufacturer {
  max-width: 8rem;
  margin-bottom: 1rem;
}
.product-manufacturers > .product-manufacturer:first-child:last-child {
  margin-bottom: 0;
}
.product-manufacturers > .product-manufacturer > a {
  display: block;
  padding: 1rem;
  color: inherit;
  text-transform: uppercase;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12);
  text-decoration: none;
  transition: box-shadow 0.15s ease-in;
}
.product-manufacturers > .product-manufacturer > a:hover {
  color: inherit;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.14);
}

.productdetails-view .product-prices-wrapper .product-price-before-discount {
  font-size: 1.5rem;
}
.productdetails-view .product-prices-wrapper .product-sales-price {
  font-size: 1.8rem;
}

.rating-count {
  display: inline-block;
  margin-left: 0.25rem;
}

.social-share-list {
  padding-left: 0;
  margin: 0;
  list-style: none;
}

.social-share-list-item {
  display: inline-block;
}

.social-share-list-item:not(:last-child) {
  margin-right: 0.5rem;
}

.social-share-list-item > .social-share-link {
  display: inline-block;
  padding: 0.25rem 0.12rem;
  font-size: 1.2rem;
  text-align: center;
}
.social-share-list-item > .social-share-link:hover {
  color: inherit;
  text-decoration: none;
  opacity: 1;
  transform: translateY(-0.25rem);
}

.product-utility-item {
  display: inline-block;
  margin-right: 2rem;
}
.product-utility-item:last-child {
  margin-right: 0;
}

.product-related-title,
.modal-page-title,
.prominent-title {
  position: relative;
  text-transform: uppercase;
  padding-bottom: 0.8rem !important;
  margin-bottom: 1.5rem !important;
}
.product-related-title:after,
.modal-page-title:after,
.prominent-title:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateY(-100%);
  height: 3px;
  background-color: var(--template-primary-color);
  width: 3rem;
}

.manufacturer-view-default .manufacturer-image {
  background-color: var(--template-manufacturer-image-bg, #f7f7f7);
  padding: 0.7rem 0;
}

.modal-page-title {
  font-size: 1.5rem;
}

.form-group-text-counter .form-control, .form-group-text-counter .cf-form-search .input-append input[type=search]:not(.form-control), .cf-form-search .input-append .form-group-text-counter input[type=search]:not(.form-control),
.form-group-text-counter .cf-form-search .input-append input[type=text]:not(.form-control),
.cf-form-search .input-append .form-group-text-counter input[type=text]:not(.form-control), .form-group-text-counter .old-form input[type=text], .old-form .form-group-text-counter input[type=text],
.form-group-text-counter .old-form input[type=password],
.old-form .form-group-text-counter input[type=password],
.form-group-text-counter .old-form input[type=email],
.old-form .form-group-text-counter input[type=email],
.form-group-text-counter .old-form textarea,
.old-form .form-group-text-counter textarea {
  flex: 0 1 70px;
}

.product-navigation > a {
  margin-right: 0.8rem;
  text-decoration: none;
}
.product-navigation > a:hover {
  text-decoration: none;
}
.product-navigation > a:last-child {
  margin-right: 0;
}

.quickview-body {
  min-height: 450px;
  --scrollbar-width: 5px;
  --scrollbar-track-bg: rgba(0, 0, 0, 0.1);
  --scrollbar-thumb-bg: rgba(0, 0, 0, 0.2);
}
.quickview-body .product-images-section {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.quickview-body .product-image-gallery__main-wrapper {
  margin-bottom: 0;
}
.quickview-body .product-title {
  font-size: 2rem;
}
.quickview-body .product-title a {
  color: inherit;
  text-decoration: none;
}
.quickview-body .product-title a:hover {
  text-decoration: none;
}
.quickview-body .product-title a:hover, .quickview-body .product-title a:focus, .quickview-body .product-title a:active {
  color: inherit;
}
.quickview-body .product-manufacturers .product-manufacturer {
  max-width: 6rem;
}
.quickview-body .product-image-gallery__main-controls button.btn-nobg {
  padding-left: 1rem;
  padding-right: 1rem;
}
.quickview-body ::-webkit-scrollbar {
  width: var(--scrollbar-width);
}
.quickview-body ::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track-bg);
}
.quickview-body ::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb-bg);
}

.quickview-content-inner {
  padding: 2rem 1.5rem;
}

.quickview-product-navigation a {
  background-color: var(--template-primary-color);
  color: var(--template-primary-contrast-color);
  padding: 0.7rem;
  text-decoration: none;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  border: none;
  outline: none;
}
.quickview-product-navigation a.page-nav-link {
  padding-left: 1rem;
  padding-right: 1rem;
}
.quickview-product-navigation a.page-nav-link:first-child {
  border-right: 1px solid rgba(255, 255, 255, 0.5);
}
.quickview-product-navigation a.page-nav-link:last-child {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}

@media (min-width: 768px) {
  .quickview-body .product-image-gallery__main-controls button.btn-nobg {
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  .quickview-body .product-image-gallery__main-controls button.btn-nobg:first-child {
    transform: translateY(-50%) translateX(-20px);
  }
  .quickview-body .product-image-gallery__main-controls button.btn-nobg:last-child {
    transform: translateY(-50%) translateX(20px);
  }
  .quickview-body .product-image-gallery__main-wrapper:hover .product-image-gallery__main-controls button.btn-nobg {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
  .quickview-body .product-image-gallery__main-wrapper:hover .product-image-gallery__main-controls button.btn-nobg:disabled {
    opacity: 0.5;
  }
  .quickview-product-navigation {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  .product-images-section:hover .quickview-product-navigation {
    opacity: 1;
    transform: translateY(0);
  }
  .quickview-content {
    position: relative;
    height: 100%;
    -webkit-mask-image: linear-gradient(to top, transparent 5px, #000 40px);
    mask-image: linear-gradient(to top, transparent 5px, #000 40px);
  }
  .quickview-content-inner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2.5rem 2rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.product-labels {
  position: absolute;
  display: flex;
  top: 0.6rem;
  left: 0.6rem;
  flex-direction: column;
  align-items: flex-start;
  pointer-events: none;
}

.product-label {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--product-label-bg);
  color: var(--product-label-color);
  padding: 0.3rem 0.6rem;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
  min-width: 55px;
  min-height: 55px;
  text-align: center;
  margin-bottom: 0.7rem;
  border-radius: 50%;
  word-break: break-all;
  aspect-ratio: 1/1;
}
.product-label:last-child {
  margin-bottom: 0;
}

.product-image-gallery .product-labels {
  left: auto;
  right: 0.6rem;
  align-items: flex-end;
}
.product-image-gallery .product-label {
  font-size: 1rem;
  line-height: 1.5;
}

@media (max-width: 575.98px) {
  .product-label {
    font-size: 0.7rem;
    font-weight: 400;
    min-width: 40px;
    min-height: 40px;
  }
  .product-image-gallery .product-label {
    font-size: 0.8rem;
    line-height: 1.4;
  }
}
.vm-loader {
  --max-opacity: 0.5;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000;
  opacity: 0;
  z-index: 1037;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s linear, visibility 0.15s linear;
}

.vm-loader-spinner {
  --max-opacity: 1;
  position: fixed;
  background-color: transparent;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 25px;
  width: 25px;
  -webkit-animation: loaderSpin 0.8s infinite linear;
  animation: loaderSpin 0.8s infinite linear;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  z-index: 1038;
  visibility: hidden;
  pointer-events: none;
}

.vm-loading .vm-loader,
.vm-loading .vm-loader-spinner {
  visibility: visible;
  pointer-events: inherit;
  opacity: var(--max-opacity);
}

.product-list-view {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--gray-200);
}
.product-list-view:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

@media (min-width: 768px) {
  .product-list-view .product-name {
    font-size: 1.5rem;
  }
  .product-list-view .product-sales-price {
    font-size: 1.8rem;
  }
  .product-list-view .product-price-before-discount {
    font-size: 1.5rem;
  }
}
.steps-bar {
  --steps-bar-inactive-color: var(--secondary);
  --steps-bar-inactive-text-color: var(--body-color);
  --steps-bar-inactive-bg: var(--white);
  --steps-bar-inactive-border-color: var(--gray-300);
  --steps-bar-inactive-line-bg: var(--gray-300);
  --steps-bar-active-color: var(--white);
  --steps-bar-active-text-color: var(--template-primary-color);
  --steps-bar-active-bg: var(--template-primary-color);
  --steps-bar-active-border-color: var(--template-primary-color);
  --steps-bar-active-line-bg: var(--template-primary-color);
  --steps-bar-step-font-size: 1.2rem;
  display: table;
  margin: 0;
  padding: 15px 15px 0;
  table-layout: fixed;
  width: 100%;
  counter-reset: step;
}
.steps-bar li {
  list-style-type: none;
  display: table-cell;
  width: 20%;
  float: left;
  font-size: 1rem;
  position: relative;
  text-align: center;
}
.steps-bar li:before {
  width: 3.2rem;
  height: 3.2rem;
  color: var(--steps-bar-inactive-color);
  content: counter(step);
  counter-increment: step;
  line-height: 3.2rem;
  font-size: var(--steps-bar-step-font-size);
  border: 1px solid var(--steps-bar-inactive-border-color);
  display: block;
  position: relative;
  text-align: center;
  margin: 0 auto 0.8rem auto;
  border-radius: 50%;
  background-color: var(--steps-bar-inactive-bg);
  z-index: 2;
}
.steps-bar li:after {
  width: 100%;
  height: 0.4rem;
  content: "";
  position: absolute;
  background-color: var(--steps-bar-inactive-line-bg);
  top: 1.6rem;
  left: -50%;
  transform: translateY(-50%);
  z-index: 1;
}
.steps-bar li:first-child:after {
  content: none;
}
.steps-bar li.step-done {
  color: var(--steps-bar-active-text-color);
}
.steps-bar li.step-done:before {
  border-color: var(--steps-bar-active-border-color);
  background-color: var(--steps-bar-active-bg);
  color: var(--steps-bar-active-color);
  content: "\f00c";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.steps-bar li.step-done + li:after {
  background-color: var(--steps-bar-active-bg);
}
.steps-bar li.step-active {
  color: var(--steps-bar-active-text-color);
}
.steps-bar li.step-active:before {
  border-color: var(--steps-bar-active-border-color);
  color: var(--steps-bar-active-text-color);
  font-weight: 700;
}

@media (min-width: 768px) {
  .cart-item-image {
    width: 6rem;
  }
  .cart-item-quantity .quantity-box {
    justify-content: center;
  }
}
.form-check-vm.form-check input[type=radio],
.form-check-vm.form-check input[type=checkbox] {
  float: left;
  margin-left: -1.5rem;
}
.quanity-update-section .quantity-input {
  max-width: 4.5rem;
  text-align: center;
}

.cart-is-empty-section,
.empty-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 25rem;
  text-align: center;
}
.cart-is-empty-section .empty-cart-icon,
.cart-is-empty-section .empty-card-icon,
.empty-card .empty-cart-icon,
.empty-card .empty-card-icon {
  color: var(--gray-200);
  text-align: center;
  margin-bottom: 1.5rem;
}
.cart-is-empty-section .empty-cart-icon i,
.cart-is-empty-section .empty-card-icon i,
.empty-card .empty-cart-icon i,
.empty-card .empty-card-icon i {
  font-size: 8rem;
}
.cart-is-empty-section .empty-cart-heading,
.cart-is-empty-section .empty-card-heading,
.empty-card .empty-cart-heading,
.empty-card .empty-card-heading {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
  text-align: center;
}
.cart-is-empty-section .empty-cart-subheading,
.cart-is-empty-section .empty-card-subheading,
.empty-card .empty-cart-subheading,
.empty-card .empty-card-subheading {
  color: var(--gray-600);
  margin-bottom: 2rem;
  text-align: center;
}

@media (min-width: 768px) {
  .cart-is-empty-section,
  .empty-card {
    min-height: 30rem;
  }
  .cart-is-empty-section .empty-cart-icon,
  .cart-is-empty-section .empty-card-icon,
  .empty-card .empty-cart-icon,
  .empty-card .empty-card-icon {
    margin-bottom: 1.5rem;
  }
  .cart-is-empty-section .empty-cart-icon i,
  .cart-is-empty-section .empty-card-icon i,
  .empty-card .empty-cart-icon i,
  .empty-card .empty-card-icon i {
    font-size: 12rem;
  }
  .cart-is-empty-section .empty-cart-heading,
  .cart-is-empty-section .empty-card-heading,
  .empty-card .empty-cart-heading,
  .empty-card .empty-card-heading {
    font-size: 3rem;
    margin-bottom: 0.8rem;
  }
  .cart-is-empty-section .empty-cart-subheading,
  .cart-is-empty-section .empty-card-subheading,
  .empty-card .empty-cart-subheading,
  .empty-card .empty-card-subheading {
    margin-bottom: 2rem;
  }
  .cart-coupon-field {
    max-width: 300px;
  }
}
.cart-fields-section textarea {
  min-height: 8rem;
}
.cart-fields-section fieldset:last-of-type {
  margin-bottom: 0;
}
.cart-fields-section .control-label label {
  font-weight: bold;
}

.cart-summery .PricebillTotal,
.cart-summery .totalInPaymentCurrency {
  font-size: 1.2em;
  color: var(--template-primary-color);
}

.product-field-type-M img {
  max-width: 3rem;
}

@media (max-width: 767.98px) {
  .table-cart {
    display: block;
  }
  .table-cart thead,
  .table-cart tbody {
    display: block;
  }
  .table-cart tr {
    display: flex;
    position: relative;
    flex-direction: column;
    border-width: 3px;
    border-style: solid;
    margin-bottom: 2rem;
  }
  .table-cart thead {
    display: none;
  }
  .table-cart td {
    display: block;
    border-style: dashed;
    border-bottom-width: 0;
    border-top-width: 1px;
  }
  .table-cart td[data-title] {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
  }
  .table-cart td[data-title]:before {
    content: attr(data-title);
  }
  .table-cart td[data-title].cart-item-name {
    align-items: flex-start;
  }
  .table-cart td.cart-column-empty {
    display: none;
  }
  .table-cart td:first-child {
    border-top-width: 0;
  }
  .table-cart .section-title {
    font-weight: bold;
  }
  .table-cart .cart-grand-total .cart-section-header,
  .table-cart .cart-payment-total .cart-section-header {
    text-transform: uppercase;
  }
  .table-cart .cart-item-image {
    width: 5rem;
  }
}
.vme-mod__contents {
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  overflow-y: hidden;
  align-self: stretch;
}

.has-mod-loader,
.vme-mod-contents {
  position: relative;
}
.has-mod-loader .mod-loader,
.has-mod-loader .vme-mod-loader,
.vme-mod-contents .mod-loader,
.vme-mod-contents .vme-mod-loader {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 1;
  background: transparent;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: 1050;
}
.has-mod-loader .mod-loader:before,
.has-mod-loader .vme-mod-loader:before,
.vme-mod-contents .mod-loader:before,
.vme-mod-contents .vme-mod-loader:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1rem;
  margin-left: -0.5rem;
  margin-top: -0.5rem;
  border-radius: 50%;
  background-color: currentColor;
  opacity: 0;
  z-index: 1051;
  -webkit-animation: 0.75s linear infinite spinner-grow;
  animation: 0.75s linear infinite spinner-grow;
}

.vme-mod__empty .empty-icon {
  color: var(--gray-200);
  margin-bottom: 1.5rem;
}
.vme-mod__empty .empty-icon i {
  font-size: 6rem;
}
.vme-mod__empty .empty-heading {
  font-weight: bold;
}

.vme-mod__offcanvas-container .offcanvas-backdrop.fade {
  opacity: 0.5;
}

.vme-mod__product-details {
  border-bottom: 1px solid var(--gray-300);
}
.vme-mod__product-details:last-child {
  border-bottom: none;
}

.vme-mod__show-link-container {
  border-top: 1px solid var(--gray-300);
}

.mod-minicart__cart-subtotal {
  display: none;
}

@media (min-width: 992px) {
  .mod-minicart__cart-subtotal {
    display: inline-block;
  }
}
.vppl-list {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-type: none;
}
.vppl-list li {
  display: block;
  list-style-type: none;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--gray-200);
}
.vppl-list li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0 none;
}

.vppl-name {
  font-size: 1rem;
  line-height: 1.25;
  font-weight: bold;
  padding: 0;
  margin: 0 0 0.5rem;
}

.vppl-image-cont {
  text-align: center;
  border: 1px solid var(--template-product-thumbnail-border-color, #FAFAFA);
  min-height: 100%;
}

.vpprime-manufacturer-carousel {
  padding: 1rem 0;
}
.vpprime-manufacturer-carousel .vpprime-manufacturer {
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.vpprime-manufacturer-carousel .vpprime-manufacturer:hover {
  opacity: 1;
}

.gray-scale-effect {
  filter: grayscale(100%);
  transition: filter 0.2s ease, opacity 0.2s ease !important;
}
.gray-scale-effect:hover {
  filter: grayscale(0);
}

.product-carousel-tns-outer {
  z-index: 10;
}
.product-carousel-tns-outer .tns-ovh {
  position: relative;
  padding-top: 2rem;
  margin-top: -2rem;
  z-index: 10;
}
.product-carousel-tns-outer .tns-nav {
  position: relative;
  z-index: 8;
}

@media (min-width: 1500px) {
  .container-xxl .product-carousel-tns-outer {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.vm-currency-selector a {
  display: block;
  padding: 0.5rem;
}
.vm-currency-selector .currency-block li {
  display: block;
  padding: 0.25rem 0;
  margin: 0 0.5rem;
  text-align: start;
}
.vm-currency-selector .currency-block li.currency-active {
  background-color: #f0f0f0;
}

.mod-minicart__product-details .mod-product-price,
.vme-mod__contents .mod-product-price {
  font-weight: 600;
}

.vmpayment_description,
.vmshipment_cost,
.vmpayment_cost {
  color: var(--gray-600);
}

.vmpayment_description {
  display: block;
}

.vp-cookie-consent {
  position: fixed;
  z-index: 900001;
  opacity: 1;
  transition: opacity 0.25s linear, transform 0.25s linear;
}

.vp-cookie-consent-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 2rem;
  padding: 2rem 2.5rem;
  width: 400px;
  color: var(--template-cookie-consent-color, var(--body-color));
  background-color: var(--template-cookie-consent-bg, #f3f3f3);
  border: 1px solid var(--template-cookie-consent-border-color, #ddd);
  box-shadow: 0 6px 13px 0 rgba(0, 0, 0, 0.23);
}
.vp-cookie-consent-inner a {
  color: var(--template-cookie-consent-link-color, var(--template-link-color));
}
.vp-cookie-consent-inner a:active, .vp-cookie-consent-inner a:visited {
  color: var(--template-cookie-consent-link-color, var(--template-link-color));
}
.vp-cookie-consent-inner a:hover {
  color: var(--template-cookie-consent-link-hover-color, var(--template-link-hover-color));
}

.vp-cookie-consent.top {
  left: 0;
  right: 0;
  top: 0;
}
.vp-cookie-consent.top-left {
  left: 2.5rem;
  top: 2.5rem;
}
.vp-cookie-consent.top-right {
  right: 2.5rem;
  top: 2.5rem;
}
.vp-cookie-consent.bottom {
  left: 0;
  right: 0;
  bottom: 0;
}
.vp-cookie-consent.bottom-left {
  left: 2.5rem;
  bottom: 2.5rem;
}
.vp-cookie-consent.bottom-right {
  right: 2.5rem;
  bottom: 2.5rem;
}
.vp-cookie-consent.center {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.vp-cookie-consent.top, .vp-cookie-consent.top-left, .vp-cookie-consent.top-right, .vp-cookie-consent.bottom, .vp-cookie-consent.bottom-left, .vp-cookie-consent.bottom-right {
  transform: translate(0, 0);
}
.vp-cookie-consent.top .vp-cookie-consent-inner, .vp-cookie-consent.bottom .vp-cookie-consent-inner {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  text-align: start;
  box-shadow: none;
  width: auto;
}

.vp-cookie-consent.vp-hide {
  display: none !important;
}
.vp-cookie-consent.vp-fade {
  opacity: 0;
}
.vp-cookie-consent.vp-fade.top, .vp-cookie-consent.vp-fade.top-left, .vp-cookie-consent.vp-fade.top-right {
  transform: translate(0, -50%);
}
.vp-cookie-consent.vp-fade.bottom, .vp-cookie-consent.vp-fade.bottom-left, .vp-cookie-consent.vp-fade.bottom-right {
  transform: translate(0, 50%);
}

.vp-cookie-consent-button {
  --btn-padding-x: 2rem;
  text-wrap: nowrap;
}

@media (max-width: 767.98px) {
  .vp-cookie-consent.top-left, .vp-cookie-consent.top-right, .vp-cookie-consent.bottom-left, .vp-cookie-consent.bottom-right, .vp-cookie-consent.center {
    left: 1.5rem;
    right: 1.5rem;
  }
  .vp-cookie-consent.center {
    transform: translate(0, -50%);
  }
  .vp-cookie-consent.top-left, .vp-cookie-consent.top-right {
    top: 1.5rem;
  }
  .vp-cookie-consent.bottom-left, .vp-cookie-consent.bottom-right {
    bottom: 1.5rem;
  }
  .vp-cookie-consent.top .vp-cookie-consent-button, .vp-cookie-consent.bottom .vp-cookie-consent-button {
    width: 100%;
  }
  .vp-cookie-consent .vp-cookie-consent-inner {
    width: auto;
  }
  .vp-cookie-consent.bottom .vp-cookie-consent-inner, .vp-cookie-consent.top .vp-cookie-consent-inner {
    text-align: center;
  }
}
.mod-finder__search.input-group, .cf-form-search .mod-finder__search.input-append {
  flex-wrap: nowrap;
}
.mod-finder__search.input-group .awesomplete input, .cf-form-search .mod-finder__search.input-append .awesomplete input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.mod-finder__search.input-group button, .cf-form-search .mod-finder__search.input-append button {
  display: flex;
  align-items: center;
}
.mod-finder__search.input-group button .icon-search, .cf-form-search .mod-finder__search.input-append button .icon-search {
  margin-inline-end: 0.2em;
}

.awesomplete > input {
  max-width: 200px;
}
@media (min-width: 992px) {
  .awesomplete > input {
    max-width: none;
  }
}
.awesomplete > ul {
  z-index: 1000 !important;
}

.btn, .btn-vm-customfield .form-check-label-text {
  text-transform: uppercase;
}
.btn:focus, .btn-vm-customfield .form-check-label-text:focus {
  box-shadow: none !important;
}

.btn:focus, .btn-vm-customfield .form-check-label-text:focus,
.btn.focus,
.btn-vm-customfield .focus.form-check-label-text,
.btn:active:focus,
.btn.focus:active,
.btn.active:focus,
.btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:focus:not(.is-color-btn),
.btn.active.focus,
.btn-vm-customfield .form-check-input:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .focus.form-check-label-text:not(.is-color-btn) {
  text-decoration: none;
}

.btn.group-move, .btn-vm-customfield .group-move.form-check-label-text {
  cursor: move;
}

.btn-secondary, .btn-vm-customfield .form-check-label-text {
  color: hsl(210, 10%, 23%);
  background-color: hsl(0, 0%, 100%);
  border-color: hsl(210, 14%, 83%);
}
.btn-secondary:hover, .btn-vm-customfield .form-check-label-text:hover, .btn-secondary:focus, .btn-vm-customfield .form-check-label-text:focus {
  color: hsl(210, 10%, 23%);
  background-color: hsl(210, 17%, 98%);
}

.btn-link {
  --btn-color: var(--body-color, inherit);
  --btn-hover-color: var(--secondary);
  --btn-focus-color: var(--secondary);
  --btn-active-color: var(--secondary);
  --btn-border-width: 2px;
  --btn-padding-x: 0;
  --btn-padding-y: 0;
  --btn-font-weight: 600;
  text-decoration: none;
  border-bottom-color: var(--template-link-color);
}
.btn-link:hover, .btn-link:focus, .btn-link:active, .btn-link:active:first-child {
  color: var(--btn-hover-color);
  text-decoration: none;
  border-bottom-color: var(--template-link-color);
}

.link-switch {
  color: inherit;
  opacity: 0.4;
}
.link-switch.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .link-switch.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .link-switch.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .link-switch.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .link-switch.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .link-switch.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .link-switch.form-check-label-text:not(.is-color-btn) {
  color: inherit;
  opacity: 1;
}
.link-switch:hover:not(.active), .link-switch:focus:not(.active) {
  color: inherit;
  opacity: 0.7;
}

.btn-primary {
  --btn-color: var(--template-primary-contrast-color);
  --btn-bg: var(--template-primary-color);
  --btn-border-color: var(--template-primary-color);
  --btn-hover-color: var(--template-primary-hover-contrast-color);
  --btn-hover-bg: var(--template-primary-hover-color);
  --btn-hover-border-color: var(--template-primary-hover-color);
  --btn-focus-shadow-rgb: 39, 39, 111;
  --btn-active-color: var(--template-primary-hover-contrast-color);
  --btn-active-bg: var(--template-primary-hover-color);
  --btn-active-border-color: var(--template-primary-hover-color);
  --btn-active-shadow: none;
  --btn-disabled-color: var(--template-primary-contrast-color);
  --btn-disabled-bg: var(--template-primary-color);
  --btn-disabled-border-color: var(--template-primary-color);
}

.btn-outline-primary {
  --btn-color: var(--template-primary-color);
  --btn-border-color: var(--template-primary-color);
  --btn-hover-color: var(--template-primary-hover-contrast-color);
  --btn-hover-bg: var(--template-primary-hover-color);
  --btn-hover-border-color: var(--template-primary-hover-color);
  --btn-focus-shadow-rgb: 1, 1, 86;
  --btn-active-color: var(--template-primary-hover-contrast-color);
  --btn-active-bg: var(--template-primary-hover-color);
  --btn-active-border-color: var(--template-primary-hover-color);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: var(--template-primary-color);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: var(--template-primary-color);
}

.btn-icon {
  background-color: transparent;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  color: inherit;
  padding: 0.2rem 0.5rem;
  margin: 0;
  font-weight: 600;
}
.btn-icon:focus {
  box-shadow: none !important;
}

.btn-hover {
  opacity: 0.75;
}
.btn-hover:hover {
  opacity: 1;
}

.btn-close:focus {
  box-shadow: none !important;
}

.btn-group {
  margin-bottom: 2em;
}
.btn-group > input {
  padding: 1em;
  border: 1px solid hsl(210, 14%, 83%);
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn-group {
  margin-bottom: 0;
}

.article-info .association .btn-secondary, .article-info .association .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .article-info .association .form-check-label-text,
.cat-list-association .btn-secondary,
.cat-list-association .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .cat-list-association .form-check-label-text {
  font-weight: 700;
  color: hsl(0, 0%, 100%);
  background-color: hsl(210, 7%, 46%);
  border-color: hsl(210, 14%, 83%);
}
.article-info .association .btn-secondary:hover, .article-info .association .btn-vm-customfield .form-check-label-text:hover, .btn-vm-customfield .article-info .association .form-check-label-text:hover, .article-info .association .btn-secondary:focus, .article-info .association .btn-vm-customfield .form-check-label-text:focus, .btn-vm-customfield .article-info .association .form-check-label-text:focus,
.cat-list-association .btn-secondary:hover,
.cat-list-association .btn-vm-customfield .form-check-label-text:hover,
.btn-vm-customfield .cat-list-association .form-check-label-text:hover,
.cat-list-association .btn-secondary:focus,
.cat-list-association .btn-vm-customfield .form-check-label-text:focus,
.btn-vm-customfield .cat-list-association .form-check-label-text:focus {
  color: hsl(0, 0%, 100%);
  background-color: hsl(210, 10%, 23%);
}
.article-info .association .btn-sm, .article-info .association .btn-group-sm > .btn, .article-info .association .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .article-info .association .form-check-label-text,
.cat-list-association .btn-sm,
.cat-list-association .btn-group-sm > .btn,
.cat-list-association .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .cat-list-association .form-check-label-text {
  padding: 0 0.25rem;
  font-size: 0.8rem;
  border-radius: 0.2rem;
}

.offcanvas-toggler {
  background-color: transparent;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  margin: 0;
  text-align: center;
  color: inherit;
}

.modal-header.text-white .btn-close {
  color: var(--neoteric-offcanvas-header-color, #fff);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%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");
}

.btn-switch {
  border-radius: 0.25em;
  height: 2.36rem;
  width: 2.36rem;
  font-size: 1.05rem;
  padding: 0.25rem;
  margin-bottom: 0 !important;
}

@media (max-width: 991.98px) {
  .btn, .btn-vm-customfield .form-check-label-text {
    margin-bottom: 0.25rem;
  }
  .input-group .btn, .cf-form-search .input-append .btn, .input-group .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .input-group .form-check-label-text, .cf-form-search .input-append .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .cf-form-search .input-append .form-check-label-text {
    margin-bottom: 0;
  }
}
.form-select, .old-form select, .custom-select {
  max-width: 100%;
  cursor: pointer;
  background: url("../images/select-bg.svg") no-repeat right center/116rem /* rtl: url("../images/select-bg-rtl.svg") no-repeat left center/116rem */;
  background-color: hsl(210, 16%, 93%);
  border: 2px solid hsl(210, 14%, 83%);
}
.form-select:focus, .old-form select:focus, .custom-select:focus {
  border-color: var(--template-input-focus-border-color, hsl(210, 14%, 83%));
  box-shadow: none;
}
.form-select[multiple], .old-form select[multiple], [multiple].custom-select {
  padding: 0;
  background-color: hsl(0, 0%, 100%);
}
.form-select[multiple] option, .old-form select[multiple] option, [multiple].custom-select option {
  padding: 0.3rem 1rem;
  background-color: hsl(0, 0%, 100%);
}
.form-select[multiple] option:checked, .old-form select[multiple] option:checked, [multiple].custom-select option:checked {
  color: hsl(0, 0%, 100%);
  background-color: var(--neoteric-color-primary) !important;
}
.form-select.form-select-success, .old-form select.form-select-success, .form-select-success.custom-select, .form-select.custom-select-success, .old-form select.custom-select-success, .custom-select-success.custom-select {
  color: hsl(120, 32%, 39%);
  background-color: hsl(120, 32%, 39%);
}
.form-select.form-select-success option, .old-form select.form-select-success option, .form-select-success.custom-select option, .form-select.custom-select-success option, .old-form select.custom-select-success option, .custom-select-success.custom-select option {
  color: var(--body-color);
  background-color: hsl(0, 0%, 100%);
}
.form-select.form-select-danger, .old-form select.form-select-danger, .form-select-danger.custom-select, .form-select.custom-select-danger, .old-form select.custom-select-danger, .custom-select-danger.custom-select {
  color: hsl(3, 75%, 37%);
  background-color: hsl(3, 75%, 37%);
}
.form-select.form-select-danger option, .old-form select.form-select-danger option, .form-select-danger.custom-select option, .form-select.custom-select-danger option, .old-form select.custom-select-danger option, .custom-select-danger.custom-select option {
  color: var(--body-color);
  background-color: hsl(0, 0%, 100%);
}
.form-select optgroup, .old-form select optgroup, .custom-select optgroup,
.form-select option,
.old-form select option,
.custom-select option {
  color: var(--dark);
  background-color: hsl(0, 0%, 100%);
}

.accordion .card-header {
  display: block;
  font-size: 1.25rem;
  font-weight: var(--neoteric-font-weight-headings, 700);
  line-height: 1.2;
}
.accordion .list-group-item {
  color: hsl(220, 67%, 40%);
}

.dropdown-menu {
  padding: 0.2rem 0;
  margin-top: 0.5rem;
  background-color: hsl(0, 0%, 100%);
  border-color: hsl(210, 14%, 89%);
}

.dropdown-menu-end::after {
  right: 0.9rem;
  left: auto;
}

.top-bar-content .dropdown-menu {
  --dropdown-zindex: 1030;
  --dropdown-border-radius: 0;
  --dropdown-inner-border-radius: 0;
  --dropdown-font-size: 0.9rem;
  margin-top: 2px !important;
}

.field-media-wrapper {
  display: block;
  width: 100%;
  max-width: calc(50vw - 5rem);
}
.field-media-wrapper .field-media-preview {
  width: 100%;
  max-width: none;
}
@media (max-width: 991.98px) {
  .field-media-wrapper {
    min-width: 100%;
  }
}

.list-group-item {
  background-color: var(--body-bg);
}

.list-unstyled .list-unstyled {
  padding-left: 20px;
}

.jviewport-height10 {
  height: 10vh;
}
.jviewport-height20 {
  height: 20vh;
}
.jviewport-height30 {
  height: 30vh;
}
.jviewport-height40 {
  height: 40vh;
}
.jviewport-height50 {
  height: 50vh;
}
.jviewport-height60 {
  height: 60vh;
}
.jviewport-height70 {
  height: 70vh;
}
.jviewport-height80 {
  height: 80vh;
}
.jviewport-height90 {
  height: 90vh;
}
.jviewport-height100 {
  height: 100vh;
}

[class*=jviewport-height] iframe {
  height: 100%;
}

.modal-dialog.jviewport-width10 {
  width: 10vw;
  max-width: none;
}
.modal-dialog.jviewport-width20 {
  width: 20vw;
  max-width: none;
}
.modal-dialog.jviewport-width30 {
  width: 30vw;
  max-width: none;
}
.modal-dialog.jviewport-width40 {
  width: 40vw;
  max-width: none;
}
.modal-dialog.jviewport-width50 {
  width: 50vw;
  max-width: none;
}
.modal-dialog.jviewport-width60 {
  width: 60vw;
  max-width: none;
}
.modal-dialog.jviewport-width70 {
  width: 70vw;
  max-width: none;
}
.modal-dialog.jviewport-width80 {
  width: 80vw;
  max-width: none;
}
.modal-dialog.jviewport-width90 {
  width: 90vw;
  max-width: none;
}
.modal-dialog.jviewport-width100 {
  width: 100vw;
  max-width: none;
}

.nav.nav-tabs {
  padding: 0;
  margin: 0;
  background-color: hsl(0, 0%, 96%);
  border: 1px solid hsl(210, 14%, 89%);
  border-bottom: 0;
  border-radius: 0.25rem 0.25rem 0 0;
  box-shadow: 0 1px hsl(0, 0%, 100%) inset, 0 2px 3px -3px hsla(0, 0%, 0%, 0.15), 0 -4px 0 hsla(0, 0%, 0%, 0.05) inset, 1px 1px 4px hsla(0, 0%, 0%, 0.1);
}
.nav.nav-tabs .nav-item {
  margin-bottom: 0;
  margin-left: 0;
}
.nav.nav-tabs .nav-item:first-of-type .nav-link.active, .nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn) {
  border-radius: 0.25rem 0 0;
  box-shadow: -1px 0 1px -1px hsla(0, 0%, 0%, 0.06), inset -2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset 0 1px 0 hsla(0, 0%, 0%, 0.02);
}
.nav.nav-tabs .nav-item:last-of-type .nav-link {
  box-shadow: -1px 0 0 hsla(0, 0%, 0%, 0.05), 1px 0 0 hsla(0, 0%, 0%, 0.05);
}
.nav.nav-tabs .nav-item:last-of-type .nav-link.active, .nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn) {
  box-shadow: inset 2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset -2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset 0 1px 0 hsla(0, 0%, 0%, 0.02);
}
.nav.nav-tabs .nav-link {
  position: relative;
  padding: 0.75em 1em;
  color: var(--neoteric-color-primary);
  border: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: -1px 0 0 hsla(0, 0%, 0%, 0.05);
}
.nav.nav-tabs .nav-link.active, .nav.nav-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn) {
  background-color: hsla(0, 0%, 0%, 0.3);
  background-image: linear-gradient(to bottom, hsla(0, 0%, 0%, 0), hsla(0, 0%, 0%, 0.05) 100%);
  border-right: 0;
  border-left: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: inset 2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset -2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset 0 1px 0 hsla(0, 0%, 0%, 0.02);
}
.nav.nav-tabs .nav-link.active::after, .nav.nav-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-input:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after,
.nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after,
.nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after,
.nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after,
.nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 5px;
  content: "";
  background-color: var(--neoteric-color-primary);
  opacity: 0.8;
}

.nav-tabs + .tab-content {
  padding: 15px;
  background: hsl(0, 0%, 100%);
  border: 1px solid;
  border-color: hsl(210, 14%, 89%);
  border-radius: 0 0 0.25rem 0.25rem;
  box-shadow: 1px 1px 4px hsla(0, 0%, 0%, 0.1);
}

.nav-tabs-basic {
  border-bottom: var(--border-width) solid var(--border-color);
}
.nav-tabs-basic .nav-link {
  color: var(--secondary);
  margin-bottom: -var(--border-width);
  background: none;
  border: var(--border-width) solid transparent;
  padding: 0.8rem 1rem;
  font-weight: bolder;
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
}
.nav-tabs-basic .nav-link:hover, .nav-tabs-basic .nav-link:focus {
  border-color: var(--secondary-bg) var(--secondary-bg) var(--border-color);
  isolation: isolate;
}
.nav-tabs-basic .nav-link.disabled {
  color: var(--secondary-color);
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs-basic .nav-link.active, .nav-tabs-basic .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .nav-item.show .nav-link {
  color: var(--emphasis-color);
  background-color: var(--body-bg);
  border-color: var(--border-color) var(--border-color) var(--body-bg);
}

.nav-tabs-simple {
  justify-content: center;
}
.nav-tabs-simple + .tab-content {
  padding: 1.5rem 0;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.nav-tabs-simple .nav-link {
  position: relative;
  background: none;
  background-color: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  border-radius: 0;
  color: var(--nav-simple-tab-link-color, var(--gray-600));
  padding: var(--nav-simple-tab-link-padding-y, 0.6rem) var(--nav-simple-tab-link-padding-x, 1rem);
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  transition: opacity 0.15s ease-in-out;
}
.nav-tabs-simple .nav-link:disabled {
  color: var(--nav-link-disabled-color);
}
.nav-tabs-simple .nav-link:after {
  content: "";
  display: block;
  position: absolute;
  height: 3px;
  background-color: transparent;
  top: 100%;
  left: 50%;
  right: 50%;
  transform: translateY(-100%);
  opacity: 0;
  transition: all 0.15s ease-in-out;
}
.nav-tabs-simple .nav-link:hover, .nav-tabs-simple .nav-link.active, .nav-tabs-simple .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .nav-link.active:hover {
  color: var(--nav-simple-tab-link-active-color, var(--body-color));
}
.nav-tabs-simple .nav-link:hover:after, .nav-tabs-simple .nav-link.active:after, .nav-tabs-simple .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .nav-link.active:hover:after {
  left: 0.5rem;
  right: 0.5rem;
  background-color: var(--template-primary-color);
  opacity: 1;
}

.nav-offcanvas-tabs {
  display: flex;
  border-radius: 0;
  box-shadow: none;
}
.nav-offcanvas-tabs .nav-item {
  flex: 1 1 auto;
}
.nav-offcanvas-tabs .nav-link {
  position: relative;
  display: block;
  width: 100%;
  border: none;
  outline: none;
  padding: 1rem 0.8rem;
  text-transform: uppercase;
  font-weight: bold;
  color: var(--gray-600);
  background-color: rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid rgba(0, 0, 0, 0.106);
}
.nav-offcanvas-tabs .nav-link:after {
  position: absolute;
  content: "";
  bottom: -1px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--template-primary-color);
  transition: width 0.4s ease;
}
.nav-offcanvas-tabs .nav-link.active, .nav-offcanvas-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn) {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--body-color);
}
.nav-offcanvas-tabs .nav-link.active:after, .nav-offcanvas-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after {
  width: 100%;
}

.pagination {
  margin: 1rem;
}

.table th {
  font-weight: 500;
}
.table thead th {
  white-space: nowrap;
  border-bottom-width: 2px;
}
.table th,
.table td {
  vertical-align: middle;
}
.table th label,
.table td label {
  margin-bottom: 0;
}

.table-cart > :not(caption) > * > * {
  padding: 1.1rem 0.9rem;
}
.table-cart th {
  text-transform: uppercase;
  font-weight: bold;
}

.chosen-container.chosen-container-single {
  max-width: 100%;
  font-size: 1rem;
  display: block;
  /*
  &.chosen-container-active .chosen-single {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  */
}
.chosen-container.chosen-container-single .chosen-single {
  display: block;
  height: calc(1.5em + 1.2rem + calc(2px * 2));
  padding: 0.81rem 4rem 0.81rem 1rem;
  line-height: 1.2;
  color: var(--body-color);
  background: hsl(210, 16%, 93%) url("../images/select-bg.svg") no-repeat right 0.25rem center;
  background-image: none \9 ;
  background-size: 116rem;
  border: 2px solid hsl(210, 14%, 83%);
  box-shadow: none;
  appearance: none;
  border-radius: var(--border-radius);
}
.chosen-container.chosen-container-single .chosen-single abbr {
  top: 10px;
}
.chosen-container.chosen-container-single .chosen-single:focus {
  border-color: #8080ab;
  outline: none;
}
.chosen-container.chosen-container-single .chosen-single:disabled {
  cursor: not-allowed;
  background-color: var(--secondary-bg);
}
.chosen-container.chosen-container-single .chosen-single div b {
  background: none !important;
}
.chosen-container.chosen-container-single .chosen-drop {
  background: hsl(0, 0%, 100%);
  border: 2px solid hsl(210, 14%, 83%);
}
.chosen-container.chosen-container-single .chosen-results li {
  line-height: calc(1rem + .3rem);
}

.chosen-container.chosen-container-multi .chosen-choices {
  max-width: 100%;
  min-height: calc(1.5em + 1.2rem + calc(2px * 2));
  font-size: 1rem;
  line-height: 1.5;
  background-image: hsl(0, 0%, 100%);
}
.chosen-container.chosen-container-multi .chosen-choices li.search-choice {
  padding: 5px 33px 5px 10px;
  color: hsl(0, 0%, 100%);
  background: var(--primary);
  border: 0;
  box-shadow: 1px 1px 4px hsla(0, 0%, 0%, 0.1);
  border-radius: var(--border-radius);
}
.chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  top: 0;
  right: 0;
  width: 20px;
  height: 100%;
  background-image: none !important;
}
.chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before {
  position: absolute;
  top: 6px;
  right: 5px;
  font-size: 1rem;
  color: hsl(0, 0%, 100%);
  content: "×";
}

.chosen-container-active.chosen-with-drop .chosen-single {
  box-shadow: none;
}

.chosen-container-single {
  width: auto !important;
}

.card .chosen-container.chosen-container-single {
  width: 100% !important;
}
.card .chosen-container.chosen-container-single .chosen-single {
  width: 100% !important;
}

.gu-mirror {
  position: fixed !important;
  z-index: 9999 !important;
  margin: 0 !important;
  background-color: hsl(120, 73%, 75%);
  opacity: 0.8;
}
.gu-mirror.table {
  display: table;
}
.gu-mirror.table td {
  display: table-cell;
}

.minicolors-theme-bootstrap .minicolors-input {
  width: 120px;
}
.minicolors-theme-bootstrap .rgb {
  width: 175px;
}
.minicolors-theme-bootstrap .rgba {
  width: 220px;
}

.editor .toggle-editor {
  margin-top: 1rem;
}
.editor .mce-tinymce {
  border: 1px solid hsl(210, 14%, 89%);
  border-radius: var(--border-radius);
}
.editor .mce-btn,
.editor .mce-panel {
  background: hsl(210, 17%, 98%);
}

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

:root {
  --template-bg-light: #f0f4fb;
  --template-text-light: hsl(0, 0%, 100%);
  --template-special-color: #132f53;
  --template-link-color: #2a69b8;
  --template-link-hover-color: #173a65;
  --template-contrast: #2a69b8;
  --template-bg-dark: hsl(var(--hue), 40%, 20%);
  --template-bg-dark-3: hsl(var(--hue), 40%, 97%);
  --template-bg-dark-5: hsl(var(--hue), 40%, 95%);
  --template-bg-dark-7: hsl(var(--hue), 40%, 93%);
  --template-bg-dark-10: hsl(var(--hue), 40%, 90%);
  --template-bg-dark-15: hsl(var(--hue), 40%, 85%);
  --template-bg-dark-20: hsl(var(--hue), 40%, 80%);
  --template-bg-dark-30: hsl(var(--hue), 40%, 70%);
  --template-bg-dark-40: hsl(var(--hue), 40%, 60%);
  --template-bg-dark-50: hsl(var(--hue), 40%, 50%);
  --template-bg-dark-60: hsl(var(--hue), 40%, 40%);
  --template-bg-dark-65: hsl(var(--hue), 40%, 35%);
  --template-bg-dark-70: hsl(var(--hue), 40%, 30%);
  --template-bg-dark-75: hsl(var(--hue), 40%, 25%);
  --template-bg-dark-80: hsl(var(--hue), 40%, 20%);
  --template-bg-dark-90: hsl(var(--hue), 40%, 10%);
  --gray-100: hsl(var(--text-hue, 210), 17%, 98%);
  --gray-200: hsl(var(--text-hue, 210), 16%, 93%);
  --gray-300: hsl(var(--text-hue, 210), 14%, 89%);
  --gray-400: hsl(var(--text-hue, 210), 14%, 83%);
  --gray-500: hsl(var(--text-hue, 210), 11%, 71%);
  --gray-600: hsl(var(--text-hue, 210), 7%, 46%);
  --gray-700: hsl(var(--text-hue, 210), 9%, 31%);
  --gray-800: hsl(var(--text-hue, 210), 10%, 23%);
  --gray-900: hsl(var(--text-hue, 210), 11%, 15%);
  --primary: var(--template-primary-color);
  --neoteric-color-primary: var(--template-primary-color);
}

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

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

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

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

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

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

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

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

.border-white {
  border-color: var(--white) !important;
}

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

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

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

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

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

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

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

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

.text-black {
  color: var(--black) !important;
}

.text-white {
  color: var(--white) !important;
}

.text-body {
  color: var(--body-color) !important;
}

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

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

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

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

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

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

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

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

.bg-black {
  background-color: var(--black) !important;
}

.bg-white {
  background-color: var(--white) !important;
}

.bg-body {
  background-color: var(--body-bg) !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvb2xzL3ZhcmlhYmxlcy9fdmFyaWFibGVzLnNjc3MiLCJibG9ja3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFubmVyLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fY29udGFpbmVycy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fbGFiZWxzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXNlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNoZWNrLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tcmFuZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZmxvYXRpbmctbGFiZWxzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fb2ZmY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3BsYWNlaG9sZGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2NvbG9yLWJnLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3JlZC1saW5rcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ZvY3VzLXJpbmcuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19pY29uLWxpbmsuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19yYXRpby5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RhY2tzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3RleHQtdHJ1bmNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3ZyLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwiLi4vLi4vLi4vLi4vc3lzdGVtL3Njc3MvX2pxdWVyeS1taW5pY29sb3JzLnNjc3MiLCJibG9ja3MvX2dsb2JhbC5zY3NzIiwiYmxvY2tzL19hbGVydHMuc2NzcyIsImJsb2Nrcy9fYmFjay10by10b3Auc2NzcyIsImJsb2Nrcy9fYmFubmVyLnNjc3MiLCJibG9ja3MvX2Zvb3Rlci5zY3NzIiwiYmxvY2tzL19mb3JtLnNjc3MiLCJibG9ja3MvX2Zyb250ZW5kLWVkaXQuc2NzcyIsImJsb2Nrcy9faGVhZGVyLnNjc3MiLCJibG9ja3MvX2ljb25zLnNjc3MiLCJibG9ja3MvX2lmcmFtZS5zY3NzIiwiYmxvY2tzL19vYmplY3Quc2NzcyIsImJsb2Nrcy9fbGF5b3V0LnNjc3MiLCJibG9ja3MvX21vZGFscy5zY3NzIiwiYmxvY2tzL19tb2RpZmllcnMuc2NzcyIsImJsb2Nrcy9fdG9vbGJhci5zY3NzIiwiYmxvY2tzL19sZWdhY3kuc2NzcyIsImJsb2Nrcy9fdGFncy5zY3NzIiwiYmxvY2tzL19qb29tbGEuc2NzcyIsImJsb2Nrcy9fdmlydHVlbWFydC5zY3NzIiwiYmxvY2tzL19jb29raWVfY29uc2VudC5zY3NzIiwidmVuZG9yL19hd2Vzb21wbGV0ZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fYnV0dG9ucy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwL19jb2xsYXBzZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fZHJvcGRvd24uc2NzcyIsInZlbmRvci9ib290c3RyYXAvX2Zvcm1zLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwL19saXN0cy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fbW9kYWwuc2NzcyIsInZlbmRvci9ib290c3RyYXAvX25hdi5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fcGFnaW5hdGlvbi5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fdGFibGUuc2NzcyIsInZlbmRvci9fY2hvc2VuLnNjc3MiLCJ2ZW5kb3IvX2RyYWd1bGEuc2NzcyIsInZlbmRvci9fbWluaWNvbG9ycy5zY3NzIiwidmVuZG9yL190aW55bWNlLnNjc3MiLCJ0ZW1wbGF0ZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFnUkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQzdRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBRGtQRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FFL1FFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNERjtBQUFBO0VBU0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtF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QUdFLGFGMG5Ca0I7RUV6bkJsQixhRnltQjBCO0VIN1d0Qjs7QUE1Sko7RUtwR0Y7SUx1UU07Ozs7QUt2UU47RUFHRSxhRjBuQmtCO0VFem5CbEIsYUZ5bUIwQjtFSDdXdEI7O0FBNUpKO0VLcEdGO0lMdVFNOzs7O0FLdlFOO0VBR0UsYUYwbkJrQjtFRXpuQmxCLGFGeW1CMEI7RUg3V3RCOztBQTVKSjtFS3BHRjtJTHVRTTs7OztBS3ZRTjtFQUdFLGFGMG5Ca0I7RUV6bkJsQixhRnltQjBCO0VIN1d0Qjs7QUE1Sko7RUtwR0Y7SUx1UU07Ozs7QUt2UU47RUFHRSxhRjBuQmtCO0VFem5CbEIsYUZ5bUIwQjtFSDdXdEI7O0FBNUpKO0VLcEdGO0lMdVFNOzs7O0FLL09SO0VDdkRFO0VBQ0E7OztBRDJERjtFQzVERTtFQUNBOzs7QUQ4REY7RUFDRTs7QUFFQTtFQUNFLGNGc29CMEI7OztBRTVuQjlCO0VMOE1NLFdBTEk7RUt2TVI7OztBQUlGO0VBQ0UsZUZpVU87RUgxSEgsV0FMSTs7QUsvTFI7RUFDRTs7O0FBSUo7RUFDRTtFQUNBLGVGdVRPO0VIMUhILFdBTEk7RUt0TFIsT1R6RW9DOztBUzJFcEM7RUFDRTs7O0FFaEdKO0VDSUU7RUFHQTs7O0FEREY7RUFDRSxTSitqRGtDO0VJOWpEbEMsa0JKK2pEa0M7RUk5akRsQztFSEdFO0VJUkY7RUFHQTs7O0FEY0Y7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFUHlQTSxXQUxJO0VPbFBSLE9Ka2pEa0M7OztBTXBsRGxDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VDSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3NERTtFRjVDRTtJQUNFLFdOa2VlOzs7QVF2Ym5CO0VGNUNFO0lBQ0UsV05rZWU7OztBUXZibkI7RUY1Q0U7SUFDRSxXTmtlZTs7O0FRdmJuQjtFRjVDRTtJQUNFLFdOa2VlOzs7QVF2Ym5CO0VGNUNFO0lBQ0UsV05rZWU7OztBU2xmdkI7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBQUtGO0VDTkE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FERUU7RUNPRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQStDSTtFQUNFOzs7QUFHRjtFQXBDSjtFQUNBOzs7QUFjQTtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUErQkU7RUFoREo7RUFDQTs7O0FBcURRO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBdUVRO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQW1FTTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7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QUNBO0VBQ0E7RUFDQTtFQUNBLGFmd2Y0QjtFZXZmNUIsT2YyeEJzQztFZTF4QnRDO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBRUU7RUFDQTs7O0FBV0o7RUFDRSxZZjR3QnNDO0VlM3dCdEM7RWxCeUlJLFdBTEk7RUl2UU47O0FjdUlGO0VBQ0U7RUFDQTtFQUNBLG1CZm9vQjBCOzs7QWVob0I5QjtFQUNFLFlmZ3dCc0M7RWUvdkJ0QztFbEI0SEksV0FMSTtFSXZRTjs7QWNvSkY7RUFDRTtFQUNBO0VBQ0EsbUJ0QmtCa0M7OztBc0JWcEM7QUFBQTtFQUNFLFlmNnVCb0M7O0FlMXVCdEM7RUFDRSxZZjB1Qm9DOztBZXZ1QnRDO0VBQ0UsWWZ1dUJvQzs7O0FlbHVCeEM7RUFDRSxPZnF1QnNDO0VlcHVCdEMsUWY4dEJzQztFZTd0QnRDLFN0QlZvQzs7QXNCWXBDO0VBQ0U7O0FBR0Y7RUFDRTtFZHZMQTs7QWMyTEY7RUFDRTtFZDVMQTs7QWNnTUY7RUFBb0IsUWY4c0JrQjs7QWU3c0J0QztFQUFvQixRZjhzQmtCOzs7QWtCNzVCeEM7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFckJxUkksV0FMSTtFcUI3UVIsYXpCZ0tvQztFeUIvSnBDLGFsQnNtQjRCO0VrQnJtQjVCLE9sQnkzQnNDO0VrQngzQnRDO0VBQ0Esa0J6Qk1vQztFeUJMcEM7RUFDQTtFQUNBLHFCbEIrOUJrQztFa0I5OUJsQyxpQnpCNktrQztFeUI1S2xDO0VqQkhFO0VlSEUsWUVTSjs7QUZMSTtFRWZOO0lGZ0JROzs7QUVNTjtFQUNFLGNsQnMzQm9DO0VrQnIzQnBDO0VBS0UsWWxCaStCNEI7O0FrQjc5QmhDO0VBRUUsZXpCa0prQztFeUJqSmxDOztBQUdGO0VBRUUsa0JsQnUxQm9DOztBa0JsMUJ0QztFQUNFO0VBQ0E7OztBQUlKO0VBQ0UsYWxCc3VCNEI7RWtCcnVCNUIsZ0JsQnF1QjRCO0VrQnB1QjVCLGNsQnF1QjRCO0VIbGdCeEIsV0FMSTtFSXZRTjs7O0FpQjhDSjtFQUNFLGF6QnlIb0M7RXlCeEhwQyxnQnpCd0hvQztFeUJ2SHBDLGN6QndIb0M7RUltR2hDLFdBTEk7RUl2UU47OztBaUJ3REE7RUFDRTs7O0FDeEVOO0VBQ0U7RUFDQSxZbkJxNkJ3QztFbUJwNkJ4QyxjbkJxNkJ3QztFbUJwNkJ4QyxlbkJxNkJ3Qzs7QW1CbjZCeEM7QUFBQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0UsZW5CMjVCd0M7RW1CMTVCeEM7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0FBQUE7RUFDRTtFQUVBO0VBQ0EsT25CMDRCd0M7RW1CejRCeEMsUW5CeTRCd0M7RW1CeDRCeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFFuQjI0QndDO0VtQjE0QnhDOztBQUdBO0FBQUE7RWxCM0JFOztBa0IrQkY7RUFFRSxlbkJtNEJzQzs7QW1CaDRCeEM7QUFBQTtFQUNFLFFuQjAzQnNDOztBbUJ2M0J4QztBQUFBO0VBQ0UsY25CczFCb0M7RW1CcjFCcEM7RUFDQSxZbkI4Zm9COztBbUIzZnRCO0FBQUE7RUFDRSxrQjFCckJrQztFMEJzQmxDLGMxQnRCa0M7O0EwQndCbEM7QUFBQTtFQUlJOztBQUlKO0VBSUk7O0FBS047QUFBQTtFQUNFLGtCMUIxQ2tDO0UwQjJDbEMsYzFCM0NrQztFMEJnRGhDOztBQUlKO0FBQUE7RUFDRTtFQUNBO0VBQ0EsU25CazJCdUM7O0FtQjMxQnZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBLFNuQnkxQnFDOzs7QW1CMzBCM0M7RUFDRSxjbkJvMUJnQzs7QW1CbDFCaEM7QUFBQTtBQUFBO0VBQ0U7RUFFQSxPbkI4MEI4QjtFbUI3MEI5QjtFQUNBO0VBQ0E7RWxCakhBO0VlSEUsWUdzSEY7O0FIbEhFO0VHMEdKO0FBQUE7QUFBQTtJSHpHTTs7O0FHbUhKO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUNFLHFCbkI2MEI0QjtFbUJ4MEIxQjs7QUFLTjtFQUNFLGVuQnd6QjhCO0VtQnZ6QjlCOztBQUVBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7OztBQUtOO0VBQ0U7RUFDQSxjbkJzeUJnQzs7O0FtQm55QmxDO0VBQ0U7RUFDQTtFQUNBOztBQUlFO0VBQ0U7RUFDQTtFQUNBLFNuQnNwQndCOzs7QW1CL29CMUI7QUFBQTtBQUFBO0VBQ0U7OztBQ25MTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJQTtFQUEwQixZcEI4Z0NhOztBb0I3Z0N2QztFQUEwQixZcEI2Z0NhOztBb0IxZ0N6QztFQUNFOztBQUdGO0VBQ0UsT3BCKy9CdUM7RW9COS9CdkMsUXBCOC9CdUM7RW9CNy9CdkM7RUFDQTtFSDFCRixrQnhCeUNvQztFMkJibEMsUXBCNi9CdUM7RUMxZ0N2QztFZUhFLFlJbUJGOztBSmZFO0VJTUo7SUpMTTs7O0FJZ0JKO0VIakNGLGtCakI4aEN5Qzs7QW9CeC9CekM7RUFDRSxPcEJ3K0I4QjtFb0J2K0I5QixRcEJ3K0I4QjtFb0J2K0I5QjtFQUNBLFFwQnUrQjhCO0VvQnQrQjlCLGtCcEJ1K0I4QjtFb0J0K0I5QjtFbkI3QkE7O0FtQmtDRjtFQUNFLE9wQm8rQnVDO0VvQm4rQnZDLFFwQm0rQnVDO0VvQmwrQnZDO0VIcERGLGtCeEJ5Q29DO0UyQmFsQyxRcEJtK0J1QztFQzFnQ3ZDO0VlSEUsWUk2Q0Y7O0FKekNFO0VJaUNKO0lKaENNOzs7QUkwQ0o7RUgzREYsa0JqQjhoQ3lDOztBb0I5OUJ6QztFQUNFLE9wQjg4QjhCO0VvQjc4QjlCLFFwQjg4QjhCO0VvQjc4QjlCO0VBQ0EsUXBCNjhCOEI7RW9CNThCOUIsa0JwQjY4QjhCO0VvQjU4QjlCO0VuQnZEQTs7QW1CNERGO0VBQ0U7O0FBRUE7RUFDRSxrQnBCZzlCcUM7O0FvQjc4QnZDO0VBQ0Usa0JwQjQ4QnFDOzs7QXFCbmlDM0M7RUFDRTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRSxRckJ3aUNvQztFcUJ2aUNwQyxZckJ1aUNvQztFcUJ0aUNwQyxhckJ1aUNvQzs7QXFCcGlDdEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUxWRSxZS1dGOztBTFBFO0VLVEo7SUxVTTs7O0FLU047QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFLGFyQjBnQ2tDO0VxQnpnQ2xDLGdCckIwZ0NrQzs7QXFCdmdDcEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsYXJCcWdDa0M7RXFCcGdDbEMsZ0JyQnFnQ2tDOztBcUJqZ0N0QztFQUNFLGFyQisvQm9DO0VxQjkvQnBDLGdCckIrL0JvQztFcUI5L0JwQyxjNUJxSWtDOztBNEI5SGxDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsV3JCeS9Ca0M7O0FxQnAvQnBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRSxXckJtL0JrQzs7QXFCOStCcEM7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFFyQncrQmtDO0VxQnYrQmxDO0VBQ0Esa0JyQnF6QmtDO0VDaDNCcEM7O0FvQitERjtFQUNFLGtCckJrekJvQzs7QXFCOXlCcEM7RUFDRTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtFQUVFLE81Qm5Fa0M7OztBNkJ2QnRDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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QUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEa0dBO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGtHQTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEa0dBO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGtHQTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUQ0SEE7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEbUdBO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRG1HQTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEbUdBO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRG1HQTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VB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OztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QWhDeEZSO0VnQ2dFQTtJQUNFOztFQUdFO0l2Q3pESjtJQVpBOztFdUMwRUk7SXZDMUVKO0lBWUE7O0V1Q21FSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QWhDeEZSO0VnQ2dFQTtJQUNFOztFQUdFO0l2Q3pESjtJQVpBOztFdUMwRUk7SXZDMUVKO0lBWUE7O0V1Q21FSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QWhDeEZSO0VnQ2dFQTtJQUNFOztFQUdFO0l2Q3pESjtJQVpBOztFdUMwRUk7SXZDMUVKO0lBWUE7O0V1Q21FSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QWhDeEZSO0VnQ2dFQTtJQUNFOztFQUdFO0l2Q3pESjtJQVpBOztFdUMwRUk7SXZDMUVKO0lBWUE7O0V1Q21FSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QUFjWjtFdkNsSkk7O0F1Q3FKRjtFQUNFOztBQUVBO0VBQ0U7OztBQWFKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVZGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVZGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVZGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVZGO0VBQ0U7RUFDQTtFQUNB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WE07OztBUnVESjtFMkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0EzQzVCSjtFMkMvQkY7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0EzQ25DTjtFMkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQzVCQSxZbUM4QkE7OztBbkMxQkE7RW1DWUo7SW5DWE07OztBUnVESjtFMkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0EzQzVCSjtFMkMvQkY7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0EzQ25DTjtFMkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQzVCQSxZbUM4QkE7OztBbkMxQkE7RW1DWUo7SW5DWE07OztBUnVESjtFMkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0EzQzVCSjtFMkMvQkY7SUFpRU07SUFD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OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFyQko7QUFjQTtFQU9JO0VBQUE7OztBQW1CSjtBQTFCQTtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFqQko7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBU0Y7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBakJKO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQUlKO0VBT0k7OztBQUtGO0VBT0k7OztBQW5CTjtFQU9JOzs7QUFLRjtFQU9JOzs7QUFuQk47RUFPSTs7O0FBS0Y7RUFPSTs7O0FBbkJOO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQWpCSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFJSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBMURWUjtFMERHSTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QTFEVlI7RTBER0k7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7OztBMURWUjtFMERHSTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQ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QU1BO0lBQ0k7OztBQU1oQjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBRUk7RUFDQTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFNQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7O0E3RGpiUjtFNkQwYlk7SUFDSTtJQUNBOztFQUtaO0lBQ0k7O0VBR0o7SUFDSTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFLQTtBQUFBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFJUjtJQUNJO0lBQ0E7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7O0VBS0o7SUFDSTs7O0E3RHplaEI7RTZEaWZBO0lBQ0k7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOzs7QUFNQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNJO0VBQ0E7RUFDQTs7O0FBTWhCO0VBQ0k7SUFDSTtJQUNBOztFQUdKO0lBQ0k7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7O0VBR0o7SUFDSTtJQUNBOzs7QUFJUjtFQUdZO0lBQ0k7SUFDQTs7O0FBTWhCO0FBQUE7QUFBQTtFQUNJO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHSTs7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFHSTs7O0FBSVI7RUFDSTs7QUFFQTtFQUNJOzs7QUFhSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBS0k7RUFDSTtFQUNBO0VBQ0E7O0FBTVI7RUFDSTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7O0FBRUE7RUFHSTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7OztBQUlBO0VBQ0k7OztBN0RqdEJKO0U2RHV0QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQUtJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBS0o7RUFDSTs7O0FBSVI7QUFBQTtBQUFBO0VBR0k7OztBQUtBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBN0RqeEJBO0U2RHF4QkE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7O0VBS0o7SUFDSTs7O0E3RGh6QlI7RTZEc3pCQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0k7SUFDSTs7RUFLSjtJQUNJOzs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0FBQUE7RUFFSTs7QUFFQTtBQUFBO0VBQ0k7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtBQUFBO0VBRUk7O0FBRUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNJOzs7QUFNSjtBQUFBO0VBQ0k7O0FBR0o7QUFBQTtFQUNJOztBQUVBO0FBQUE7RUFDSTs7QUFJUjtBQUFBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUVJO0VBQ0E7OztBQU1SO0VBQ0k7OztBQU1BO0VBQ0k7OztBQVNJO0VBQ0k7OztBQU9wQjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QTdEbmlDQTtFNkQyaUNBO0lBQ0k7OztBQUlSO0VBQ0k7OztBQU1BO0FBQUE7QUFBQTtFQUNJO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtF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QUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7O0FBSUk7QUFBQTtBQUFBO0VBRUk7RUFDQTs7QUFNSjtBQUFBO0FBQUE7RUFDSTtFQUNBOztBQUdKO0FBQUE7QUFBQTtFQUNJO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QS9FNUhBO0UrRWlJQTtBQUFBO0lBRUk7SUFDQTtJQUNBOzs7QUFJUjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7QUFBQTtFQUVJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFPSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFPSjtBQUFBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFFSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBT0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTs7O0FBS0E7QUFBQTtFQUNJOztBQUVBO0FBQUE7RUFDSTtFQUNBOzs7QUFLWjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTs7O0FBSUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7OztBQUlSO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNJOzs7QUFLSjtFQUNJOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFHSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTVI7RUFDSTtFQUNBOzs7QUFLSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QS9FNWJSO0UrRW1jSTtJQUNJO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOztFQU9KO0lBQ0k7O0VBR0o7SUFDSTs7RUFPSjtJQUNJO0lBQ0E7O0VBRUE7SUFDSTs7RUFNaEI7SUFDSTs7RUFJQTtJQUNJO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOztFQU1oQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTs7O0EvRTlmUjtFK0VzZ0JRO0lBQ0k7O0VBR0o7SUFDSTs7RUFNUjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7RUFHSjtJQUdJO0lBQ0E7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTs7O0FBTWhCO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTVI7RUFDSTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOzs7QUFJUjtBQUFBO0FBQUE7RUFHSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7OztBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBNENBO0VBQ0E7RUFDQTs7QUE1Q0E7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBR0k7O0FBTVI7RUFDSTs7QUFLSjtFQUNJO0VBQ0E7O0FBUVI7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7OztBL0V4eEJaO0UrRWl5QlE7SUFDSTtJQUNBOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTs7RUFRQTtJQUNJO0lBQ0E7O0VBRUE7SUFDSTs7RUFReEI7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFLSTtJQUNJO0lBQ0E7O0VBS1o7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQUtKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7O0EvRXA0Qko7RStFeTRCQTtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQUlBO0lBQ0k7SUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0EvRXg5Qko7RStFKzlCSTtJQUNJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0EvRXBrQ1o7RStFMmtDQTtJQUNJOztFQUlBO0lBQ0k7OztBQU9SO0FBQUE7RUFHSTtFQUNBOztBQVNKO0VBQ0k7RUFDQTs7O0FBSVI7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUNJOztBQUlSO0FBQUE7QUFBQTtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7OztBL0Uzb0NKO0UrRWlwQ0E7QUFBQTtJQUVJOztFQUVBO0FBQUE7QUFBQTtBQUFBO0lBRUk7O0VBRUE7QUFBQTtBQUFBO0FBQUE7SUFDSTs7RUFJUjtBQUFBO0FBQUE7QUFBQTtJQUVJO0lBQ0E7O0VBR0o7QUFBQTtBQUFBO0FBQUE7SUFFSTs7RUFJUjtJQUNJOzs7QUFLSjtFQUNJOztBQUlBO0VBQ0k7O0FBS0o7RUFDSTs7O0FBT1I7QUFBQTtFQUVJO0VBQ0E7OztBQUtKO0VBQ0k7OztBL0UvckNKO0UrRW9zQ0E7SUFDSTs7RUFFQTtBQUFBO0lBRUk7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTs7RUFJUjtJQUNJOztFQUdKO0lBQ0k7O0VBSVI7SUFDSTs7RUFLQTtBQUFBO0lBQ0k7O0VBSVI7SUFDSTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOzs7QUFLSjtFQUNJOzs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7OztBL0VwMkNBO0UrRXcyQ0E7SUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7OztBQUtaO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOzs7QUFJUjtFQUVRO0lBQ0k7SUFDQTs7O0FBTVI7RUFDSTtFQUNBOztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBUVo7QUFBQTtFQUNJOzs7QUFhUjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTs7O0FDdmlESjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBRUk7O0FBR0o7RUFDSTs7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztB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O0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRSIsImZpbGUiOiJ0ZW1wbGF0ZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHbG9iYWxcbiRuZW90ZXJpYy1jb250YWluZXItbWFpbi1iZzogICAgICAgIGhzbCgwLCAwJSwgOTUlKSAhZGVmYXVsdDtcbiRuZW90ZXJpYy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIGhzbCgyMTAsIDE0JSwgODklKSAhZGVmYXVsdDtcbiRuZW90ZXJpYy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDFweCAxcHggNHB4IGhzbGEoMCwgMCUsIDAlLCAuMSkgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtYmxvY2staGVhZGVyLWJnOiAgICAgICAgICBoc2woMCwgMCUsIDk2JSkgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtaGVhZGVyLWdyYWQ6ICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KSAwJSwgdmFyKC0tdGVtcGxhdGUtbGluay1ob3Zlci1jb2xvcikgMTAwJSkgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtaGVhZGVyLWdyYWQtcnRsOiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS10ZW1wbGF0ZS1saW5rLWhvdmVyLWNvbG9yKSAwJSwgdmFyKC0tbmVvdGVyaWMtY29sb3ItcHJpbWFyeSkgMTAwJSkgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtaW52ZXJ0ZWQtdGV4dC1jb2xvcjogICAgICB2YXIoLS10ZW1wbGF0ZS1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcblxuLy8gQ29sb3Igc3lzdGVtXG5cbi8vIFN0YW5kYXJkXG4kc3RhbmRhcmQtY29sb3ItcHJpbWFyeTogICAgICAgICAgICAgIGhzbCgyMjAsIDY3JSwgMjAlKSAhZGVmYXVsdDtcbiRzdGFuZGFyZC1jb2xvci1saW5rOiAgICAgICAgICAgICAgICAgaHNsKDIyMCwgNjclLCA0MCUpICFkZWZhdWx0O1xuJHN0YW5kYXJkLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgICBoc2woMjQyLCAzMCUsIDM2JSkgIWRlZmF1bHQ7XG5cbi8vIEFsdGVybmF0aXZlXG4kYWx0ZXJuYXRpdmUtY29sb3ItcHJpbWFyeTogICAgICAgICAgIGhzbCgzNTEsIDU0JSwgMzclKSAhZGVmYXVsdDtcbiRhbHRlcm5hdGl2ZS1jb2xvci1saW5rOiAgICAgICAgICAgICAgaHNsKDIwNywgNDklLCAzNyUpICFkZWZhdWx0O1xuJGFsdGVybmF0aXZlLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICBoc2woMzUxLCAzMyUsIDQ0JSkgIWRlZmF1bHQ7XG5cbiR3aGl0ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDAsIDAlLCAxMDAlKSAhZGVmYXVsdDtcbiRncmF5LTEwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIxMCwgMTclLCA5OCUpICFkZWZhdWx0O1xuJGdyYXktMjAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjEwLCAxNiUsIDkzJSkgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMTAsIDE0JSwgODklKSAhZGVmYXVsdDtcbiRncmF5LTQwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIxMCwgMTQlLCA4MyUpICFkZWZhdWx0O1xuJGdyYXktNTAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjEwLCAxMSUsIDcxJSkgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMTAsIDclLCA0NiUpICFkZWZhdWx0O1xuJGdyYXktNzAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjEwLCA5JSwgMzElKSAhZGVmYXVsdDtcbiRncmF5LTgwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIxMCwgMTAlLCAyMyUpICFkZWZhdWx0O1xuJGdyYXktOTAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjEwLCAxMSUsIDE1JSkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgwLCAwJSwgMCUpICFkZWZhdWx0O1xuXG4kZ3JheXM6IChcbiAgMTAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMTAwLFxuICAyMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAsXG4gIDMwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTMwMCxcbiAgNDAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwLFxuICA1MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS01MDAsXG4gIDYwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTYwMCxcbiAgNzAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwLFxuICA4MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS04MDAsXG4gIDkwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcblxuJGJsdWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjQwLCA5OCUsIDE3JSkgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyNjMsIDkwJSwgNTElKSAhZGVmYXVsdDtcbiRwdXJwbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDI2MSwgNTElLCA1MSUpICFkZWZhdWx0O1xuJHBpbms6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMzMyLCA3OSUsIDU4JSkgIWRlZmF1bHQ7XG4kcmVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgzLCA3NSUsIDM3JSkgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyNywgOTglLCA1NCUpICFkZWZhdWx0O1xuJHllbGxvdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMzQsIDEwMCUsIDM0JSkgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgxMjAsIDMyJSwgMzklKSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDE5NCwgNjYlLCA2MSUpICFkZWZhdWx0O1xuJGN5YW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjA3LCA0OSUsIDM3JSkgIWRlZmF1bHQ7XG5cbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5kaWdvLFxuICBcInB1cnBsZVwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlZCxcbiAgXCJvcmFuZ2VcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyZWVuLFxuICBcInRlYWxcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjeWFuLFxuICBcIndoaXRlXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZVxuKSAhZGVmYXVsdDtcblxuJHByaW1hcnk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKFxuICBwcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmx1ZSxcbiAgc2Vjb25kYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZGFyeSxcbiAgc3VjY2VzczogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN1Y2Nlc3MsXG4gIGluZm86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvLFxuICB3YXJuaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2FybmluZyxcbiAgZGFuZ2VyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRhbmdlcixcbiAgbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0LFxuICBkYXJrOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcblxuJGNvbG9yczogKFxuICBjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KSxcbiAgYmx1ZWdyYXk6ICAgICAgICAgICAgICAgICAgICAgICAgI2IyYmZjZCxcbiAgbGlnaHRibHVlZ3JheTogICAgICAgICAgICAgICAgICAgI2Y2ZjlmYyxcbiAgdG9vbGJhci1iZzogICAgICAgICAgICAgICAgICAgICAgJHdoaXRlLFxuICBzdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgICAgICB2YXIoLS1zdWNjZXNzKSxcbiAgaW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0taW5mbyksXG4gIHdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAgICAgIHZhcigtLXdhcm5pbmcpLFxuICBkYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICB2YXIoLS1kYW5nZXIpLFxuICBib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAsXG4gIFwid2hpdGVcIjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlLCAvLyB0aGUga2V5IGhlcmUgbXVzdCBiZSBpbiBxdW90ZXMgdG8gYXZvaWQgc2NzcyBjb21waWxhdGlvbiB3YXJuaW5ncy5cbiAgd2hpdGUtb2Zmc2V0OiAgICAgICAgICAgICAgICAgICAgI2ZlZmVmZSxcbiAgZm9jdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIzM5ZixcbiAgZm9jdXMtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgMCAwIDAgLjJyZW0gI2VhZWFlYSxcbiAgdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJHdoaXRlLCAvL3VzZWQgaW4gc2lkZWJhclxuKSAhZGVmYXVsdDtcblxuJHRlbXBsYXRlLWNvbG9yczogKFxuICB0ZW1wbGF0ZS1iZy1saWdodDogICAgICAgICAgICAgICAgICAgI2YwZjRmYiwgLy9saWdodCBiYWNrZ3JvdW5kIGNvbG9yLCBmcm9udGVuZCBkYXNoYm9hcmQgYmFja2dyb3VuZFxuICB0ZW1wbGF0ZS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICAgICAgJHdoaXRlLFxuICB0ZW1wbGF0ZS1zcGVjaWFsLWNvbG9yOiAgICAgICAgICAgICAgIzEzMmY1MyxcbiAgdGVtcGxhdGUtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICMyYTY5YjgsXG4gIHRlbXBsYXRlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICBkYXJrZW4oIzJhNjliOCwgMjAlKSxcbiAgdGVtcGxhdGUtY29udHJhc3Q6ICAgICAgICAgICAgICAgICAgICMyYTY5YjgsXG4gIHRlbXBsYXRlLWJnLWRhcms6ICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCAyMCUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTM6ICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgOTclKSxcbiAgdGVtcGxhdGUtYmctZGFyay01OiAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDk1JSksXG4gIHRlbXBsYXRlLWJnLWRhcmstNzogICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA5MyUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTEwOiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgOTAlKSxcbiAgdGVtcGxhdGUtYmctZGFyay0xNTogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDg1JSksXG4gIHRlbXBsYXRlLWJnLWRhcmstMjA6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA4MCUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTMwOiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgNzAlKSxcbiAgdGVtcGxhdGUtYmctZGFyay00MDogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDYwJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstNTA6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA1MCUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTYwOiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgNDAlKSxcbiAgdGVtcGxhdGUtYmctZGFyay02NTogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDM1JSksXG4gIHRlbXBsYXRlLWJnLWRhcmstNzA6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCAzMCUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTc1OiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgMjUlKSxcbiAgdGVtcGxhdGUtYmctZGFyay04MDogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDIwJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstOTA6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCAxMCUpLFxuKSAhZGVmYXVsdDtcblxuJGdyYXktdGV4dC1jb2xvcnM6IChcbiAgZ3JheS0xMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLXRleHQtaHVlLCAyMTApLCAxNyUsIDk4JSksXG4gIGdyYXktMjAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS10ZXh0LWh1ZSwgMjEwKSwgMTYlLCA5MyUpLFxuICBncmF5LTMwMDogICAgICAgICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dC1odWUsIDIxMCksIDE0JSwgODklKSxcbiAgZ3JheS00MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLXRleHQtaHVlLCAyMTApLCAxNCUsIDgzJSksXG4gIGdyYXktNTAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS10ZXh0LWh1ZSwgMjEwKSwgMTElLCA3MSUpLFxuICBncmF5LTYwMDogICAgICAgICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dC1odWUsIDIxMCksIDclLCA0NiUpLFxuICBncmF5LTcwMDogICAgICAgICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dC1odWUsIDIxMCksIDklLCAzMSUpLFxuICBncmF5LTgwMDogICAgICAgICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dC1odWUsIDIxMCksIDEwJSwgMjMlKSxcbiAgZ3JheS05MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLXRleHQtaHVlLCAyMTApLCAxMSUsIDE1JSksXG4gIHByaW1hcnk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpLFxuICBuZW90ZXJpYy1jb2xvci1wcmltYXJ5OiAgICAgICAgICAgICB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKSxcbikgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRzdGFuZGFyZC1jb2xvci1saW5rICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkc3RhbmRhcmQtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vIEJyZWFkY3J1bWJzXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuLy8gR3JpZCBjb2x1bW5zXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRuZW90ZXJpYy1ncmlkLWd1dHRlcjogICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLyBDb21wb25lbnRzXG4kZmEtZm9udC1wYXRoOiAgICAgICAgICAgICAgICAgICAgICAgIFwiLi4vLi4vLi4vbWVkaWEvdmVuZG9yL2ZvbnRhd2Vzb21lLWZyZWUvd2ViZm9udHNcIiAhZGVmYXVsdDtcblxuLy8gVHJlZXNlbGVjdFxuJHRyZWVzZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAyLjJyZW0gIWRlZmF1bHQ7XG5cbi8vIE1ldGlzTWVudVxuJG1ldGlzbWVudTogICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG4vLyBUb29sYmFyXG4kbmVvdGVyaWMtdG9vbGJhci1saW5lLWhlaWdodDogICAgICAgIDEuOHJlbSAhZGVmYXVsdDtcblxuLy8gVHlwb2dyYXBoeVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgICAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tbmVvdGVyaWMtZm9udC1mYW1pbHktYm9keSwgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAgICAgICAgICAxNHB4O1xuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgICAgICAgICB2YXIoLS1uZW90ZXJpYy1mb250LXdlaWdodC1ub3JtYWwsIDQwMCkgIWRlZmF1bHQ7XG5cbi8vIEljb25zXG4kamljb24tY3NzLXByZWZpeDogICAgICAgICAgICAgICAgICAgIGljb24gIWRlZmF1bHQ7XG4kZmEtY3NzLXByZWZpeDogICAgICAgICAgICAgICAgICAgICAgIGZhICFkZWZhdWx0O1xuXG4vLyBUYWJsZXNcbiR0YWJsZS1iZy1zY2FsZTogICAgICAgICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcblxuLy8gRm9ybXNcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAuNnJlbSAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuNnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgLjdyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgM3JlbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDExNnJlbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplLXNtOiAgICAgICAgICAgIDc1cmVtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiLi4vaW1hZ2VzL3NlbGVjdC1iZy5zdmdcIikgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXJ0bDogICAgICAgICB1cmwoXCIuLi9pbWFnZXMvc2VsZWN0LWJnLXJ0bC5zdmdcIikgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWFjdGl2ZTogICAgICB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvc2VsZWN0LWJnLnN2Z1wiKSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItYWN0aXZlLXJ0bDogIHVybChcIi4uLy4uLy4uL2ltYWdlcy9zZWxlY3QtYmctcnRsLnN2Z1wiKSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICRmb3JtLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0IGNlbnRlciAvICRmb3JtLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuJGZvcm0tc2VsZWN0LWJhY2tncm91bmQtcnRsOiAgICAgICAgJGZvcm0tc2VsZWN0LWluZGljYXRvci1ydGwgbm8tcmVwZWF0IGxlZnQgY2VudGVyIC8gJGZvcm0tc2VsZWN0LWJnLXNpemUgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG4kZm9ybS1zZWxlY3QtbXVsdGlwbGUtcGFkZGluZy15OiAgICAuM3JlbSAhZGVmYXVsdDtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuJHppbmRleC1uZWdhdGl2ZTogICAgICAgICAgICAgICAgICAgICAtMSAhZGVmYXVsdDtcbiR6aW5kZXgtYWN0aW9uczogICAgICAgICAgICAgICAgICAgICAgYXV0byAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbGJhcjogICAgICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc2lkZWJhcjogICAgICAgICAgICAgICAgICAgICAgMTAxMCAhZGVmYXVsdDtcbiR6aW5kZXgtaGVhZGVyOiAgICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtYWxlcnRzOiAgICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9iaWxlLWJvdHRvbTogICAgICAgICAgICAgICAgODAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9iaWxlLXRvZ2dsZTogICAgICAgICAgICAgICAgOTk5OSAhZGVmYXVsdDtcbiR6aW5kZXgtbW9iaWxlLW1lbnU6ICAgICAgICAgICAgICAgICAgOTAwMCAhZGVmYXVsdDtcblxuLy8gTmF2c1xuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gTmF2c1xuJG5lb3RlcmljLXRhYnMtaGVhZGVyLWJnOiAgICAgICAgICAgJG5lb3RlcmljLWJsb2NrLWhlYWRlci1iZyAhZGVmYXVsdDtcbiRuZW90ZXJpYy10YWJzLWFjdGl2ZS1iZzogICAgICAgICAgIGhzbGEoMCwgMCUsIDAlLCAuMykgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtdGFicy1hY3RpdmUtaGlnaGxpZ2h0OiAgICB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgIDEuNXJlbSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuXG4vLyBDYXJkc1xuJG5lb3RlcmljLWNhcmQtdGl0bGUtYmc6ICAgICAgICAgICAgJG5lb3RlcmljLWJsb2NrLWhlYWRlci1iZyAhZGVmYXVsdDtcbiRuZW90ZXJpYy1jYXJkLXRpdGxlLWljb24tYmc6ICAgICAgICRuZW90ZXJpYy1ibG9jay1oZWFkZXItYmcgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtY2FyZC10aXRsZS1pY29uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkbmVvdGVyaWMtY2FyZC10aXRsZS1iZywgJGxpZ2h0bmVzczogMiUpICFkZWZhdWx0O1xuJGNhcmQtYmctY29sb3ItbGlnaHQ6ICAgICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kY2FyZC1iZy1jb2xvci1kYXJrOiAgICAgICAgICAgICAgICAgIHZhcigtLW5lb3RlcmljLWNvbG9yLXByaW1hcnkpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkbmVvdGVyaWMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBCYWRnZXNcbiRiYWRnZS1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4vLyBNb2RhbHNcbiRtb2RhbC1oZWFkZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcblxuLy8gQWxlcnRzXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgJHN1Y2Nlc3MgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICAgIHNjYWxlLWNvbG9yKCRzdWNjZXNzLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGluZm8gIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIHNjYWxlLWNvbG9yKCRpbmZvLCAkbGlnaHRuZXNzOiAtNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgJHdhcm5pbmcgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgICAgIHNjYWxlLWNvbG9yKCR3YXJuaW5nLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgICAgJGRhbmdlciAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgc2NhbGUtY29sb3IoJGRhbmdlciwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcblxuLy8gTWFyayBlbGVtZW50XG4kbWFyay1iZzogI2ZiZWVhOCAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgMC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAgICAwLjJyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgICAgMC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgICAgICAgIDAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICAgICAgICAwLjNyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAgMCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6ICAwICFkZWZhdWx0O1xuLypcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiovXG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG5cbi8vIGNoYW5nZSBib3JkZXIgd2lkdGhcbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLWdyYXktNjAwKTtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgdmFyKC0tZ3JheS05MDApICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgdmFyKC0tZ3JheS04MDApICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tZ3JheS0yMDApICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgIHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpICFkZWZhdWx0OyIsIi8vIFV0aWxpdGllc1xuXG4vLyBLZWVwIEIvQ1xuLmVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG59XG5cbi5oaWRlLFxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnRhYmxlLXJvdyB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcbn1cblxuam9vbWxhLWFsZXJ0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmVkaXRvci14dGQtYnV0dG9ucyAuYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4kdXRpbGl0aWVzOiBtYXAtbWVyZ2UoXG4gICR1dGlsaXRpZXMsIChcbiAgICBcImluc2V0XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogaW5zZXQsXG4gICAgICBjbGFzczogaW5zZXQsXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZSgkc3BhY2VycywgKGF1dG86IGF1dG8pKVxuICAgIClcbiAgKVxuKTtcbiIsIkBtaXhpbiBic0Jhbm5lcigkZmlsZSkge1xuICAvKiFcbiAgICogQm9vdHN0cmFwICN7JGZpbGV9IHY1LjMuOCAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAgICogQ29weXJpZ2h0IDIwMTEtMjAyNSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAgICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gICAqL1xufVxuIiwiOnJvb3QsXG5bZGF0YS1icy10aGVtZT1cImxpZ2h0XCJdIHtcbiAgLy8gTm90ZTogQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG5cbiAgLy8gQ29sb3JzXG4gIC8vXG4gIC8vIEdlbmVyYXRlIHBhbGV0dGVzIGZvciBmdWxsIGNvbG9ycywgZ3JheXMsIGFuZCB0aGVtZSBjb2xvcnMuXG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZ3JheXMge1xuICAgIC0tI3skcHJlZml4fWdyYXktI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtcmdiIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS10ZXh0LWVtcGhhc2lzOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYm9yZGVyLXN1YnRsZTogI3skdmFsdWV9O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9d2hpdGUtcmdiOiAje3RvLXJnYigkd2hpdGUpfTtcbiAgLS0jeyRwcmVmaXh9YmxhY2stcmdiOiAje3RvLXJnYigkYmxhY2spfTtcblxuICAvLyBGb250c1xuXG4gIC8vIE5vdGU6IFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6ICN7JGdyYWRpZW50fTtcblxuICAvLyBSb290IGFuZCBib2R5XG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvZHktdmFyaWFibGVzXG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemU6ICN7JGZvbnQtc2l6ZS1yb290fTtcbiAgfVxuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5OiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LWJhc2UpfTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUtYmFzZSwgLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1iYXNlfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodDogI3skbGluZS1oZWlnaHQtYmFzZX07XG4gIEBpZiAkYm9keS10ZXh0LWFsaWduICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbjogI3skYm9keS10ZXh0LWFsaWdufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZ307XG4gIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZyl9O1xuXG4gIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvcil9O1xuXG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZ307XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZyl9O1xuXG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZ307XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmcpfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvZHktdmFyaWFibGVzXG5cbiAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3J9O1xuXG4gIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7JGxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9bGluay1kZWNvcmF0aW9uOiAjeyRsaW5rLWRlY29yYXRpb259O1xuXG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3IpfTtcblxuICBAaWYgJGxpbmstaG92ZXItZGVjb3JhdGlvbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWRlY29yYXRpb246ICN7JGxpbmstaG92ZXItZGVjb3JhdGlvbn07XG4gIH1cblxuICAtLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yOiAjeyRtYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnfTtcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib3JkZXItdmFyXG4gIC0tI3skcHJlZml4fWJvcmRlci13aWR0aDogI3skYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlOiAjeyRib3JkZXItc3R5bGV9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogI3skYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50fTtcblxuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbTogI3skYm9yZGVyLXJhZGl1cy1zbX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGc6ICN7JGJvcmRlci1yYWRpdXMtbGd9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXhsOiAjeyRib3JkZXItcmFkaXVzLXhsfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGw6ICN7JGJvcmRlci1yYWRpdXMteHhsfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy0yeGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bCk7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wIGZvciBjb25zaXN0ZW5jeVxuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXBpbGw6ICN7JGJvcmRlci1yYWRpdXMtcGlsbH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib3JkZXItdmFyXG5cbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdzogI3skYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctc206ICN7JGJveC1zaGFkb3ctc219O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnOiAjeyRib3gtc2hhZG93LWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldDogI3skYm94LXNoYWRvdy1pbnNldH07XG5cbiAgLy8gRm9jdXMgc3R5bGVzXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvY3VzLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXdpZHRoOiAjeyRmb2N1cy1yaW5nLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1vcGFjaXR5OiAjeyRmb2N1cy1yaW5nLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yOiAjeyRmb2N1cy1yaW5nLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvY3VzLXZhcmlhYmxlc1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvcjogI3skZm9ybS12YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaywgdHJ1ZSkge1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcblxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWRhcmstbW9kZS12YXJzXG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmctZGFyayl9O1xuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0LWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYm9yZGVyLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yOiAjeyRtYXJrLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZy1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogI3skYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50LWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvcjogI3skZm9ybS12YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kaW1lbnNpb24tbm8tbm9uLW51bWVyaWMtdmFsdWVzXG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgdmFsdWVzIGZvciBmb250IHNpemVzLCBwYWRkaW5ncywgbWFyZ2lucyBhbmQgbXVjaCBtb3JlXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi9tYWluL0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLXVuaXQgIT0gcmVtIGFuZCAkcmZzLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIHZhbHVlcyBzdGFydCBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSB2YWx1ZXMgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsICRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcHgge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtd2lkdGgsIG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LWhlaWdodCwgbWluLWhlaWdodCk7XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pLCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkgYW5kICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIDEpICogJHJmcy1yZW0tdmFsdWV9cHgsICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJHZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgaWYoJHVuaXQgPT0gcHgsIDEsIGRpdmlkZSgxLCAkcmZzLXJlbS12YWx1ZSkpKTtcblxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgYWJzKCR2YWx1ZSkgPD0gJHJmcy1iYXNlLXZhbHVlIG9yIG5vdCAkZW5hYmxlLXJmcyB7XG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZX1weCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1taW46ICRyZnMtYmFzZS12YWx1ZSArIGRpdmlkZShhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZS1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlLW1pbn1weCk7XG5cbiAgICAgICAgICAvLyBVc2UgbmVnYXRpdmUgdmFsdWUgaWYgbmVlZGVkXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHZhbHVlIDwgMCwgLSRtaW4td2lkdGgsICRtaW4td2lkdGgpO1xuXG4gICAgICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJHZhbHVlLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgICAgICAvLyBSZXR1cm4gdGhlIGNhbGN1bGF0ZWQgdmFsdWVcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgY2FsYyhcIiArICRtaW4td2lkdGggKyBpZigkdmFsdWUgPCAwLCBcIiAtIFwiLCBcIiArIFwiKSArICR2YXJpYWJsZS13aWR0aCArIFwiKVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZC12YWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWQtdmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWQtdmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJGZsdWlkLXZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLW1vZGUtbWl4aW5cbkBtaXhpbiBjb2xvci1tb2RlKCRtb2RlOiBsaWdodCwgJHJvb3Q6IGZhbHNlKSB7XG4gIEBpZiAkY29sb3ItbW9kZS10eXBlID09IFwibWVkaWEtcXVlcnlcIiB7XG4gICAgQGlmICRyb290ID09IHRydWUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogJG1vZGUpIHtcbiAgICAgICAgOnJvb3Qge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIFtkYXRhLWJzLXRoZW1lPVwiI3skbW9kZX1cIl0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLW1vZGUtbWl4aW5cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vLyBSb290XG4vL1xuLy8gQWJpbGl0eSB0byB0aGUgdmFsdWUgb2YgdGhlIHJvb3QgZm9udCBzaXplcywgYWZmZWN0aW5nIHRoZSB2YWx1ZSBvZiBgcmVtYC5cbi8vIG51bGwgYnkgZGVmYXVsdCwgdGh1cyBub3RoaW5nIGlzIGdlbmVyYXRlZC5cblxuOnJvb3Qge1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemUpKTtcbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXNtb290aC1zY3JvbGwge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuLy8gNC4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gIHRleHQtYWxpZ246IHZhcigtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAzXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA0XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlYm9vdC1ib2R5LXJ1bGVzXG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG5cbmhyIHtcbiAgbWFyZ2luOiAkaHItbWFyZ2luLXkgMDtcbiAgY29sb3I6ICRoci1jb2xvcjsgLy8gMVxuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbiAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG59XG5cblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIDEuIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vLyAgICBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gICAgbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuXG4laGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtc3R5bGU6ICRoZWFkaW5ncy1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xufVxuXG5oMSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbn1cblxuaDIge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG59XG5cbmgzIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xufVxuXG5oNCB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbn1cblxuaDUge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG59XG5cbmg2IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xufVxuXG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMi4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gMy4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAxXG4gIGN1cnNvcjogaGVscDsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDNcbn1cblxuXG4vLyBBZGRyZXNzXG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpc3RzXG5cbm9sLFxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG4vLyAxLiBVbmRvIGJyb3dzZXIgZGVmYXVsdFxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gMVxufVxuXG5cbi8vIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gU3Ryb25nXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG59XG5cblxuLy8gU21hbGxcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbn1cblxuXG4vLyBNYXJrXG5cbm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1oaWdobGlnaHQtYmcpO1xufVxuXG5cbi8vIFN1YiBhbmQgU3VwXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzdWItc3VwLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gICYsXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIENvZGVcblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWNvZGU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbi8vIDEuIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuLy8gMi4gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbi8vIDMuIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAxcmVtOyAvLyAyXG4gIG92ZXJmbG93OiBhdXRvOyAvLyAzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jb2RlLWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICB9XG59XG5cblxuLy8gRmlndXJlc1xuLy9cbi8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcblxuaW1nLFxuc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG5cbnRhYmxlIHtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZy15O1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG50aGVhZCxcbnRib2R5LFxudGZvb3QsXG50cixcbnRkLFxudGgge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuXG4vLyBGb3Jtc1xuLy9cbi8vIDEuIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5cbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwNTYyXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuc2VsZWN0IHtcbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB3b3JkLXdyYXAgaW4gU2FmYXJpLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuICB3b3JkLXdyYXA6IG5vcm1hbDtcblxuICAvLyBVbmRvIHRoZSBvcGFjaXR5IGNoYW5nZSBmcm9tIENocm9tZVxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIFJlbW92ZSB0aGUgZHJvcGRvd24gYXJyb3cgb25seSBmcm9tIHRleHQgdHlwZSBpbnB1dHMgYnVpbHQgd2l0aCBkYXRhbGlzdHMgaW4gQ2hyb21lLlxuLy8gU2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81NDk5NzExOFxuXG5bbGlzdF06bm90KFt0eXBlPVwiZGF0ZVwiXSk6bm90KFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0pOm5vdChbdHlwZT1cIm1vbnRoXCJdKTpub3QoW3R5cGU9XCJ3ZWVrXCJdKTpub3QoW3R5cGU9XCJ0aW1lXCJdKTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAzLiBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcblxuICBAaWYgJGVuYWJsZS1idXR0b24tcG9pbnRlcnMge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vLyAxLiBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgLy8gMVxufVxuXG4vLyAxLiBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuLy8gICAgdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4vLyAgICBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4vLyAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuLy8gICAgYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuLy8gMi4gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAyXG4gIGJvcmRlcjogMDsgLy8gMlxufVxuXG4vLyAxLiBCeSB1c2luZyBgZmxvYXQ6IGxlZnRgLCB0aGUgbGVnZW5kIHdpbGwgYmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50LlxuLy8gICAgVGhpcyB3YXkgdGhlIGJvcmRlciBvZiBhIGZpZWxkc2V0IHdyYXBzIGFyb3VuZCB0aGUgbGVnZW5kIGlmIHByZXNlbnQuXG4vLyAyLiBGaXggd3JhcHBpbmcgYnVnLlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjk3MTJcblxubGVnZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7IC8vIDFcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRsZWdlbmQtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlZ2VuZC1mb250LXNpemUpO1xuXG4gICsgKiB7XG4gICAgY2xlYXI6IGxlZnQ7IC8vIDJcbiAgfVxufVxuXG4vLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4ODQyXG5cbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQge1xuICBwYWRkaW5nOiAwO1xufVxuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIDEuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbi8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG5cbiAgLy8gMy4gQmV0dGVyIGFmZm9yZGFuY2UgYW5kIGNvbnNpc3RlbnQgYXBwZWFyYW5jZSBmb3Igc2VhcmNoIGNhbmNlbCBidXR0b25cbiAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICB9XG59XG5cbi8vIDEuIEEgZmV3IGlucHV0IHR5cGVzIHNob3VsZCBzdGF5IExUUlxuLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcbi8vIDIuIFJUTCBvbmx5IG91dHB1dFxuLy8gU2VlIGh0dHBzOi8vcnRsY3NzLmNvbS9sZWFybi91c2FnZS1ndWlkZS9jb250cm9sLWRpcmVjdGl2ZXMvI3Jhd1xuXG4vKiBydGw6cmF3OlxuW3R5cGU9XCJ0ZWxcIl0sXG5bdHlwZT1cInVybFwiXSxcblt0eXBlPVwiZW1haWxcIl0sXG5bdHlwZT1cIm51bWJlclwiXSB7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuKi9cblxuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIFJlbW92ZSBwYWRkaW5nIGFyb3VuZCBjb2xvciBwaWNrZXJzIGluIHdlYmtpdCBicm93c2Vyc1xuXG46Oi13ZWJraXQtY29sb3Itc3dhdGNoLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG5cbi8vIDEuIEluaGVyaXQgZm9udCBmYW1pbHkgYW5kIGxpbmUgaGVpZ2h0IGZvciBmaWxlIGlucHV0IGJ1dHRvbnNcbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAxXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIFJlbW92ZSBib3JkZXIgZnJvbSBpZnJhbWVcblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBTdW1tYXJ5XG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIDFcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vIFByb2dyZXNzXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblxuLy8gSGlkZGVuIGF0dHJpYnV0ZVxuLy9cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUuXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9ycy1tYXBcbiRncmF5czogKFxuICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgXCIzMDBcIjogJGdyYXktMzAwLFxuICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgXCI2MDBcIjogJGdyYXktNjAwLFxuICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgXCI5MDBcIjogJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9ycy1tYXBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlOiAgICAjMGQ2ZWZkICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZDYzMzg0ICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMxOTg3NTQgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMGRjYWYwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9ycy1tYXBcbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwiYmxhY2tcIjogICAgICAkYmxhY2ssXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9ycy1tYXBcblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjIgYXJlIDMsIDQuNSBhbmQgNy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRy8jY29udHJhc3QtbWluaW11bVxuJG1pbi1jb250cmFzdC1yYXRpbzogICA0LjUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4kY29sb3ItY29udHJhc3QtZGFyazogICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGJsdWUtMTAwOiB0aW50LWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuJGJsdWUtMjAwOiB0aW50LWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtMzAwOiB0aW50LWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtNDAwOiB0aW50LWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAkYmx1ZSAhZGVmYXVsdDtcbiRibHVlLTYwMDogc2hhZGUtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS03MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtODAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTkwMDogc2hhZGUtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRpbmRpZ28tMTAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTIwMDogdGludC1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby0zMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTUwMDogJGluZGlnbyAhZGVmYXVsdDtcbiRpbmRpZ28tNjAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby03MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTgwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tOTAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuXG4kcHVycGxlLTEwMDogdGludC1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0yMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTQwMDogdGludC1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS01MDA6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kcHVycGxlLTYwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNzAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS04MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTkwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcblxuJHBpbmstMTAwOiB0aW50LWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuJHBpbmstMjAwOiB0aW50LWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstMzAwOiB0aW50LWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstNDAwOiB0aW50LWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNTAwOiAkcGluayAhZGVmYXVsdDtcbiRwaW5rLTYwMDogc2hhZGUtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay03MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstODAwOiBzaGFkZS1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTkwMDogc2hhZGUtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG5cbiRyZWQtMTAwOiB0aW50LWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG4kcmVkLTIwMDogdGludC1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC0zMDA6IHRpbnQtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtNDAwOiB0aW50LWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTUwMDogJHJlZCAhZGVmYXVsdDtcbiRyZWQtNjAwOiBzaGFkZS1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC03MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTgwMDogc2hhZGUtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtOTAwOiBzaGFkZS1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuXG4kb3JhbmdlLTEwMDogdGludC1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMzAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTQwMDogdGludC1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICRvcmFuZ2UgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcblxuJHllbGxvdy0xMDA6IHRpbnQtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMjAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTMwMDogdGludC1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy00MDA6IHRpbnQtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNTAwOiAkeWVsbG93ICFkZWZhdWx0O1xuJHllbGxvdy02MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTcwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctODAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy05MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG5cbiRncmVlbi0xMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuJGdyZWVuLTIwMDogdGludC1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiB0aW50LWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi00MDA6IHRpbnQtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTUwMDogJGdyZWVuICFkZWZhdWx0O1xuJGdyZWVuLTYwMDogc2hhZGUtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTgwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTkwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuXG4kdGVhbC0xMDA6IHRpbnQtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG4kdGVhbC0yMDA6IHRpbnQtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC0zMDA6IHRpbnQtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC00MDA6IHRpbnQtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC01MDA6ICR0ZWFsICFkZWZhdWx0O1xuJHRlYWwtNjAwOiBzaGFkZS1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTcwMDogc2hhZGUtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC04MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtOTAwOiBzaGFkZS1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcblxuJGN5YW4tMTAwOiB0aW50LWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuJGN5YW4tMjAwOiB0aW50LWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tMzAwOiB0aW50LWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tNDAwOiB0aW50LWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNTAwOiAkY3lhbiAhZGVmYXVsdDtcbiRjeWFuLTYwMDogc2hhZGUtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi03MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tODAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTkwMDogc2hhZGUtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiRibHVlczogKFxuICBcImJsdWUtMTAwXCI6ICRibHVlLTEwMCxcbiAgXCJibHVlLTIwMFwiOiAkYmx1ZS0yMDAsXG4gIFwiYmx1ZS0zMDBcIjogJGJsdWUtMzAwLFxuICBcImJsdWUtNDAwXCI6ICRibHVlLTQwMCxcbiAgXCJibHVlLTUwMFwiOiAkYmx1ZS01MDAsXG4gIFwiYmx1ZS02MDBcIjogJGJsdWUtNjAwLFxuICBcImJsdWUtNzAwXCI6ICRibHVlLTcwMCxcbiAgXCJibHVlLTgwMFwiOiAkYmx1ZS04MDAsXG4gIFwiYmx1ZS05MDBcIjogJGJsdWUtOTAwXG4pICFkZWZhdWx0O1xuXG4kaW5kaWdvczogKFxuICBcImluZGlnby0xMDBcIjogJGluZGlnby0xMDAsXG4gIFwiaW5kaWdvLTIwMFwiOiAkaW5kaWdvLTIwMCxcbiAgXCJpbmRpZ28tMzAwXCI6ICRpbmRpZ28tMzAwLFxuICBcImluZGlnby00MDBcIjogJGluZGlnby00MDAsXG4gIFwiaW5kaWdvLTUwMFwiOiAkaW5kaWdvLTUwMCxcbiAgXCJpbmRpZ28tNjAwXCI6ICRpbmRpZ28tNjAwLFxuICBcImluZGlnby03MDBcIjogJGluZGlnby03MDAsXG4gIFwiaW5kaWdvLTgwMFwiOiAkaW5kaWdvLTgwMCxcbiAgXCJpbmRpZ28tOTAwXCI6ICRpbmRpZ28tOTAwXG4pICFkZWZhdWx0O1xuXG4kcHVycGxlczogKFxuICBcInB1cnBsZS0xMDBcIjogJHB1cnBsZS0xMDAsXG4gIFwicHVycGxlLTIwMFwiOiAkcHVycGxlLTIwMCxcbiAgXCJwdXJwbGUtMzAwXCI6ICRwdXJwbGUtMzAwLFxuICBcInB1cnBsZS00MDBcIjogJHB1cnBsZS00MDAsXG4gIFwicHVycGxlLTUwMFwiOiAkcHVycGxlLTUwMCxcbiAgXCJwdXJwbGUtNjAwXCI6ICRwdXJwbGUtNjAwLFxuICBcInB1cnBsZS03MDBcIjogJHB1cnBsZS03MDAsXG4gIFwicHVycGxlLTgwMFwiOiAkcHVycGxlLTgwMCxcbiAgXCJwdXJwbGUtOTAwXCI6ICRwdXJwbGUtOTAwXG4pICFkZWZhdWx0O1xuXG4kcGlua3M6IChcbiAgXCJwaW5rLTEwMFwiOiAkcGluay0xMDAsXG4gIFwicGluay0yMDBcIjogJHBpbmstMjAwLFxuICBcInBpbmstMzAwXCI6ICRwaW5rLTMwMCxcbiAgXCJwaW5rLTQwMFwiOiAkcGluay00MDAsXG4gIFwicGluay01MDBcIjogJHBpbmstNTAwLFxuICBcInBpbmstNjAwXCI6ICRwaW5rLTYwMCxcbiAgXCJwaW5rLTcwMFwiOiAkcGluay03MDAsXG4gIFwicGluay04MDBcIjogJHBpbmstODAwLFxuICBcInBpbmstOTAwXCI6ICRwaW5rLTkwMFxuKSAhZGVmYXVsdDtcblxuJHJlZHM6IChcbiAgXCJyZWQtMTAwXCI6ICRyZWQtMTAwLFxuICBcInJlZC0yMDBcIjogJHJlZC0yMDAsXG4gIFwicmVkLTMwMFwiOiAkcmVkLTMwMCxcbiAgXCJyZWQtNDAwXCI6ICRyZWQtNDAwLFxuICBcInJlZC01MDBcIjogJHJlZC01MDAsXG4gIFwicmVkLTYwMFwiOiAkcmVkLTYwMCxcbiAgXCJyZWQtNzAwXCI6ICRyZWQtNzAwLFxuICBcInJlZC04MDBcIjogJHJlZC04MDAsXG4gIFwicmVkLTkwMFwiOiAkcmVkLTkwMFxuKSAhZGVmYXVsdDtcblxuJG9yYW5nZXM6IChcbiAgXCJvcmFuZ2UtMTAwXCI6ICRvcmFuZ2UtMTAwLFxuICBcIm9yYW5nZS0yMDBcIjogJG9yYW5nZS0yMDAsXG4gIFwib3JhbmdlLTMwMFwiOiAkb3JhbmdlLTMwMCxcbiAgXCJvcmFuZ2UtNDAwXCI6ICRvcmFuZ2UtNDAwLFxuICBcIm9yYW5nZS01MDBcIjogJG9yYW5nZS01MDAsXG4gIFwib3JhbmdlLTYwMFwiOiAkb3JhbmdlLTYwMCxcbiAgXCJvcmFuZ2UtNzAwXCI6ICRvcmFuZ2UtNzAwLFxuICBcIm9yYW5nZS04MDBcIjogJG9yYW5nZS04MDAsXG4gIFwib3JhbmdlLTkwMFwiOiAkb3JhbmdlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHllbGxvd3M6IChcbiAgXCJ5ZWxsb3ctMTAwXCI6ICR5ZWxsb3ctMTAwLFxuICBcInllbGxvdy0yMDBcIjogJHllbGxvdy0yMDAsXG4gIFwieWVsbG93LTMwMFwiOiAkeWVsbG93LTMwMCxcbiAgXCJ5ZWxsb3ctNDAwXCI6ICR5ZWxsb3ctNDAwLFxuICBcInllbGxvdy01MDBcIjogJHllbGxvdy01MDAsXG4gIFwieWVsbG93LTYwMFwiOiAkeWVsbG93LTYwMCxcbiAgXCJ5ZWxsb3ctNzAwXCI6ICR5ZWxsb3ctNzAwLFxuICBcInllbGxvdy04MDBcIjogJHllbGxvdy04MDAsXG4gIFwieWVsbG93LTkwMFwiOiAkeWVsbG93LTkwMFxuKSAhZGVmYXVsdDtcblxuJGdyZWVuczogKFxuICBcImdyZWVuLTEwMFwiOiAkZ3JlZW4tMTAwLFxuICBcImdyZWVuLTIwMFwiOiAkZ3JlZW4tMjAwLFxuICBcImdyZWVuLTMwMFwiOiAkZ3JlZW4tMzAwLFxuICBcImdyZWVuLTQwMFwiOiAkZ3JlZW4tNDAwLFxuICBcImdyZWVuLTUwMFwiOiAkZ3JlZW4tNTAwLFxuICBcImdyZWVuLTYwMFwiOiAkZ3JlZW4tNjAwLFxuICBcImdyZWVuLTcwMFwiOiAkZ3JlZW4tNzAwLFxuICBcImdyZWVuLTgwMFwiOiAkZ3JlZW4tODAwLFxuICBcImdyZWVuLTkwMFwiOiAkZ3JlZW4tOTAwXG4pICFkZWZhdWx0O1xuXG4kdGVhbHM6IChcbiAgXCJ0ZWFsLTEwMFwiOiAkdGVhbC0xMDAsXG4gIFwidGVhbC0yMDBcIjogJHRlYWwtMjAwLFxuICBcInRlYWwtMzAwXCI6ICR0ZWFsLTMwMCxcbiAgXCJ0ZWFsLTQwMFwiOiAkdGVhbC00MDAsXG4gIFwidGVhbC01MDBcIjogJHRlYWwtNTAwLFxuICBcInRlYWwtNjAwXCI6ICR0ZWFsLTYwMCxcbiAgXCJ0ZWFsLTcwMFwiOiAkdGVhbC03MDAsXG4gIFwidGVhbC04MDBcIjogJHRlYWwtODAwLFxuICBcInRlYWwtOTAwXCI6ICR0ZWFsLTkwMFxuKSAhZGVmYXVsdDtcblxuJGN5YW5zOiAoXG4gIFwiY3lhbi0xMDBcIjogJGN5YW4tMTAwLFxuICBcImN5YW4tMjAwXCI6ICRjeWFuLTIwMCxcbiAgXCJjeWFuLTMwMFwiOiAkY3lhbi0zMDAsXG4gIFwiY3lhbi00MDBcIjogJGN5YW4tNDAwLFxuICBcImN5YW4tNTAwXCI6ICRjeWFuLTUwMCxcbiAgXCJjeWFuLTYwMFwiOiAkY3lhbi02MDAsXG4gIFwiY3lhbi03MDBcIjogJGN5YW4tNzAwLFxuICBcImN5YW4tODAwXCI6ICRjeWFuLTgwMCxcbiAgXCJjeWFuLTkwMFwiOiAkY3lhbi05MDBcbikgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmtcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtdmFyaWFibGVzXG4kcHJpbWFyeS10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzOiBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkc3VjY2VzcywgNjAlKSAhZGVmYXVsdDtcbiRpbmZvLXRleHQtZW1waGFzaXM6ICAgICAgc2hhZGUtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci10ZXh0LWVtcGhhc2lzOiAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA2MCUpICFkZWZhdWx0O1xuJGxpZ2h0LXRleHQtZW1waGFzaXM6ICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kZGFyay10ZXh0LWVtcGhhc2lzOiAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgODAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlOiAgICAgdGludC1jb2xvcigkc2Vjb25kYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRzdWNjZXNzLCA4MCUpICFkZWZhdWx0O1xuJGluZm8tYmctc3VidGxlOiAgICAgICAgICB0aW50LWNvbG9yKCRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCR3YXJuaW5nLCA4MCUpICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGU6ICAgICAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDgwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYmctc3VidGxlOiAgICAgICAgIG1peCgkZ3JheS0xMDAsICR3aGl0ZSkgIWRlZmF1bHQ7XG4kZGFyay1iZy1zdWJ0bGU6ICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkcHJpbWFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZTogdGludC1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tYm9yZGVyLXN1YnRsZTogICAgICB0aW50LWNvbG9yKCRpbmZvLCA2MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlOiAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYm9yZGVyLXN1YnRsZTogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkYXJrLWJvcmRlci1zdWJ0bGU6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuJGVuYWJsZS1kYXJrLW1vZGU6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRjb2xvci1tb2RlLXR5cGU6ICAgICAgICAgICAgIGRhdGEgIWRlZmF1bHQ7IC8vIGBkYXRhYCBvciBgbWVkaWEtcXVlcnlgXG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuXG4kdmFyaWFibGUtcHJlZml4OiAgICAgICAgICAgICBicy0gIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wIGZvciB0aGUgc2hvcnRlciBgJHByZWZpeGBcbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZS1wcmVmaXggIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50XG4vL1xuLy8gVGhlIGdyYWRpZW50IHdoaWNoIGlzIGFkZGVkIHRvIGNvbXBvbmVudHMgaWYgYCRlbmFibGUtZ3JhZGllbnRzYCBpcyBgdHJ1ZWBcbi8vIFRoaXMgZ3JhZGllbnQgaXMgYWxzbyBhZGRlZCB0byBlbGVtZW50cyB3aXRoIGAuYmctZ3JhZGllbnRgXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdmFyaWFibGUtZ3JhZGllbnRcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsIC4xNSksIHJnYmEoJHdoaXRlLCAwKSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZhcmlhYmxlLWdyYWRpZW50XG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwYWNlci12YXJpYWJsZXMtbWFwc1xuXG4vLyBQb3NpdGlvblxuLy9cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3NpdGlvbi1tYXBcbiRwb3NpdGlvbi12YWx1ZXM6IChcbiAgMDogMCxcbiAgNTA6IDUwJSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3NpdGlvbi1tYXBcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9keS10ZXJ0aWFyeS1jb2xvcjogICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmc6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGJvZHktZW1waGFzaXMtY29sb3I6ICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBJY29uIGxpbmtzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaWNvbi1saW5rLXZhcmlhYmxlc1xuJGljb24tbGluay1nYXA6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDogIC4yNWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXNpemU6ICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zaXRpb246ICAgLjJzIGVhc2UtaW4tb3V0IHRyYW5zZm9ybSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm06ICAgIHRyYW5zbGF0ZTNkKC4yNWVtLCAwLCAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaWNvbi1saW5rLXZhcmlhYmxlc1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBwYWRkaW5nXG5cbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGhzOiAoXG4gIDE6IDFweCxcbiAgMjogMnB4LFxuICAzOiAzcHgsXG4gIDQ6IDRweCxcbiAgNTogNXB4XG4pICFkZWZhdWx0O1xuJGJvcmRlci1zdHlsZTogICAgICAgICAgICAgICAgc29saWQgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAgICByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHhsOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXBpbGw6ICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuLy8gZnVzdi1kaXNhYmxlXG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy14eGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuJGZvY3VzLXJpbmctd2lkdGg6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctb3BhY2l0eTogICAgLjI1ICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctY29sb3I6ICAgICAgcmdiYSgkcHJpbWFyeSwgJGZvY3VzLXJpbmctb3BhY2l0eSkgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ibHVyOiAgICAgICAwICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYm94LXNoYWRvdzogMCAwICRmb2N1cy1yaW5nLWJsdXIgJGZvY3VzLXJpbmctd2lkdGggJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvY3VzLXJpbmctdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC12YXJpYWJsZXNcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LXZhcmlhYmxlc1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS10cmFuc2l0aW9uXG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS10cmFuc2l0aW9uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFzcGVjdC1yYXRpb3NcbiRhc3BlY3QtcmF0aW9zOiAoXG4gIFwiMXgxXCI6IDEwMCUsXG4gIFwiNHgzXCI6IGNhbGMoMyAvIDQgKiAxMDAlKSxcbiAgXCIxNng5XCI6IGNhbGMoOSAvIDE2ICogMTAwJSksXG4gIFwiMjF4OVwiOiBjYWxjKDkgLyAyMSAqIDEwMCUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhc3BlY3QtcmF0aW9zXG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXZhcmlhYmxlc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvZGU6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGFmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBhbmQgbWFyZ2luc1xuLy8gJGZvbnQtc2l6ZS1iYXNlIGFmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1tZWRpdW06ICAgICAgICAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICAgICAgIDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtc2l6ZXNcbiRmb250LXNpemVzOiAoXG4gIDE6ICRoMS1mb250LXNpemUsXG4gIDI6ICRoMi1mb250LXNpemUsXG4gIDM6ICRoMy1mb250LXNpemUsXG4gIDQ6ICRoNC1mb250LXNpemUsXG4gIDU6ICRoNS1mb250LXNpemUsXG4gIDY6ICRoNi1mb250LXNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtc2l6ZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXN0eWxlOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkaW5ncy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRpc3BsYXktaGVhZGluZ3NcbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXN0eWxlOiAgbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkaXNwbGF5LWhlYWRpbmdzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0eXBlLXZhcmlhYmxlc1xuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kc3ViLXN1cC1mb250LXNpemU6ICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjMuMFxuLy8gZnVzdi1lbmFibGVcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogICAgICAgICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB2ci12YXJpYWJsZXNcbiR2ci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2ci12YXJpYWJsZXNcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXg6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ246ICAgdG9wICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLWNvbG9yOiAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcjogICAgIC4wNSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmctZmFjdG9yOiAgICAgICAuMDc1ICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItZmFjdG9yOiAgICAgICAgIC4yICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcjogZXZlbiAhZGVmYXVsdDtcblxuJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjogY3VycmVudGNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLXNjYWxlOiAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS1sb29wXG4kdGFibGUtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgIHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInNlY29uZGFyeVwiOiAgc2hpZnQtY29sb3IoJHNlY29uZGFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzdWNjZXNzXCI6ICAgIHNoaWZ0LWNvbG9yKCRzdWNjZXNzLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImluZm9cIjogICAgICAgc2hpZnQtY29sb3IoJGluZm8sICR0YWJsZS1iZy1zY2FsZSksXG4gIFwid2FybmluZ1wiOiAgICBzaGlmdC1jb2xvcigkd2FybmluZywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJkYW5nZXJcIjogICAgIHNoaWZ0LWNvbG9yKCRkYW5nZXIsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFyayxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLWxvb3BcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWJ0bi12YXJpYWJsZXNcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgICAgJGZvY3VzLXJpbmctd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHk6ICRmb2N1cy1yaW5nLW9wYWNpdHkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICAgICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAkZm9jdXMtcmluZy1ibHVyICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1idG4tdmFyaWFibGVzXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhYmxlc1xuJGJ0bi1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2I6ICAgdG8tcmdiKG1peChjb2xvci1jb250cmFzdCgkbGluay1jb2xvciksICRsaW5rLWNvbG9yLCAxNSUpKSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tbGFiZWwtdmFyaWFibGVzXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNTAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAyKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1jb2xvci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1pbnB1dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tY2hlY2stdmFyaWFibGVzXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogICAgICAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ6ICAgICAgICAgICAgICAgICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC41ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1jaGVjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuJGZvcm0tc3dpdGNoLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0OiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWltYWdlOiAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzOiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbjogICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZTogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlOiAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uOiByaWdodCBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc206ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZzogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC10cmFuc2l0aW9uOiAgICAgICAgICAkaW5wdXQtdHJhbnNpdGlvbiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIEVkZ2VcbiRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA3MCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICAgICAgICBhZGQoMy41cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ6ICAgICAgICAgMS42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDogICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6ICAgICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICAgICAgICAgc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcbiRmb3JtLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvciksXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpLFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtbGV2ZWxzLW1hcFxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoLTEgKiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjNcbi8vIGZ1c3YtZW5hYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tdmFyaWFibGVzXG5cbi8vIFRvb2x0aXBzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLXZhcmlhYmxlc1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFRPRE86IHJlbW92ZSB0aGlzIGluIHY2XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4vLyBmdXN2LWVuYWJsZVxuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcblxuXG4vLyBQb3BvdmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci12YXJpYWJsZXNcbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBjYWxjKCN7JHBvcG92ZXItYm9yZGVyLXJhZGl1c30gLSAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cblxuLy8gVG9hc3RzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC12YXJpYWJsZXNcbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG4kdG9hc3Qtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkdG9hc3QtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC12YXJpYWJsZXNcblxuXG4vLyBCYWRnZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLXZhcmlhYmxlc1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4zNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjY1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJhZGdlLXZhcmlhYmxlc1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtdmFyaWFibGVzXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtdmFyaWFibGVzXG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLXZhcmlhYmxlc1xuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtdmFyaWFibGVzXG5cblxuLy8gTGlzdCBncm91cFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyOiAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDAnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNNC42NDYgMS42NDZhLjUuNSAwIDAgMSAuNzA4IDBsNiA2YS41LjUgMCAwIDEgMCAuNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4LS43MDhMMTAuMjkzIDggNC42NDYgMi4zNTRhLjUuNSAwIDAgMSAwLS43MDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuNFxuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjRcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy40XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZpbHRlcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjRcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuQGltcG9ydCBcInZhcmlhYmxlcy1kYXJrXCI7IC8vIFRPRE86IGNhbiBiZSByZW1vdmVkIHNhZmVseSBpbiB2Niwgb25seSBoZXJlIHRvIGF2b2lkIGJyZWFraW5nIGNoYW5nZXMgaW4gdjUuM1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiLy9cbi8vIEhlYWRpbmdzXG4vL1xuLmgxIHtcbiAgQGV4dGVuZCBoMTtcbn1cblxuLmgyIHtcbiAgQGV4dGVuZCBoMjtcbn1cblxuLmgzIHtcbiAgQGV4dGVuZCBoMztcbn1cblxuLmg0IHtcbiAgQGV4dGVuZCBoNDtcbn1cblxuLmg1IHtcbiAgQGV4dGVuZCBoNTtcbn1cblxuLmg2IHtcbiAgQGV4dGVuZCBoNjtcbn1cblxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG5AZWFjaCAkZGlzcGxheSwgJGZvbnQtc2l6ZSBpbiAkZGlzcGxheS1mb250LXNpemVzIHtcbiAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZGlzcGxheS1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkZGlzcGxheS1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICB9XG59XG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cbi5zbWFsbCB7XG4gIEBleHRlbmQgc21hbGw7XG59XG5cbi5tYXJrIHtcbiAgQGV4dGVuZCBtYXJrO1xufVxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbml0aWFsaXNtLWZvbnQtc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IC0kYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtY29udGFpbmVyLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIG1peGluc1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGNvbnRhaW5lci1wYWRkaW5nLXgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG46cm9vdCB7XG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tI3skcHJlZml4fWJyZWFrcG9pbnQtI3skbmFtZX06ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gICAgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlciBvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRjb3VudCkpO1xuICB9XG59XG5cbi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgIH1cblxuICAgICAgLnJvdy1jb2xzI3skaW5maXh9LWF1dG8gPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICAvL1xuICAgICAgLy8gTWFrZSB1c2Ugb2YgYC5nLSpgLCBgLmd4LSpgIG9yIGAuZ3ktKmAgdXRpbGl0aWVzIHRvIGNoYW5nZSBzcGFjaW5nIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGd1dHRlcnMge1xuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3gjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neSN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNzc2dyaWQoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmctY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB3aXRoIGAxYCBiZWNhdXNlIGAwYCBpcyBhbiBpbnZhbGlkIHZhbHVlLlxuICAgICAgICAvLyBFbmRzIHdpdGggYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlLlxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICAuZy1zdGFydCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICAvLyBSZXNldCBuZWVkZWQgZm9yIG5lc3RpbmcgdGFibGVzXG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogaW5pdGlhbDtcbiAgLy8gRW5kIG9mIHJlc2V0XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyR0YWJsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyR0YWJsZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnOiAjeyR0YWJsZS1hY2NlbnQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAjeyR0YWJsZS1zdHJpcGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skdGFibGUtc3RyaXBlZC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3skdGFibGUtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyR0YWJsZS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3skdGFibGUtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skdGFibGUtaG92ZXItYmd9O1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB2ZXJ0aWNhbC1hbGlnbjogJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ247XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG5cbiAgLy8gVGFyZ2V0IHRoICYgdGRcbiAgLy8gV2UgbmVlZCB0aGUgY2hpbGQgY29tYmluYXRvciB0byBwcmV2ZW50IHN0eWxlcyBsZWFraW5nIHRvIG5lc3RlZCB0YWJsZXMgd2hpY2ggZG9lc24ndCBoYXZlIGEgYC50YWJsZWAgY2xhc3MuXG4gIC8vIFdlIHVzZSB0aGUgdW5pdmVyc2FsIHNlbGVjdG9ycyBoZXJlIHRvIHNpbXBsaWZ5IHRoZSBzZWxlY3RvciAoZWxzZSB3ZSB3b3VsZCBuZWVkIDYgZGlmZmVyZW50IHNlbGVjdG9ycykuXG4gIC8vIEFub3RoZXIgYWR2YW50YWdlIGlzIHRoYXQgdGhpcyBnZW5lcmF0ZXMgbGVzcyBjb2RlIGFuZCBtYWtlcyB0aGUgc2VsZWN0b3IgbGVzcyBzcGVjaWZpYyBtYWtpbmcgaXQgZWFzaWVyIHRvIG92ZXJyaWRlLlxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15ICR0YWJsZS1jZWxsLXBhZGRpbmcteDtcbiAgICAvLyBGb2xsb3dpbmcgdGhlIHByZWNlcHQgb2YgY2FzY2FkZXM6IGh0dHBzOi8vY29kZXBlbi5pby9taXJpYW1zdXphbm5lL2Z1bGwvdllOZ29kYlxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OTlweCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnKSkpO1xuICB9XG5cbiAgPiB0Ym9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIH1cblxuICA+IHRoZWFkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cbi50YWJsZS1ncm91cC1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogY2FsYygjeyR0YWJsZS1ib3JkZXItd2lkdGh9ICogMikgc29saWQgJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy9cbi8vIENoYW5nZSBwbGFjZW1lbnQgb2YgY2FwdGlvbnMgd2l0aCBhIGNsYXNzXG4vL1xuXG4uY2FwdGlvbi10b3Age1xuICBjYXB0aW9uLXNpZGU6IHRvcDtcbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbSAkdGFibGUtY2VsbC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuLy9cbi8vIFdoZW4gYm9yZGVycyBhcmUgYWRkZWQgb24gYWxsIHNpZGVzIG9mIHRoZSBjZWxscywgdGhlIGNvcm5lcnMgY2FuIHJlbmRlciBvZGQgd2hlblxuLy8gdGhlc2UgYm9yZGVycyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBjb2xvciBvciBpZiB0aGV5IGFyZSBzZW1pLXRyYW5zcGFyZW50LlxuLy8gVGhlcmVmb3JlIHdlIGFkZCB0b3AgYW5kIGJvcmRlciBib3R0b21zIHRvIHRoZSBgdHJgcyBhbmQgbGVmdCBhbmQgcmlnaHQgYm9yZGVyc1xuLy8gdG8gdGhlIGB0ZGBzIG9yIGB0aGBzXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gID4gOm5vdChjYXB0aW9uKSA+ICoge1xuICAgIGJvcmRlci13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aCAwO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgICA+ICoge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi8vIEZvciByb3dzXG4udGFibGUtc3RyaXBlZCB7XG4gID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEZvciBjb2x1bW5zXG4udGFibGUtc3RyaXBlZC1jb2x1bW5zIHtcbiAgPiA6bm90KGNhcHRpb24pID4gdHIgPiA6bnRoLWNoaWxkKCN7JHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcn0pIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEFjdGl2ZSB0YWJsZVxuLy9cbi8vIFRoZSBgLnRhYmxlLWFjdGl2ZWAgY2xhc3MgY2FuIGJlIGFkZGVkIHRvIGhpZ2hsaWdodCByb3dzIG9yIGNlbGxzXG5cbi50YWJsZS1hY3RpdmUge1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcik7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnKTtcbn1cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnKTtcbiAgfVxufVxuXG5cbi8vIFRhYmxlIHZhcmlhbnRzXG4vL1xuLy8gVGFibGUgdmFyaWFudHMgc2V0IHRoZSB0YWJsZSBjZWxsIGJhY2tncm91bmRzLCBib3JkZXIgY29sb3JzXG4vLyBhbmQgdGhlIGNvbG9ycyBvZiB0aGUgc3RyaXBlZCwgaG92ZXJlZCAmIGFjdGl2ZSB0YWJsZXNcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRhYmxlLXZhcmlhbnRzIHtcbiAgQGluY2x1ZGUgdGFibGUtdmFyaWFudCgkY29sb3IsICR2YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLnRhYmxlLXJlc3BvbnNpdmUjeyRpbmZpeH0ge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYW50XG5AbWl4aW4gdGFibGUtdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICRjb2xvcjogY29sb3ItY29udHJhc3Qob3BhcXVlKCRib2R5LWJnLCAkYmFja2dyb3VuZCkpO1xuICAgICRob3Zlci1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikpO1xuICAgICRzdHJpcGVkLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpKTtcbiAgICAkYWN0aXZlLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikpO1xuICAgICR0YWJsZS1ib3JkZXItY29sb3I6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ib3JkZXItZmFjdG9yKSk7XG5cbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skc3RyaXBlZC1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyRob3Zlci1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGhvdmVyLWJnKX07XG5cbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhbnRcbiIsIi8vXG4vLyBMYWJlbHNcbi8vXG5cbi5mb3JtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWxhYmVsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgZm9udC1zdHlsZTogJGZvcm0tbGFiZWwtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xufVxuIiwiLy9cbi8vIEZvcm0gdGV4dFxuLy9cblxuLmZvcm0tdGV4dCB7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXRleHQtZm9udC1zaXplKTtcbiAgZm9udC1zdHlsZTogJGZvcm0tdGV4dC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tdGV4dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG59XG4iLCIvL1xuLy8gR2VuZXJhbCBmb3JtIGNvbnRyb2xzIChwbHVzIGEgZmV3IHNwZWNpZmljIGhpZ2gtbGV2ZWwgaW50ZXJ2ZW50aW9ucylcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiZmlsZVwiXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCBwc2V1ZG8gZWxlbWVudCBidXR0b24gb3ZlcmxhcFxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIC8vIE9uIEFuZHJvaWQgQ2hyb21lLCBmb3JtLWNvbnRyb2wncyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICAvL1xuICAgIC8vIE9uIGlPUyBTYWZhcmksIGZvcm0tY29udHJvbCdzIFwiYXBwZWFyYW5jZTogbm9uZVwiICsgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgaU9TIDE2LjIgLyBTYWZhcmkgMTYuMlxuICAgIG1pbi13aWR0aDogODVweDsgLy8gU2VlbXMgdG8gYmUgYSBnb29kIG1pbmltdW0gc2FmZSB3aWR0aFxuXG4gICAgLy8gQWRkIHNvbWUgaGVpZ2h0IHRvIGRhdGUgaW5wdXRzIG9uIGlPU1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjMzMDdcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCBvbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTkgaXMgcmVzb2x2ZWRcbiAgICAvLyBNdWx0aXBseSBsaW5lLWhlaWdodCBieSAxZW0gaWYgaXQgaGFzIG5vIHVuaXRcbiAgICBoZWlnaHQ6IGlmKHVuaXQoJGlucHV0LWxpbmUtaGVpZ2h0KSA9PSBcIlwiLCAkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1saW5lLWhlaWdodCk7XG5cbiAgICAvLyBBbmRyb2lkIENocm9tZSB0eXBlPVwiZGF0ZVwiIGlzIHRhbGxlciB0aGFuIHRoZSBvdGhlciBpbnB1dHNcbiAgICAvLyBiZWNhdXNlIG9mIFwibWFyZ2luOiAxcHggMjRweCAxcHggNHB4XCIgaW5zaWRlIHRoZSBzaGFkb3cgRE9NXG4gICAgLy8gVGVzdGVkIHVuZGVyIEFuZHJvaWQgMTEgLyBDaHJvbWUgODksIEFuZHJvaWQgMTIgLyBDaHJvbWUgMTAwLCBBbmRyb2lkIDEzIC8gQ2hyb21lIDEwOVxuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFByZXZlbnQgZXhjZXNzaXZlIGRhdGUgaW5wdXQgaGVpZ2h0IGluIFdlYmtpdFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzM0NDMzXG4gICY6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRmlsZSBpbnB1dCBidXR0b25zIHRoZW1pbmdcbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteSkgKC0kaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogJGZvcm0tZmlsZS1idXR0b24tY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tZmlsZS1idXR0b24tYmcpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc7XG4gIH1cbn1cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktc20pICgtJGlucHV0LXBhZGRpbmcteC1zbSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LWxnKSAoLSRpbnB1dC1wYWRkaW5nLXgtbGcpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LWxnO1xuICB9XG59XG5cbi8vIE1ha2Ugc3VyZSB0ZXh0YXJlYXMgZG9uJ3Qgc2hyaW5rIHRvbyBtdWNoIHdoZW4gcmVzaXplZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjkxMjRcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxudGV4dGFyZWEge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogJGZvcm0tY29sb3Itd2lkdGg7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjo6LW1vei1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20geyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207IH1cbiAgJi5mb3JtLWNvbnRyb2wtbGcgeyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1iZy1taXhpblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcjogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LWJnLW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1taXhpbnNcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiBudWxsLCAkZW5kLXBlcmNlbnQ6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtbWl4aW5zXG4iLCIvLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuXG4uZm9ybS1zZWxlY3Qge1xuICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yKX07XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb24sIG5vbmUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb247XG4gIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc2VsZWN0LXRyYW5zaXRpb24pO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uZm9ybS1zZWxlY3Qtc20ge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tc2VsZWN0LWxnIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDaGVjay9yYWRpb1xuLy9cblxuLmZvcm0tY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvcm0tY2hlY2stbWluLWhlaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tO1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnOiAjeyRmb3JtLWNoZWNrLWlucHV0LWJnfTtcblxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6ICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoO1xuICBoZWlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoO1xuICBtYXJnaW4tdG9wOiAoJGxpbmUtaGVpZ2h0LWJhc2UgLSAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCkgKiAuNTsgLy8gbGluZS1oZWlnaHQgbWludXMgY2hlY2sgaGVpZ2h0XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2UpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYm9yZGVyOiAkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI7XG4gIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tY2hlY2stdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgZmlsdGVyOiAkZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3JkZXI7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I7XG5cbiAgICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcblxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfTtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBmaWx0ZXI6IG5vbmU7XG4gICAgb3BhY2l0eTogJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxuXG4gIC8vIFVzZSBkaXNhYmxlZCBhdHRyaWJ1dGUgaW4gYWRkaXRpb24gb2YgOmRpc2FibGVkIHBzZXVkby1jbGFzc1xuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogJGZvcm0tY2hlY2stbGFiZWwtY29sb3I7XG4gIGN1cnNvcjogJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yO1xufVxuXG4vL1xuLy8gU3dpdGNoXG4vL1xuXG4uZm9ybS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZSl9O1xuXG4gICAgd2lkdGg6ICRmb3JtLXN3aXRjaC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXMsIDApO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc3dpdGNoLXRyYW5zaXRpb24pO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZSl9O1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjtcblxuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDtcbn1cblxuLmJ0bi1jaGVjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgICsgLmJ0biB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQ6bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZS1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCIvLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5mb3JtLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCwgJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQgLSAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb24pO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb24pO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDtcbiAgfVxuXG4gID4gbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIGFsbG93IHRleHRhcmVhc1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAjeyRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHl9KTtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gUmVxdWlyZWQgZm9yIGFsaWduaW5nIGxhYmVsJ3MgdGV4dCB3aXRoIHRoZSBpbnB1dCBhcyBpdCBhZmZlY3RzIGlubmVyIGJveCBtb2RlbFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gICAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuICA+IHRleHRhcmVhOmZvY3VzLFxuICA+IHRleHRhcmVhOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICB+IGxhYmVsOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICgkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXggKiAuNSk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICA+IHRleHRhcmVhOmRpc2FibGVkIH4gbGFiZWw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwOyAvLyBSZXF1aXJlZCB0byBwcm9wZXJseSBwb3NpdGlvbiBsYWJlbCB0ZXh0IC0gYXMgZXhwbGFpbmVkIGFib3ZlXG4gICAgfVxuICB9XG5cbiAgPiA6ZGlzYWJsZWQgfiBsYWJlbCxcbiAgPiAuZm9ybS1jb250cm9sOmRpc2FibGVkIH4gbGFiZWwgeyAvLyBSZXF1aXJlZCBmb3IgYC5mb3JtLWNvbnRyb2xgcyBiZWNhdXNlIG9mIHNwZWNpZmljaXR5XG4gICAgY29sb3I6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tc2VsZWN0LFxuICA+IC5mb3JtLWZsb2F0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5pbnB1dC1ncm91cCB7XG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gOm50aC1sYXN0LWNoaWxkKG4gKyAzKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuICAgID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuICsgNCksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiO1xuICBAZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMpIHtcbiAgICAkdmFsaWRhdGlvbi1tZXNzYWdlczogJHZhbGlkYXRpb24tbWVzc2FnZXMgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItdG9vbHRpcClcIiArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi1mZWVkYmFjaylcIjtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSkjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZSxcbiAgJGNvbG9yLFxuICAkaWNvbixcbiAgJHRvb2x0aXAtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICR0b29sdGlwLWJnLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KSxcbiAgJGZvY3VzLWJveC1zaGFkb3c6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAkYm9yZGVyLWNvbG9yOiAkY29sb3Jcbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1zdHlsZTogJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZy1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRmb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLFxuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbjogI3tlc2NhcGUtc3ZnKCRpY29uKX07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfSBAZWxzZSBpZiAkc3RhdGUgPT0gXCJpbnZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRidG4tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skYnRuLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseTogI3skYnRuLWZvbnQtZmFtaWx5fTtcbiAgQGluY2x1ZGUgcmZzKCRidG4tZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRidG4tZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQ6ICN7JGJ0bi1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aDogI3skYnRuLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYnRuLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6ICN7JGJ0bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnRuLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXgpO1xuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogaWYoJGVuYWJsZS1idXR0b24tcG9pbnRlcnMsIHBvaW50ZXIsIG51bGwpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuYnRuLWNoZWNrICsgJjpob3ZlciB7XG4gICAgLy8gb3ZlcnJpZGUgZm9yIHRoZSBjaGVja2JveC9yYWRpbyBidXR0b25zXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQgKyAmLFxuICA6bm90KC5idG4tY2hlY2spICsgJjphY3RpdmUsXG4gICY6Zmlyc3QtY2hpbGQ6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJi5zaG93IHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnKTtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSk7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQ6Zm9jdXMtdmlzaWJsZSArICYge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0OmRpc2FibGVkICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbG9vcHNcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGlmICRjb2xvciA9PSBcImxpZ2h0XCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2UgaWYgJGNvbG9yID09IFwiZGFya1wiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbG9vcHNcblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1ub3JtYWx9O1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skYnRuLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYnRuLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skYnRuLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6IDAgMCAwICMwMDA7IC8vIENhbid0IHVzZSBgbm9uZWAgYXMga2V5d29yZCBuZWdhdGVzIGFsbCB2YWx1ZXMgd2hlbiB1c2VkIHdpdGggbXVsdGlwbGUgc2hhZG93c1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3skYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYn07XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoXG4gICRiYWNrZ3JvdW5kLFxuICAkYm9yZGVyLFxuICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpLFxuICAkZGlzYWJsZWQtYmFja2dyb3VuZDogJGJhY2tncm91bmQsXG4gICRkaXNhYmxlZC1ib3JkZXI6ICRib3JkZXIsXG4gICRkaXNhYmxlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGRpc2FibGVkLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGhvdmVyLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRob3Zlci1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSl9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6ICN7JGRpc2FibGVkLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRkaXNhYmxlZC1ib3JkZXJ9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoXG4gICRjb2xvcixcbiAgJGNvbG9yLWhvdmVyOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvcixcbiAgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skY29sb3ItaG92ZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYigkY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogbm9uZTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXNpemUtbWl4aW5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXNpemUtbWl4aW5cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLWNsYXNzZXNcbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG5cbiAgJi5jb2xsYXBzZS1ob3Jpem9udGFsIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtY2xhc3Nlc1xuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3BlbmQsXG4uZHJvcGRvd24sXG4uZHJvcHN0YXJ0LFxuLmRyb3B1cC1jZW50ZXIsXG4uZHJvcGRvd24tY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4OiAjeyR6aW5kZXgtZHJvcGRvd259O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGg6ICN7JGRyb3Bkb3duLW1pbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteDogI3skZHJvcGRvd24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15OiAjeyRkcm9wZG93bi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXI6ICN7JGRyb3Bkb3duLXNwYWNlcn07XG4gIEBpbmNsdWRlIHJmcygkZHJvcGRvd24tZm9udC1zaXplLCAtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcjogI3skZHJvcGRvd24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGg6ICN7JGRyb3Bkb3duLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogI3skZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6ICN7JGRyb3Bkb3duLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAjeyRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tY3NzLXZhcnNcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBtaW4td2lkdGg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14KTtcbiAgbWFyZ2luOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IG1hcmdpbiBvZiB1bFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3cpKTtcblxuICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICA+IC5kcm9wZG93bi1pdGVtOmZpcnN0LWNoaWxkLFxuICAgID4gbGk6Zmlyc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gICAgPiAuZHJvcGRvd24taXRlbTpsYXN0LWNoaWxkLFxuICAgID4gbGk6bGFzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG4vLyBXZSBkZWxpYmVyYXRlbHkgaGFyZGNvZGUgdGhlIGBicy1gIHByZWZpeCBiZWNhdXNlIHdlIGNoZWNrXG4vLyB0aGlzIGN1c3RvbSBwcm9wZXJ0eSBpbiBKUyB0byBkZXRlcm1pbmUgUG9wcGVyJ3MgcG9zaXRpb25pbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tZW5kIHtcbiAgICAgIC0tYnMtcG9zaXRpb246IGVuZDtcblxuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcGVuZCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChlbmQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcHN0YXJ0IHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChzdGFydCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgb3BhY2l0eTogMTsgLy8gUmV2aXNpdCBpbiB2NiB0byBkZS1kdXBlIHN0eWxlcyB0aGF0IGNvbmZsaWN0IHdpdGggPGhyPiBlbGVtZW50XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1ib3JkZXItcmFkaXVzLCAwKSk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZykpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbn1cblxuLy8gRGFyayBkcm9wZG93bnNcbi5kcm9wZG93bi1tZW51LWRhcmsge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcjogI3skZHJvcGRvd24tZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJnOiAjeyRkcm9wZG93bi1kYXJrLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6ICN7JGRyb3Bkb3duLWRhcmstYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmc6ICN7JGRyb3Bkb3duLWRhcmstZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICN7JGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtbWl4aW5zXG5AbWl4aW4gY2FyZXQtZG93bigkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LWVuZCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtc3RhcnQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoXG4gICRkaXJlY3Rpb246IGRvd24sXG4gICR3aWR0aDogJGNhcmV0LXdpZHRoLFxuICAkc3BhY2luZzogJGNhcmV0LXNwYWNpbmcsXG4gICR2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduXG4pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oJHdpZHRoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZW5kKCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gc3RhcnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXN0YXJ0KCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LW1peGluc1xuIiwiLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuICA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuICA+IC5idG46aG92ZXIsXG4gID4gLmJ0bjpmb2N1cyxcbiAgPiAuYnRuOmFjdGl2ZSxcbiAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IDpub3QoLmJ0bi1jaGVjazpmaXJzdC1jaGlsZCkgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogI3skYnRuLWJvcmRlci13aWR0aH0pOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgfVxuXG4gIC8vIFRoZSBsZWZ0IHJhZGl1cyBzaG91bGQgYmUgMCBpZiB0aGUgYnV0dG9uIGlzOlxuICAvLyAtIHRoZSBcInRoaXJkIG9yIG1vcmVcIiBjaGlsZFxuICAvLyAtIHRoZSBzZWNvbmQgY2hpbGQgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IGlzbid0IGAuYnRuLWNoZWNrYCAobWFraW5nIGl0IHRoZSBmaXJzdCBjaGlsZCB2aXN1YWxseSlcbiAgLy8gLSBwYXJ0IG9mIGEgYnRuLWdyb3VwIHdoaWNoIGlzbid0IHRoZSBmaXJzdCBjaGlsZFxuICA+IC5idG46bnRoLWNoaWxkKG4gKyAzKSxcbiAgPiA6bm90KC5idG4tY2hlY2spICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3BlbmQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BzdGFydCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogI3skYnRuLWJvcmRlci13aWR0aH0pOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gIC8vIFRoZSB0b3AgcmFkaXVzIHNob3VsZCBiZSAwIGlmIHRoZSBidXR0b24gaXM6XG4gIC8vIC0gdGhlIFwidGhpcmQgb3IgbW9yZVwiIGNoaWxkXG4gIC8vIC0gdGhlIHNlY29uZCBjaGlsZCBhbmQgdGhlIHByZXZpb3VzIGVsZW1lbnQgaXNuJ3QgYC5idG4tY2hlY2tgIChtYWtpbmcgaXQgdGhlIGZpcnN0IGNoaWxkIHZpc3VhbGx5KVxuICAvLyAtIHBhcnQgb2YgYSBidG4tZ3JvdXAgd2hpY2ggaXNuJ3QgdGhlIGZpcnN0IGNoaWxkXG4gID4gLmJ0bjpudGgtY2hpbGQobiArIDMpLFxuICA+IDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6ICN7JG5hdi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6ICN7JG5hdi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRuYXYtbGluay10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkbmF2LWxpbmstZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXRhYnMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdGFicy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi10YWJzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXRhYnMtY3NzLXZhcnNcblxuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXBpbGxzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1waWxscy1jc3MtdmFyc1xuXG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG59XG5cblxuLy9cbi8vIFVuZGVybGluZVxuLy9cblxuLm5hdi11bmRlcmxpbmUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcDogI3skbmF2LXVuZGVybGluZS1nYXB9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogI3skbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG5cbiAgZ2FwOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXApO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWZpbGwsXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBNYWtlIHN1cmUgYnV0dG9uIHdpbGwgZ3Jvd1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXg6ICN7aWYoJG5hdmJhci1wYWRkaW5nLXggPT0gbnVsbCwgMCwgJG5hdmJhci1wYWRkaW5nLXgpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteTogI3skbmF2YmFyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1saWdodC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15OiAjeyRuYXZiYXItYnJhbmQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICN7JG5hdmJhci1icmFuZC1tYXJnaW4tZW5kfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogI3skbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogI3skbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogI3skbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAjeyRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICN7JG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgLy8gVGhlIGBmbGV4LXdyYXBgIHByb3BlcnR5IGlzIGluaGVyaXRlZCB0byBzaW1wbGlmeSB0aGUgZXhwYW5kZWQgbmF2YmFyc1xuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICA+IC5jb250YWluZXIsXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1tYXJnaW4tZW5kKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6IDA7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICAmLmFjdGl2ZSxcbiAgICAmLnNob3cge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG5cbiAgYSxcbiAgYTpob3ZlcixcbiAgYTpmb2N1cyAge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemUpKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3IpOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uKSk7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoKTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zY3JvbGwtaGVpZ2h0LCA3NXZoKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1leHBhbmQtbG9vcFxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tdW5pb24tY2xhc3MtbmFtZVxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzIHtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG5vbmUpO1xuICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1leHBhbmQtbG9vcFxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4ubmF2YmFyLWxpZ2h0IHtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYC5uYXZiYXItbGlnaHRgXCIsIFwidjUuMi4wXCIsIFwidjYuMC4wXCIsIHRydWUpO1xufVxuXG4ubmF2YmFyLWRhcmssXG4ubmF2YmFyW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJdIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiAjeyRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15OiAjeyRjYXJkLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteDogI3skY2FyZC1zcGFjZXIteH07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXk6ICN7JGNhcmQtdGl0bGUtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLWNvbG9yOiAjeyRjYXJkLXRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zdWJ0aXRsZS1jb2xvcjogI3skY2FyZC1zdWJ0aXRsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoOiAjeyRjYXJkLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiAjeyRjYXJkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1czogI3skY2FyZC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiAjeyRjYXJkLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteTogI3skY2FyZC1jYXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1iZzogI3skY2FyZC1jYXAtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcjogI3skY2FyZC1jYXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWhlaWdodDogI3skY2FyZC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNvbG9yOiAjeyRjYXJkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1iZzogI3skY2FyZC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogI3skY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW46ICN7JGNhcmQtZ3JvdXAtbWFyZ2lufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3cpKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcik7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgfVxufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgZmxleDogMSAwIDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcblxuICAgICAgICAgID4gLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgID4gLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICA+IC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgID4gLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hY2NvcmRpb24ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcjogI3skYWNjb3JkaW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnOiAjeyRhY2NvcmRpb24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLXRyYW5zaXRpb259O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAjeyRhY2NvcmRpb24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aDogI3skYWNjb3JkaW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAjeyRhY2NvcmRpb24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14OiAjeyRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGg6ICN7JGFjY29yZGlvbi1pY29uLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zZm9ybTogI3skYWNjb3JkaW9uLWljb24tdHJhbnNmb3JtfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb259O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAjeyRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLWNzcy12YXJzXG59XG5cbi5hY2NvcmRpb24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gUmVzZXQgYnV0dG9uIHN0eWxlXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uKSk7XG5cbiAgJjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSkgMCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbik7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY2NvcmRpb24gaWNvblxuICAmOjphZnRlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb24pKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgLy8gT25seSBzZXQgYSBib3JkZXItcmFkaXVzIG9uIHRoZSBsYXN0IGl0ZW0gaWYgdGhlIGFjY29yZGlvbiBpcyBjb2xsYXBzZWRcbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteCk7XG59XG5cblxuLy8gRmx1c2ggYWNjb3JkaW9uIGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBhY2NvcmRpb24gaXRlbXMgZWRnZS10by1lZGdlLlxuXG4uYWNjb3JkaW9uLWZsdXNoIHtcbiAgPiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7IGJvcmRlci10b3A6IDA7IH1cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtY2xhc3NcbiAgICA+IC5hY2NvcmRpb24tY29sbGFwc2UsXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbixcbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uLmNvbGxhcHNlZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC1jbGFzc1xuICB9XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uLWRhcmspfTtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbi1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogI3skYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tfTtcbiAgQGluY2x1ZGUgcmZzKCRicmVhZGNydW1iLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnOiAjeyRicmVhZGNydW1iLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAjeyRicmVhZGNydW1iLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICN7JGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAjeyRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSkpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIGNvbnRlbnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcikpICN7XCIvKiBydGw6XCJ9IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkKSkgI3tcIiovXCJ9O1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcGFnaW5hdGlvbi1mb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcjogI3skcGFnaW5hdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmc6ICN7JHBhZ2luYXRpb24tYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci13aWR0aDogI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogI3skcGFnaW5hdGlvbi1mb2N1cy1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmc6ICN7JHBhZ2luYXRpb24tZm9jdXMtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICN7JHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwYWdpbmF0aW9uLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gIC5hY3RpdmUgPiAmIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAuZGlzYWJsZWQgPiAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCkgLnBhZ2UtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDtcbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQgPT0gY2FsYygtMSAqICN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSkge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gQWRkIGJvcmRlci1yYWRpdXMgdG8gYWxsIHBhZ2VMaW5rcyBpbiBjYXNlIHRoZXkgaGF2ZSBsZWZ0IG1hcmdpblxuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLW1peGluXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1taXhpblxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteDogI3skYmFkZ2UtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15OiAjeyRiYWRnZS1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGJhZGdlLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQ6ICN7JGJhZGdlLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3I6ICN7JGJhZGdlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1czogI3skYmFkZ2UtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFsZXJ0LWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14OiAjeyRhbGVydC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXk6ICN7JGFsZXJ0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b206ICN7JGFsZXJ0LW1hcmdpbi1ib3R0b219O1xuICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyOiAjeyRhbGVydC1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzOiAjeyRhbGVydC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogaW5oZXJpdDtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3IpO1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXggKyAxO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgKiAxLjI1ICRhbGVydC1wYWRkaW5nLXg7XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtbW9kaWZpZXJzXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0XG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuYWxlcnQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LW1vZGlmaWVyc1xuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1rZXlmcmFtZXNcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpOyB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5cbi5wcm9ncmVzcyxcbi5wcm9ncmVzcy1zdGFja2VkIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodDogI3skcHJvZ3Jlc3MtaGVpZ2h0fTtcbiAgQGluY2x1ZGUgcmZzKCRwcm9ncmVzcy1mb250LXNpemUsIC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJnOiAjeyRwcm9ncmVzcy1iZ307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICN7JHByb2dyZXNzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3gtc2hhZG93OiAjeyRwcm9ncmVzcy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWNvbG9yOiAjeyRwcm9ncmVzcy1iYXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItYmc6ICN7JHByb2dyZXNzLWJhci1iZ307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAjeyRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1mb250LXNpemUpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3gtc2hhZG93KSk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItYmcpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItdHJhbnNpdGlvbikpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCkgdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7XG59XG5cbi5wcm9ncmVzcy1zdGFja2VkID4gLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wcm9ncmVzcy1zdGFja2VkID4gLnByb2dyZXNzID4gLnByb2dyZXNzLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nIHByb2dyZXNzLWJhci1zdHJpcGVzO1xuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24ge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcjogI3skbGlzdC1ncm91cC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6ICN7JGxpc3QtZ3JvdXAtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aDogI3skbGlzdC1ncm91cC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAjeyRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6ICN7JGxpc3QtZ3JvdXAtaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICN7JGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZzogI3skbGlzdC1ncm91cC1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5saXN0LWdyb3VwLW51bWJlcmVkIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgICAvLyBJbmNyZW1lbnRzIG9ubHkgdGhpcyBpbnN0YW5jZSBvZiB0aGUgc2VjdGlvbiBjb3VudGVyXG4gICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcbiAgfVxufVxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZyk7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby1yZWR1bmRhbnQtbmVzdGluZy1zZWxlY3RvclxuICAmICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gICY6bm90KC5hY3RpdmUpIHtcbiAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZyk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4vLyBMaXN0IGdyb3VwIGNvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC1tb2RpZmllcnNcbiIsIi8vIFRyYW5zcGFyZW50IGJhY2tncm91bmQgYW5kIGJvcmRlciBwcm9wZXJ0aWVzIGluY2x1ZGVkIGZvciBidXR0b24gdmVyc2lvbi5cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLmJ0bi1jbG9zZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3I6ICN7JGJ0bi1jbG9zZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1iZzogI3sgZXNjYXBlLXN2ZygkYnRuLWNsb3NlLWJnKSB9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2Utb3BhY2l0eTogI3skYnRuLWNsb3NlLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtaG92ZXItb3BhY2l0eTogI3skYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtc2hhZG93OiAjeyRidG4tY2xvc2UtZm9jdXMtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjbG9zZS1jc3MtdmFyc1xuXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogJGJ0bi1jbG9zZS13aWR0aDtcbiAgaGVpZ2h0OiAkYnRuLWNsb3NlLWhlaWdodDtcbiAgcGFkZGluZzogJGJ0bi1jbG9zZS1wYWRkaW5nLXkgJGJ0bi1jbG9zZS1wYWRkaW5nLXg7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1iZykgY2VudGVyIC8gJGJ0bi1jbG9zZS13aWR0aCBhdXRvIG5vLXJlcGVhdDsgLy8gaW5jbHVkZSB0cmFuc3BhcmVudCBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIGZpbHRlcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1maWx0ZXIpO1xuICBib3JkZXI6IDA7IC8vIGZvciBidXR0b24gZWxlbWVudHNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLW9wYWNpdHkpO1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5KTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3cpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eSk7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHkpO1xuICB9XG59XG5cbkBtaXhpbiBidG4tY2xvc2Utd2hpdGUoKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1maWx0ZXI6ICN7JGJ0bi1jbG9zZS1maWx0ZXItZGFya307XG59XG5cbi5idG4tY2xvc2Utd2hpdGUge1xuICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbn1cblxuOnJvb3QsXG5bZGF0YS1icy10aGVtZT1cImxpZ2h0XCJdIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZpbHRlcjogI3skYnRuLWNsb3NlLWZpbHRlcn07XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaywgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xuICB9XG59XG4iLCIudG9hc3Qge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuICAtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXg6ICN7JHRvYXN0LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteTogI3skdG9hc3QtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZzogI3skdG9hc3Qtc3BhY2luZ307XG4gIC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aDogI3skdG9hc3QtbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCR0b2FzdC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXRvYXN0LWNvbG9yOiAjeyR0b2FzdC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJnOiAjeyR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoOiAjeyR0b2FzdC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3I6ICN7JHRvYXN0LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXM6ICN7JHRvYXN0LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93OiAjeyR0b2FzdC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmc6ICN7JHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtY3NzLXZhcnNcblxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b2FzdC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpKTtcblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWNvbnRhaW5lciB7XG4gIC0tI3skcHJlZml4fXRvYXN0LXppbmRleDogI3skemluZGV4LXRvYXN0fTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b2FzdC16aW5kZXgpO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgPiA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXRvYXN0LXNwYWNpbmcpO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhjYWxjKHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpKSk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIH1cbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW1vZGFsLXppbmRleDogI3skemluZGV4LW1vZGFsfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLW1kfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZzogI3skbW9kYWwtaW5uZXItcGFkZGluZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYmc6ICN7JG1vZGFsLWNvbnRlbnQtYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmc6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nfTsgLy8gVG9kbyBpbiB2NjogU3BsaXQgdGhpcyBwYWRkaW5nIGludG8geCBhbmQgeVxuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRtb2RhbC10aXRsZS1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXA6ICN7JG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2Vlbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZzogI3skbW9kYWwtZm9vdGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGh9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3cpKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleDogI3skemluZGV4LW1vZGFsLWJhY2tkcm9wfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmc6ICN7JG1vZGFsLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skbW9kYWwtYmFja2Ryb3Atb3BhY2l0eX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcblxuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXgpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmcpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eSkpO1xufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLjUpO1xuICAgIC8vIFNwbGl0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW52YWxpZCBjYWxjKCkgZnVuY3Rpb24gaWYgdmFsdWUgaXMgMFxuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZyk7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmcpIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgPiAqIHtcbiAgICBtYXJnaW46IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpOyAvLyBUb2RvIGluIHY2OiByZXBsYWNlIHdpdGggZ2FwIG9uIHBhcmVudCBjbGFzc1xuICB9XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAubW9kYWwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwfTtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXB9O1xuICB9XG5cbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC13aWR0aCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLXNtIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtc219O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1sZ307XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC14bH07XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRwb3N0Zml4OiBpZigkaW5maXggIT0gXCJcIiwgJGluZml4ICsgXCItZG93blwiLCBcIlwiKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAubW9kYWwtZnVsbHNjcmVlbiN7JHBvc3RmaXh9IHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWhlYWRlcixcbiAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuIiwiLy8gU2hhcmVkIGJldHdlZW4gbW9kYWxzIGFuZCBvZmZjYW52YXNlc1xuQG1peGluIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleCwgJGJhY2tkcm9wLWJnLCAkYmFja2Ryb3Atb3BhY2l0eSkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b29sdGlwLXppbmRleDogI3skemluZGV4LXRvb2x0aXB9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW1heC13aWR0aDogI3skdG9vbHRpcC1tYXgtd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteDogI3skdG9vbHRpcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteTogI3skdG9vbHRpcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbjogI3skdG9vbHRpcC1tYXJnaW59O1xuICBAaW5jbHVkZSByZnMoJHRvb2x0aXAtZm9udC1zaXplLCAtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3I6ICN7JHRvb2x0aXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJnOiAjeyR0b29sdGlwLWJnfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzOiAjeyR0b29sdGlwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW9wYWNpdHk6ICN7JHRvb2x0aXAtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGg6ICN7JHRvb2x0aXAtYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodDogI3skdG9vbHRpcC1hcnJvdy1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXJnaW4pO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgJHRvb2x0aXAtbWFyZ2luYFwiLCBcInY1XCIsIFwidjUueFwiLCB0cnVlKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW9wYWNpdHkpOyB9XG5cbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy10b29sdGlwLWVuZCAudG9vbHRpcC1hcnJvdyB7XG4gIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3R0b206IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy10b29sdGlwLXN0YXJ0IC50b29sdGlwLWFycm93IHtcbiAgcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtc3RhcnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1heC13aWR0aCk7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYm9yZGVyLXJhZGl1cykpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIG92ZXJmbG93LXdyYXAgLyB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4OiAjeyR6aW5kZXgtcG9wb3Zlcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoOiAjeyRwb3BvdmVyLW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1iZzogI3skcG9wb3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoOiAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3c6ICN7JHBvcG92ZXItYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3I6ICN7JHBvcG92ZXItaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmc6ICN7JHBvcG92ZXItaGVhZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteDogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3I6ICN7JHBvcG92ZXItYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGg6ICN7JHBvcG92ZXItYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodDogI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93KSk7XG5cbiAgLnBvcG92ZXItYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBib3R0b206IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLWVuZCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGxlZnQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLXN0YXJ0IHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgcmlnaHQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItc3RhcnQ7XG4gIH1cbn1cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yKTtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLWVuZCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kXG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLXN0YXJ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLWVuZCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBmaWx0ZXI6IHZhcigtLSN7JHByZWZpeH1jYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyKTtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSksIG51bGwpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSksIG51bGwpO1xufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKSAje1wiLypydGw6XCIgKyBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZykgKyBcIiovXCJ9O1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpICN7XCIvKnJ0bDpcIiArIGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKSArIFwiKi9cIn07XG59XG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzL2NvbnRyb2xzXG4vL1xuLy8gQWRkIGEgY29udGFpbmVyIChzdWNoIGFzIGEgbGlzdCkgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYW4gaXRlbSAoaWRlYWxseSBhIGZvY3VzYWJsZSBjb250cm9sLFxuLy8gbGlrZSBhIGJ1dHRvbikgd2l0aCBkYXRhLWJzLXRhcmdldCBmb3IgZWFjaCBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG5cbiAgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnKTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgcGFkZGluZy10b3A6ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJvdXNlbC1jYXB0aW9uLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBEYXJrIG1vZGUgY2Fyb3VzZWxcblxuQG1peGluIGNhcm91c2VsLWRhcmsoKSB7XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICN7JGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmctZGFya307XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWNhcHRpb24tY29sb3I6ICN7JGNhcm91c2VsLWNhcHRpb24tY29sb3ItZGFya307XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICN7JGNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXItZGFya307XG59XG5cbi5jYXJvdXNlbC1kYXJrIHtcbiAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xufVxuXG46cm9vdCxcbltkYXRhLWJzLXRoZW1lPVwibGlnaHRcIl0ge1xuICAtLSN7JHByZWZpeH1jYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAjeyRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogI3skY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICN7JGNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXJ9O1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjbGVhcmZpeFxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuLnNwaW5uZXItZ3Jvdyxcbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0KTtcbiAgdmVydGljYWwtYWxpZ246IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduKTtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkKSBsaW5lYXIgaW5maW5pdGUgdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWUpO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpICN7XCIvKiBydGw6aWdub3JlICovXCJ9OyB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWtleWZyYW1lc1xuXG4uc3Bpbm5lci1ib3JkZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ246ICN7JHNwaW5uZXItdmVydGljYWwtYWxpZ259O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWJvcmRlcjtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuXG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoKSBzb2xpZCBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1zbS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRoLXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0LXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGg6ICN7JHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1zbS1jc3MtdmFyc1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ncm93LWtleWZyYW1lc1xuXG4uc3Bpbm5lci1ncm93IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItZ3JvdztcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3ctY3NzLXZhcnNcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRoLXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0LXNtfTtcbn1cblxuQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24ge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZCAqIDJ9O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiVvZmZjYW52YXMtY3NzLXZhcnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXg6ICN7JHppbmRleC1vZmZjYW52YXN9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGg6ICN7JG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodDogI3skb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXg6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15OiAjeyRvZmZjYW52YXMtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWNvbG9yOiAjeyRvZmZjYW52YXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYmc6ICN7JG9mZmNhbnZhcy1iZy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICN7JG9mZmNhbnZhcy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAjeyRvZmZjYW52YXMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3c6ICN7JG9mZmNhbnZhcy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRyYW5zaXRpb246ICN7dHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogI3skb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtY3NzLXZhcnNcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAub2ZmY2FudmFzI3skaW5maXh9IHtcbiAgICBAZXh0ZW5kICVvZmZjYW52YXMtY3NzLXZhcnM7XG4gIH1cbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAub2ZmY2FudmFzI3skaW5maXh9IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtemluZGV4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3IpO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3gtc2hhZG93KSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtdHJhbnNpdGlvbikpO1xuXG4gICAgICAmLm9mZmNhbnZhcy1zdGFydCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLWVuZCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtdG9wIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLnNob3dpbmcsXG4gICAgICAmLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLnNob3dpbmcsXG4gICAgICAmLmhpZGluZyxcbiAgICAgICYuc2hvdyB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodDogYXV0bztcbiAgICAgICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgIC8vIFJlc2V0IGBiYWNrZ3JvdW5kLWNvbG9yYCBpbiBjYXNlIGAuYmctKmAgY2xhc3NlcyBhcmUgdXNlZCBpbiBvZmZjYW52YXNcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vZmZjYW52YXMtYmFja2Ryb3Age1xuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKCR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wLCAkb2ZmY2FudmFzLWJhY2tkcm9wLWJnLCAkb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHkpO1xufVxuXG4ub2ZmY2FudmFzLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgKiAuNSkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgLy8gU3BsaXQgcHJvcGVydGllcyB0byBhdm9pZCBpbnZhbGlkIGNhbGMoKSBmdW5jdGlvbiBpZiB2YWx1ZSBpcyAwXG4gICAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4ub2ZmY2FudmFzLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4ub2ZmY2FudmFzLWJvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4iLCIucGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiB3YWl0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDtcblxuICAmLmJ0bjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi5wbGFjZWhvbGRlci14cyB7XG4gIG1pbi1oZWlnaHQ6IC42ZW07XG59XG5cbi5wbGFjZWhvbGRlci1zbSB7XG4gIG1pbi1oZWlnaHQ6IC44ZW07XG59XG5cbi5wbGFjZWhvbGRlci1sZyB7XG4gIG1pbi1oZWlnaHQ6IDEuMmVtO1xufVxuXG4vLyBBbmltYXRpb25cbi5wbGFjZWhvbGRlci1nbG93IHtcbiAgLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyLWdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci1nbG93IHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1taW47XG4gIH1cbn1cblxuLnBsYWNlaG9sZGVyLXdhdmUge1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCAkYmxhY2sgNTUlLCByZ2JhKDAsIDAsIDAsICgxIC0gJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluKSkgNzUlLCAkYmxhY2sgOTUlKTtcbiAgbWFzay1zaXplOiAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItd2F2ZSAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItd2F2ZSB7XG4gIDEwMCUge1xuICAgIG1hc2stcG9zaXRpb246IC0yMDAlIDAlO1xuICB9XG59XG4iLCIvLyBBbGwtY2FwcyBgUkdCQSgpYCBmdW5jdGlvbiB1c2VkIGJlY2F1c2Ugb2YgdGhpcyBTYXNzIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvbm9kZS1zYXNzL2lzc3Vlcy8yMjUxXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJHZhbHVlKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIH1cbn1cbiIsIi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAubGluay0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICRob3Zlci1jb2xvcjogaWYoY29sb3ItY29udHJhc3QoJHZhbHVlKSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSksIHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSk7XG4gICAgICAgIGNvbG9yOiBSR0JBKCN7dG8tcmdiKCRob3Zlci1jb2xvcil9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHRvLXJnYigkaG92ZXItY29sb3IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9uZS1vZmYgc3BlY2lhbCBsaW5rIGhlbHBlciBhcyBhIGJyaWRnZSB1bnRpbCB2NlxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mb2N1cy1yaW5nOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgLy8gQnkgZGVmYXVsdCwgdGhlcmUgaXMgbm8gYC0tYnMtZm9jdXMtcmluZy14YCwgYC0tYnMtZm9jdXMtcmluZy15YCwgb3IgYC0tYnMtZm9jdXMtcmluZy1ibHVyYCwgYnV0IHdlIHByb3ZpZGUgQ1NTIHZhcmlhYmxlcyB3aXRoIGZhbGxiYWNrcyB0byBpbml0aWFsIGAwYCB2YWx1ZXNcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteCwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteSwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctYmx1ciwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGgpIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yKTtcbn1cbiIsIi5pY29uLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiAkaWNvbi1saW5rLWdhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIC41KSk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgPiAuYmkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWxpbmstaWNvbi1zaXplO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpY29uLWxpbmstaWNvbi10cmFuc2l0aW9uKTtcbiAgfVxufVxuXG4uaWNvbi1saW5rLWhvdmVyIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICA+IC5iaSB7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1pY29uLWxpbmstdHJhbnNmb3JtLCAkaWNvbi1saW5rLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4ucmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW8pO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQGVhY2ggJGtleSwgJHJhdGlvIGluICRhc3BlY3QtcmF0aW9zIHtcbiAgLnJhdGlvLSN7JGtleX0ge1xuICAgIC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbzogI3skcmF0aW99O1xuICB9XG59XG4iLCIvLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLy8gUmVzcG9uc2l2ZSBzdGlja3kgdG9wIGFuZCBib3R0b21cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5zdGlja3kjeyRpbmZpeH0tdG9wIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LWJvdHRvbSB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgc3RhY2tzXG4uaHN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnZzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBzdGFja3NcbiIsIi8vXG4vLyBWaXN1YWxseSBoaWRkZW5cbi8vXG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBIaWRlIGNvbnRlbnQgdmlzdWFsbHkgd2hpbGUga2VlcGluZyBpdCBhY2Nlc3NpYmxlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTFweCAhaW1wb3J0YW50OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cbiAgLy8gRml4IGZvciBwb3NpdGlvbmVkIHRhYmxlIGNhcHRpb24gdGhhdCBjb3VsZCBiZWNvbWUgYW5vbnltb3VzIGNlbGxzXG4gICY6bm90KGNhcHRpb24pIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEZpeCB0byBwcmV2ZW50IG92ZXJmbG93aW5nIGNoaWxkcmVuIHRvIGJlY29tZSBmb2N1c2FibGVcbiAgKiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFVzZSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZCwgb3Igb25lIG9mIGl0cyBjaGlsZCBlbGVtZW50cyBpcyBmb2N1c2VkXG4vLyAoaS5lLiB3aGVuIGZvY3VzIGlzIHdpdGhpbiB0aGUgZWxlbWVudC9jb250YWluZXIgdGhhdCB0aGUgY2xhc3Mgd2FzIGFwcGxpZWQgdG8pXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvV0FJL1dDQUcyMi9UZWNobmlxdWVzL2dlbmVyYWwvRzEuaHRtbFxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSgpIHtcbiAgJjpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICB9XG59XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OiN7JHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50fSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gVGV4dCB0cnVuY2F0aW9uXG4vL1xuXG4udGV4dC10cnVuY2F0ZSB7XG4gIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLnZyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogJHZyLWJvcmRlci13aWR0aDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuIiwiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4OiBcIlwiLCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLWdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLWdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExvb3Agb3ZlciBlYWNoIGJyZWFrcG9pbnRcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gR2VuZXJhdGUgbWVkaWEgcXVlcnkgaWYgbmVlZGVkXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSRlMgcmVzY2FsaW5nXG5AbWVkaWEgKG1pbi13aWR0aDogJHJmcy1tcS12YWx1ZSkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmIChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkgPCAkcmZzLWJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHByaW50KSA9PSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksIFwiLXByaW50XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gT3ZlcnJpZGVzIGZvciBqUXVlcnkgTWluaWNvbG9yc1xuXG4ubWluaWNvbG9ycy10aGVtZS1ib290c3RyYXAgLm1pbmljb2xvcnMtc3dhdGNoIHtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgPiAubWluaWNvbG9ycy1zcHJpdGUge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5zcGFuLm1pbmljb2xvcnMtc3dhdGNoLWNvbG9yIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLy8gR2xvYmFsXG46cm9vdCB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJvb3Q7XG5cbiAgICAvLyBEaXNhYmxlIHNtb290aCBzY3JvbGwgd2hlbiB0aGUgdXNlciBoYXMgc2V0IFwicHJlZmVycy1yZWR1Y2VkLW1vdGlvblwiXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG87XG4gICAgfVxufVxuXG46Oi1tcy1yZXZlYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb250cmFzdC1jb2xvcik7XG59XG5cbmh0bWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGZvbnQtc3R5bGU6IHZhcigtLW5lb3RlcmljLWZvbnQtc3R5bGUtbm9ybWFsLCBub3JtYWwpO1xuXG4gICAgJi50bXBsLWNvbXBvbmVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxufVxuXG5pbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbmg2LFxuLmg2LFxuaDUsXG4uaDUsXG5oNCxcbi5oNCxcbmgzLFxuLmgzLFxuaDIsXG4uaDIsXG5oMSxcbi5oMSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW5lb3RlcmljLWZvbnQtZmFtaWx5LWhlYWRpbmdzLCAkZm9udC1mYW1pbHktc2Fucy1zZXJpZik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLW5lb3RlcmljLWZvbnQtd2VpZ2h0LWhlYWRpbmdzLCAkZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zdHlsZTogdmFyKC0tbmVvdGVyaWMtZm9udC1zdHlsZS1ub3JtYWwsICRoZWFkaW5ncy1mb250LXN0eWxlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uZGlzcGxheS0xIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDIuN3JlbSwgOHZ3LCA1LjVyZW0pO1xufVxuXG4uZGlzcGxheS0yIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDIuM3JlbSwgN3Z3LCA0LjVyZW0pO1xufVxuXG4uZGlzcGxheS0zIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuOXJlbSwgNnZ3LCAzLjVyZW0pO1xufVxuXG4uZGlzcGxheS00IHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNXJlbSwgNXZ3LCAyLjVyZW0pO1xufVxuXG4ubGVhZCB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjFyZW0sIDN2dywgMS4yNXJlbSk7XG59XG5cbi50ZXh0LWNvbG9yLWJvZHkge1xuICAgIGNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcbn1cblxuLnRleHQtY29sb3ItcHJpbWFyeSB7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xufVxuXG4udGV4dC1jb2xvci1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xufVxuXG5hIHtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtbGluay1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICY6bm90KFtjbGFzc10pOmhvdmVyLFxuICAgICY6bm90KFtjbGFzc10pOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstaG92ZXItY29sb3IpO1xuICAgIH1cblxuICAgICYubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW5lb3RlcmljLWNvbG9yLWJyYW5kKTtcbiAgICB9XG59XG5cbi5jb20tY29udGVudC1hcnRpY2xlIHtcblxuICAgIG9sLFxuICAgIHVsIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbi5jb20tY29udGVudC1jYXRlZ29yeV9fcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xufVxuXG5zbWFsbCxcbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xufVxuXG5kZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbnRoIGRkIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tbmVvdGVyaWMtZm9udC13ZWlnaHQtbm9ybWFsLCAkZm9udC13ZWlnaHQtbm9ybWFsKTtcbn1cblxuLmNvbS1jb250YWN0X190aHVtYm5haWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICBkbC5kbC1ob3Jpem9udGFsIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAzO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb20tY29udGFjdF9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNCwgYXV0byk7XG4gICAgICAgIGdyaWQtZ2FwOiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA1O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbS1jb250YWN0X190aHVtYm5haWwge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyA1O1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDIgLyA1O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tLWNvbnRhY3RfX3Bvc2l0aW9uIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgICAgIGdyaWQtcm93OiAyIC8gMztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb20tY29udGFjdF9faW5mbyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7XG4gICAgICAgICAgICBncmlkLXJvdzogMyAvIDQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tLXVzZXJzLXByb2ZpbGUge1xuICAgICAgICBkdCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMCAwICgkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIpO1xuXG4gICAgJi5mbG9hdC1zdGFydCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgIH1cblxuICAgICYuZmxvYXQtZW5kIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgICB9XG59XG5cbmZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICBjb2xvcjogJGdyYXktNjAwO1xufVxuXG4ubW9kLW1lbnUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8vIG1ldGVyIGVsZW1lbnRcbm1ldGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnBhZ2VuYXZpZ2F0aW9uLFxuLnBhZ2VyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46ICRuZW90ZXJpYy1ncmlkLWd1dHRlciAwO1xuXG4gICAgICAgIC5uZXh0Om9ubHktY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1saW5rLWNvbG9yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtbGluay1jb2xvcik7XG4gICAgfVxufVxuXG4uYWN0aXZlPi5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXBhZ2luYXRpb24tYWN0aXZlLWhvdmVyLWNvbG9yLCB2YXIoLS1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcikpO1xuICAgIH1cbn1cblxuLnBhZ2VyIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxuW2Rpcj1cInJ0bFwiXSBsaS5uZXh0IC5wYWdlLWxpbmsge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4yNXJlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjVyZW07XG59XG5cbltkaXI9XCJydGxcIl0gbGkucHJldmlvdXMgLnBhZ2UtbGluayB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLmFydGljbGUtaW5kZXgge1xuICAgIC50b2NsaW5rLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG4udG9wLWJhci1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS10b3BiYXItYmcpO1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS10b3BiYXItY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXRlbXBsYXRlLXRvcGJhci1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcblxuICAgIGEudGV4dC1jb2xvci1pbmhlcml0LFxuICAgIC5tb2QtbGlzdCBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLXRvcGJhci1jb2xvcik7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLXRvcGJhci1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2QtaW5saW5lIHtcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLnRvcC1iYXItY29udGVudCB7XG4gICAgICAgIC50b3AtcmlnaHQge1xuICAgICAgICAgICAgLm1vZC1pbmxpbmU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudG9wLWxlZnQge1xuICAgICAgICAgICAgLm1vZC1pbmxpbmU6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQm9vdHN0cmFwIDQgYi9jXG4uc3Itb25seSB7XG4gICAgQGV4dGVuZCAudmlzdWFsbHktaGlkZGVuO1xufVxuXG4vLyBPZmZjYW52YXMgcG9zaXRpb25cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0zMDApO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmJsb2NrLW9mZmNhbnZhcyB7XG4gICAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1vZmZjYW52YXMtaGVhZGVyLWJnLCAjMDkyMTQzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLW9mZmNhbnZhcy1oZWFkZXItY29sb3IsICNmZmYpO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xNykgLTNweCAzcHggOXB4IDBweDtcbiAgICB9XG5cbiAgICAub2ZmY2FudmFzLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLmhlYWRlci1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSwgJHdoaXRlKTtcbn1cblxuLmhlYWRlci1pcy1zdGlja3kge1xuICAgIC5oZWFkZXItY29udGVudCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgfVxufVxuXG4uaGVhZGVyLW1haW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWhlYWRlci1iZywgIzA5MjE0Myk7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWhlYWRlci1jb2xvciwgI2ZmZik7XG5cbiAgICAuY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2U7XG4gICAgfVxufVxuXG4uaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICAgIC5hd2Vzb21wbGV0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgJj5pbnB1dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWhlYWRlci1iZywgIzA5MjE0Myk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1oZWFkZXItY29sb3IsICNmZmYpO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB6LWluZGV4OiAzODA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBsaW5lYXIsIHZpc2liaWxpdHkgMC4xcyBsaW5lYXIsIHdpZHRoIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xuXG4gICAgICAgIC5oZWFkZXItc2VhcmNoLWlubmVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItc2VhcmNoLW9wZW4ge1xuICAgICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiB1bnNldDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxpbmstaW5oZXJpdC1jb2xvciB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmhlYWRlci1tYWluIHtcbiAgICAgICAgLmNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLWlzLXN0aWNreSB7XG4gICAgICAgIC5oZWFkZXItbWFpbiB7XG4gICAgICAgICAgICAuY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuc2VsZWN0LnZtLWN1c3RvbWZpZWxkLWNob2ljZSxcbnNlbGVjdC5ub3JtYWwtY2hvaWNlLFxuLm5vcm1hbC1jaG9pY2Utd3JhcHBlcj5zZWxlY3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ucXVhbnRpdHktaW5wdXQge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLm1haW4tY29udGVudC1hcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1tYWluLWNvbnRlbnQtYXJlYS1iZywgdHJhbnNwYXJlbnQpO1xufVxuXG4ubWFpbi1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbn1cblxuLm1lZ2EtbWVudS1jb250YWluZXIge1xuICAgIC0tbWVnYW1lbnUtYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1tZWdhbWVudS1ib3JkZXItY29sb3IsICNkZGQpO1xuICAgIC0tbWVnYW1lbnUtYmc6IHZhcigtLXRlbXBsYXRlLW1lZ2FtZW51LWJnLCAjZmZmKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbWVnYW1lbnUtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWVnYW1lbnUtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZWdhbWVudS1iZyk7XG5cbiAgICAubW9kLXZtY2F0ZWdvcnktZHJvcGRvd24rLm1vZC1tZWdhbWVudSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45cmVtO1xuICAgIH1cbn1cblxuLmJyZWFkY3J1bWJzLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1iZyk7XG4gICAgY29sb3I6IHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1ib3JkZXItY29sb3IpO1xuXG4gICAgLm1vZC1icmVhZGNydW1icyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1saW5rLWNvbG9yLCBpbmhlcml0KTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tbGluay1ob3Zlci1jb2xvciwgdmFyKC0tdGVtcGxhdGUtbGluay1jb2xvcikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZC1icmVhZGNydW1ic19faXRlbSB7XG4gICAgICAgICYrLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdWUC1QcmltZScsIFwiUm9ib3RvXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkyM1wiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tc2VwYXJhdG9yLWNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24taXRlbS1hY3RpdmUtY29sb3IsIGluaGVyaXQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAuYnJlYWRjcnVtYnMtc2VjdGlvbiB7XG4gICAgICAgIC5icmVhZGNydW1icy1pbm5lciB7XG4gICAgICAgICAgICAmLmQtZmxleCB7XG4gICAgICAgICAgICAgICAgLm1vZC1wb3NpdGlvbi1icmVhZGNydW1icyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2QtYnJlYWRjcnVtYnNfX3dyYXBwZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogdW5zZXQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAuYnJlYWRjcnVtYi1pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2QtYnJlYWRjcnVtYnNfX2RpdmlkZXIsXG4gICAgICAgICAgICAubW9kLWJyZWFkY3J1bWJzX19oZXJlIHtcbiAgICAgICAgICAgICAgICAmKy5icmVhZGNydW1iLWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnJlYWRjcnVtYi1pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlZQLVByaW1lXCIsIFwiUm9ib3RvXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MjNcXDIwMDQuLi5cXDIwMDRcXGU5MjNcIjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1zZXBhcmF0b3ItY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vZC1icmVhZGNydW1ic19faGVyZSsuYnJlYWRjcnVtYi1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC5icmVhZGNydW1icy1zZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1ib3JkZXItY29sb3IpO1xuICAgIH1cbn1cblxuLnNlcGFyYXRvci1saW5lIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xufVxuXG4uc2VwYXJhdG9yLWxpbmUtb2ZmY2FudmFzIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1ncmF5LTMwMCk7XG59XG5cbi50bXBsLWNvbXBvbmVudCB7XG4gICAgcGFkZGluZzogMnJlbTtcblxuICAgICYuY29tLXZtZXNzZW50aWFscy52aWV3LXF1aWNrdmlldyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4uZ2xpZ2h0Ym94LWNsZWFuIHtcbiAgICAmLm1vZGFsLWxpbmsge1xuICAgICAgICAuZ3NsaWRlLWV4dGVybmFsIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWZyYW1lLWxvYWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluO1xuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgICAgIH1cblxuICAgICAgICAuaWZyYW1lLXNwaW5uZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGxvYWRlclNwaW4gMC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICBhbmltYXRpb246IGxvYWRlclNwaW4gMC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMzMzO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pZnJhbWUtbG9hZGluZyB7XG4gICAgICAgICAgICAuaWZyYW1lLWxvYWRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGVyU3BpbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkZXJTcGluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZ2xpZ2h0Ym94LWNsZWFuIHtcbiAgICAgICAgJi5tb2RhbC1saW5rIHtcbiAgICAgICAgICAgIC5nb3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGluay1ib2R5IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWJvZHktY29sb3IsIGluaGVyaXQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIH1cbn1cblxuLmxpbmstYm9keS1pbnZlcnQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tYm9keS1jb2xvcik7XG4gICAgfVxufVxuXG4udG5zLWluaXRpYWwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi50bnMtc2xpZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uaGFzLWRhbmdlciB7XG4gICAgLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgICAgICAuY2hvc2VuLXNpbmdsZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5pbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1oZWFkZXIge1xuICAgIGgxIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgICYucGFnZS1oZWFkZXItY2VudGVyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucGFnZS1oZWFkZXItbm8tZGVjb3JhdGlvbiB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3ViLWhlYWRpbmcge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4jc3lzdGVtLW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICAmPioge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXG4gICAgLnBhZ2UtY29udGFpbmVyLWJveCxcbiAgICAuY29tLXVzZXJzLXJlZ2lzdHJhdGlvbixcbiAgICAuY29tLXVzZXJzLWxvZ2luLFxuICAgIC5jb20tdXNlcnMtcmVtaW5kLFxuICAgIC5jb20tdXNlcnMtcmVzZXQge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuICAgIH1cbn1cblxuLm1vZC1sb2dpbl9fb3B0aW9ucyB7XG4gICAgLmljb24tcmVnaXN0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnJlZCxcbi5zdGFyLFxuLmFzdGVyaXNrIHtcbiAgICBjb2xvcjogI2ZmNGMwZTtcbn1cblxuLm9mZmNhbnZhcy1yZWdpc3RyYXRpb24sXG4ub2ZmY2FudmFzLWxvZ291dCB7XG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5LTIwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cbn1cblxuLmJ0bi1yZW1vdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMC4xcmVtIDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uamV3ZWwtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5qZXdlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTAuNHJlbTtcbiAgICByaWdodDogLTAuOHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIHdpZHRoOiAxLjFyZW07XG4gICAgaGVpZ2h0OiAxLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAuZm9vdGVyLXRvb2xiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LTEwMCk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XG4gICAgICAgIHotaW5kZXg6IDUwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWJvZHktY29sb3IpO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gICAgICAgICY+KiB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNHJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWlvcyB7XG4gICAgICAgIC5mb290ZXItdG9vbGJhciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmhlYWRlci1yaWdodC1sZy5maXhlZC1ib3R0b20ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgei1pbmRleDogaW5oZXJpdDtcblxuICAgICAgICAmPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAuYnRuLWljb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuamV3ZWwtZ3JvdXAge1xuICAgICAgICAgICAgLnZwaS1sZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kLWlubGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBnYXA6IDAuOHJlbTtcbn1cblxuLm1vZC1pbmxpbmUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi50b3AtYmFyIHtcbiAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSxcbiAgICB1bC5sYW5nLWJsb2NrLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAtLWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgJj5saSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kLWJhZGdlIHtcbiAgICAtLW1vZC1iYWRnZS1iZzogI2ZmMDAwMDtcbiAgICAtLW1vZC1iYWRnZS1jb2xvcjogI2ZmZmZmZiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC41cmVtIDAuN3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tb2QtYmFkZ2UtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1tb2QtYmFkZ2UtY29sb3IpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLm1haW4tdG9wLXZlcnRpY2FsLXNlY3Rpb24sXG4ubWFpbi10b3AtaG9yaXpvbnRhbC1zZWN0aW9uLFxuLm1haW4tYm90dG9tLXZlcnRpY2FsLXNlY3Rpb24sXG4ubWFpbi1ib3R0b20taG9yaXpvbnRhbC1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDRyZW0gMCAxcmVtO1xufVxuXG4uY29udGVudC10b3AtdmVydGljYWwtc2VjdGlvbixcbi5jb250ZW50LXRvcC1ob3Jpem9udGFsLXNlY3Rpb24sXG4uY29udGVudC1ib3R0b20tdmVydGljYWwtc2VjdGlvbixcbi5jb250ZW50LWJvdHRvbS1ob3Jpem9udGFsLXNlY3Rpb24ge1xuICAgIG1hcmdpbjogM3JlbSAwIDA7XG59XG5cbi5oZWFkZXItZ3JvdXAsXG4ubW9kLWhlYWRlci1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi5tb2QtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBnYXA6IDAuNnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgLm1vZC10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbn1cblxuLm1vZC1oZWFkZXItZ3JvdXAge1xuICAgICY+Lm1vZC1oZWFkZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4ubW9kLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnZlcnRpY2FsLW1vZHVsZS1zZWN0aW9uIHtcbiAgICAubW9kLWhlYWRlci1ncm91cCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbmFzaWRlLFxuLmJvdHRvbS1zZWN0aW9uIHtcbiAgICAubW9kLWhlYWRlci1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAubW9kLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgLm1vZC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2Qtc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxufVxuXG4udXRpbGl0eS13aWRlLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXV0aWxpdHktd2lkZS1zZWN0aW9uLWJnLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXV0aWxpdHktd2lkZS1zZWN0aW9uLWJvcmRlci10b3AtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtdXRpbGl0eS13aWRlLXNlY3Rpb24tYm9yZGVyLWJvdHRvbS1jb2xvciwgdHJhbnNwYXJlbnQpO1xufVxuXG4udXRpbGl0eS12ZXJ0aWNhbC1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS11dGlsaXR5LXZlcnRpY2FsLXNlY3Rpb24tYmcsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtdXRpbGl0eS12ZXJ0aWNhbC1zZWN0aW9uLWJvcmRlci10b3AtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtdXRpbGl0eS12ZXJ0aWNhbC1zZWN0aW9uLWJvcmRlci1ib3R0b20tY29sb3IsIHRyYW5zcGFyZW50KTtcbn1cblxuLnV0aWxpdHktaG9yaXpvbnRhbC1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS11dGlsaXR5LWhvcml6b250YWwtc2VjdGlvbi1iZywgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS11dGlsaXR5LWhvcml6b250YWwtc2VjdGlvbi1ib3JkZXItdG9wLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXV0aWxpdHktaG9yaXpvbnRhbC1zZWN0aW9uLWJvcmRlci1ib3R0b20tY29sb3IsIHRyYW5zcGFyZW50KTtcblxuICAgIC5jb250YWluZXItaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiA1cmVtIDA7XG4gICAgfVxuXG4gICAgLm1vZC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbn1cblxuLmJvdHRvbS1zbGlkZXItc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNsaWRlci1zZWN0aW9uLWJnLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zbGlkZXItc2VjdGlvbi1ib3JkZXItdG9wLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zbGlkZXItc2VjdGlvbi1ib3JkZXItYm90dG9tLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgcGFkZGluZzogMXJlbSAwO1xufVxuXG4uYm90dG9tLXNlY3Rpb24ge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1ib3R0b20tc2VjdGlvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tYmcsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tYm9yZGVyLXRvcC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1ib3R0b20tc2VjdGlvbi1ib3JkZXItYm90dG9tLWNvbG9yLCB0cmFuc3BhcmVudCk7XG5cbiAgICAuY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMy41cmVtIDAgMC41cmVtO1xuICAgIH1cblxuICAgIC5tb2QtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cblxuICAgIC5tb2QtdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tdGl0bGUtY29sb3IpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tbGluay1jb2xvcik7XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zZWN0aW9uLWxpbmstY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tbGluay1ob3Zlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2QtYmxvY2staGVhZGVyIHtcbiAgICAubW9kLXRpdGxlIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbn1cblxuZGl2Lm1vZC1sYW5ndWFnZXMge1xuICAgIHVsLmxhbmctYmxvY2sge1xuICAgICAgICAmPmxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udG9wLWJhci1jb250ZW50IHtcbiAgICAudG9wLWxlZnQge1xuICAgICAgICAubW9kLWlubGluZSB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZGwuYXJ0aWNsZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMCAxcmVtO1xufVxuXG5kdC5hcnRpY2xlLWluZm8tdGVybSB7XG4gICAgQGV4dGVuZCAudmlzdWFsbHktaGlkZGVuO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICBib2R5IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgfVxufVxuXG4ubW9kLW1lZ2FtZW51IHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi51dGlsaXR5LXdpZGUtc2VjdGlvbixcbi51dGlsaXR5LXZlcnRpY2FsLXNlY3Rpb24sXG4udXRpbGl0eS1ob3Jpem9udGFsLXNlY3Rpb24ge1xuICAgIC5tb2QtY3VzdG9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB9XG59XG5cbi51dGlsaXR5LXdpZGUtc2VjdGlvbiB7XG4gICAgLm1vZC1jdXN0b20ge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIH1cbn1cblxuLmJhbm5lci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVyZW07XG59XG5cbi5iYW5uZXItYm9keSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYmFubmVyLWNvbnRlbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDRyZW0gNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1iYW5uZXItYmcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSk7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWJhbm5lci1jb2xvciwgdmFyKC0tYm9keS1jb2xvcikpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG59XG5cbi5iYW5uZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYmFubmVyLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG59XG5cbi56b29tLW9uLWhvdmVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuNDQsIDEuMTgpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOSk7XG4gICAgfVxufVxuXG4ucHJvbW8tYmFubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvbW8tYmFubmVyLWJnKTtcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLXByb21vLWJhbm5lci1hc3BlY3QtcmF0aW8pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuLnByb21vLWJhbm5lci1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xufVxuXG4ucHJvbW8tYmFubmVyLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjQ0LCAxLjE4KTtcbn1cblxuLnByb21vLWJhbm5lci1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzcmVtO1xufVxuXG4ucHJvbW8tYmFubmVyLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi5wcm9tby1iYW5uZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnByb21vLWJhbm5lci10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRyZW07XG59XG5cbi5wcm9tby1iYW5uZXIge1xuICAgICY6aG92ZXIge1xuICAgICAgICAucHJvbW8tYmFubmVyLWltYWdlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wbGdfc3lzdGVtX3dlYmF1dGhuX2xvZ2luX2J1dHRvbiB7XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogM3B4O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLnByb21vLWJhbm5lci10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgIH1cblxuICAgIC5wcm9tby1iYW5uZXItc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXZ3O1xuICAgIH1cbn0iLCIvLyBBbGVydHNcblxuLmotbWFpbi1jb250YWluZXIge1xuICAuYWxlcnQge1xuICAgIG1hcmdpbjogLjc1cmVtO1xuICB9XG5cbn1cblxuLmFsZXJ0LWhlYWRpbmcge1xuICBmb250LXNpemU6ICRoNC1mb250LXNpemU7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXJlbSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbiIsIi8qKlxuKiBCYWNrIHRvIFRvcFxuKi9cblxuLmJhY2stdG8tdG9wLWxpbmsge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMS4ycmVtO1xuICAgIGJvdHRvbTogNC4ycmVtO1xuICAgIHotaW5kZXg6IDM1MDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSwgJHdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgY29sb3I6IHZhcigtLWdyYXktODAwKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ3JheS04MDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSwgJHdoaXRlKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuYmFjay10by10b3AtbGluayB7XG4gICAgICAgIHdpZHRoOiA0LjJyZW07XG4gICAgICAgIGhlaWdodDogNC4ycmVtO1xuICAgICAgICBib3R0b206IDEuMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgfVxufSIsIi8vIEJhbm5lclxuXG4uY29udGFpbmVyLWJhbm5lciB7XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG5cbiAgLmJhbm5lci1vdmVybGF5IHtcbiAgICBoZWlnaHQ6IDcwdmg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wLGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgLm92ZXJsYXkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsIDAlLCAwJSwgLjUpO1xuXG4gICAgICAudGV4dC10aGluIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICBtYXJnaW46IDFyZW0gYXV0byAycmVtO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIC5sZWFkIHtcbiAgICAgICAgICBmb250LXNpemU6IDE1MHZoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc0MHB4KSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9vdGVyXG4uZm9vdGVyLWFyZWEge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1mb290ZXItYXJlYS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtZm9vdGVyLWFyZWEtYmcsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtZm9vdGVyLWFyZWEtYm9yZGVyLXRvcC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLmNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEuN3JlbSAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtZm9vdGVyLWFyZWEtbGluay1jb2xvcik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtZm9vdGVyLWFyZWEtbGluay1ob3Zlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBGb3JtXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgIG1heC13aWR0aDogJGlucHV0LW1heC13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAmLmlucHV0LXhsYXJnZSB7XG4gICAgICAgIG1heC13aWR0aDogMjEuODc1cmVtO1xuICAgIH1cblxuICAgICYuaW5wdXQteHhsYXJnZSB7XG4gICAgICAgIG1heC13aWR0aDogMzQuMzc1cmVtO1xuICAgIH1cblxuICAgICYuaW5wdXQtZnVsbCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLWlucHV0LWZvY3VzLWJvcmRlci1jb2xvciwgJGlucHV0LWJvcmRlci1jb2xvcik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4uc3BhY2VyIGhyIHtcbiAgICB3aWR0aDogMjMuNzVyZW07XG59XG5cbi5mb3JtLXNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAkaW5wdXQtbWF4LXdpZHRoO1xufVxuXG4vLyBCb290c3RyYXAgNCBiL2Mgb24gZm9ybS1pbmxpbmVcbi5mb3JtLWlubGluZSAuZm9ybS1zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLmZvcm0taW5saW5lIC5mb3JtLXNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxudGQgLmZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY2hlY2tib3hlcyB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcblxuICAgIC5jaGVja2JveCBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLm1vZGFsIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmFsaWRhdGlvblxuLmludmFsaWQge1xuICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgIGJvcmRlci1jb2xvcjogJGRhbmdlcjtcbn1cblxuLnZhbGlkIHtcbiAgICBib3JkZXItY29sb3I6ICRzdWNjZXNzO1xufVxuXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gc2V0IHVwIGhpZGRlbiB0b29sdGlwXG5bcm9sZT1cInRvb2x0aXBcIl06bm90KC5zaG93KSB7XG4gICAgcmlnaHQ6IDVlbTtcbiAgICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogLjVlbTtcbiAgICBtYXJnaW46IC41ZW07XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IDAgMCAuNXJlbSByZ2JhKDAsIDAsIDAsIC44KTtcblxuICAgICZbaWRePWVkaXRhcnRpY2xlLV0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTEwZW07XG4gICAgfVxuXG4gICAgJltpZF49ZWRpdGNvbnRhY3QtXSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMTBlbTtcbiAgICB9XG5cbiAgICAmW2lkXj1pZC1za2lwLV0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmW2lkXj1jYnVucHVibGlzaF0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG59XG5cbi8vIHJldmVhbCBhc3NvY2lhdGVkIHRvb2x0aXAgb24gZm9jdXNcbjpmb2N1cytbcm9sZT1cInRvb2x0aXBcIl0sXG46aG92ZXIrW3JvbGU9XCJ0b29sdGlwXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5maWx0ZXItc2VhcmNoLWJhcl9fZGVzY3JpcHRpb24ge1xuICAgIGJvdHRvbTogMTAwJTtcbn1cblxuZmllbGRzZXQge1xuICAgIG1hcmdpbi1ib3R0b206IG1hdGguZGl2KCRuZW90ZXJpYy1ncmlkLWd1dHRlciwgMik7XG5cbiAgICArZmllbGRzZXQge1xuICAgICAgICBtYXJnaW4tdG9wOiBtYXRoLmRpdigkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIsIDIpO1xuICAgIH1cblxuICAgID4qIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBsZWdlbmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG59XG5cbi5jb250cm9sLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAwLjg7XG59XG5cbi5jb250YWluZXItcG9wdXAgLmZpbHRlci1zZWFyY2gtYmFyX19kZXNjcmlwdGlvbiB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbn1cblxuLmNvbS11c2Vycy1sb2dpbl9fb3B0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyICogMC44O1xufVxuXG4uY29tLXVzZXJzLXByb2ZpbGVfX2VkaXQsXG4uY29tLXVzZXJzLXJlZ2lzdHJhdGlvbiB7XG5cbiAgICAjamZvcm1fcHJpdmFjeWNvbnNlbnRfcHJpdmFjeSxcbiAgICAjamZvcm1fcHJvZmlsZV90b3MsXG4gICAgI2pmb3JtX3Rlcm1zX3Rlcm1zIHtcbiAgICAgICAgLnJhZGlvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub2xkLWZvcm0ge1xuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG5cbiAgICAgICAgJi52YWxpZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC52YWxpZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaW52YWxpZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5pbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1zZWxlY3Q7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi52YWxpZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC52YWxpZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaW52YWxpZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5pbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29tLXVzZXJzLWxvZ2luX19yZW1lbWJlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xufVxuXG4uY29tLXVzZXJzLXJlZ2lzdHJhdGlvbl9fc3VibWl0LFxuLmNvbS11c2Vycy1sb2dpbl9fc3VibWl0LFxuLmNvbS11c2Vycy1yZXNldF9fc3VibWl0LFxuLmNvbS11c2Vycy1yZW1pbmRfX3N1Ym1pdCB7XG4gICAgLmJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59IiwiLy8gRnJvbnRlbmQgRWRpdGluZ1xuXG4uYnRuLmptb2RlZGl0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiA5MDA7XG4gIGNvbG9yOiB2YXIoLS1uZW90ZXJpYy1jb2xvci1saW5rKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODU5NWE7XG4gIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbn1cblxuIiwiLy8gSGVhZGVyXG5cbi5jb250YWluZXItaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmVvdGVyaWMtY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRuZW90ZXJpYy1oZWFkZXItZ3JhZDtcbiAgYm94LXNoYWRvdzogMCA1cHggNXB4IGhzbGEoMCwgMCUsIDAlLCAuMDMpIGluc2V0O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdyaWQtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41O1xuICB9XG5cbiAgbmF2IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41O1xuICB9XG5cbiAgLnNpdGUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAuMzEyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjMxMjVyZW07XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGF1dG87XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC02JSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lci1uYXYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZy1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgLmNvbnRhaW5lci1zZWFyY2gsXG4gICAgICBuYXYge1xuICAgICAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lci1zZWFyY2g6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAmLnNob3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cblxuICAubW9kLW1lbnUge1xuICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICsgbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjU1ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgb3BhY2l0eTogLjI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlOjphZnRlcixcbiAgICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgJi5hY3RpdmUgPiBhLFxuICAgICAgICAmLmFjdGl2ZSA+IHNwYW4sXG4gICAgICAgID4gYTpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFyZW50IHtcbiAgICAgID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWV0aXNtZW51PT10cnVlIHtcbiAgICAubWV0aXNtZW51ID4gbGkge1xuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICA+IGE6OmFmdGVyLFxuICAgICAgPiBidXR0b246OmJlZm9yZSB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgb3BhY2l0eTogLjI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gYTpob3Zlcjo6YWZ0ZXIsXG4gICAgICA+IGJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuICAgICAgJi5hY3RpdmUgPiBhOjphZnRlcixcbiAgICAgICYuYWN0aXZlID4gYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICA+IGJ1dHRvbi5tbS10b2dnbGVyLWxpbms6aG92ZXI6OmJlZm9yZSxcbiAgICAgICYuYWN0aXZlID4gYnV0dG9uLm1tLXRvZ2dsZXItbGluazo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IC41ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1ldGlzbWVudSA+IGxpLmxldmVsLTEge1xuICAgICAgJi5hY3RpdmUgPiBhLFxuICAgICAgJi5hY3RpdmUgPiBidXR0b24sXG4gICAgICA+IGE6aG92ZXIsXG4gICAgICA+IGJ1dHRvbjpob3ZlciB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IHVsIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcblxuICAgIC5mYXMge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lci1zZWFyY2gge1xuICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41O1xuICB9XG5cbiAgLm1vZC1maW5kZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogZGFya2VuKCR3aGl0ZSwgMTAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXdlc29tcGxldGUge1xuICAgICAgY29sb3I6IHZhcigtLWJvZHktY29sb3IpO1xuXG4gICAgICA+IHVsIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgJHdoaXRlLCBoc2xhKDAsMCUsMTAwJSwuOSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSWNvbnNcblxuLiN7JGppY29uLWNzcy1wcmVmaXh9LXdoaXRlIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICAmOjpiZWZvcmUge1xuICAgIG1pbi13aWR0aDogMTZweDtcbiAgfVxufVxuXG4udGJvZHktaWNvbiB7XG4gIHBhZGRpbmc6IDAgM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgW2NsYXNzXj1cIiN7JGppY29uLWNzcy1wcmVmaXh9LVwiXSxcbiAgW2NsYXNzKj1cIiAjeyRqaWNvbi1jc3MtcHJlZml4fS1cIl0sXG4gIFtjbGFzc149XCIjeyRmYS1jc3MtcHJlZml4fS1cIl0sXG4gIFtjbGFzcyo9XCIgI3skZmEtY3NzLXByZWZpeH0tXCJdIHtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgY29sb3I6ICRncmF5LTQwMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIC4jeyRqaWNvbi1jc3MtcHJlZml4fS1wdWJsaXNoLFxuICAuI3skamljb24tY3NzLXByZWZpeH0tY2hlY2ssXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1jaGVjayB7XG4gICAgY29sb3I6ICRzdWNjZXNzO1xuICAgIGJvcmRlci1jb2xvcjogJHN1Y2Nlc3M7XG4gIH1cblxuICAuI3skamljb24tY3NzLXByZWZpeH0tY2hlY2tlZG91dCxcbiAgLiN7JGppY29uLWNzcy1wcmVmaXh9LWxvY2ssXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1sb2NrIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgY29sb3I6ICRncmF5LTcwMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLmhvbWUtZGlzYWJsZWQsXG4gICYuZmVhdHVyZWQtZGlzYWJsZWQsXG4gICYuY29sb3ItZmVhdHVyZWQtZGlzYWJsZWQsXG4gICYuI3skamljb24tY3NzLXByZWZpeH0tc3Rhci1kaXNhYmxlZCxcbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnRib2R5LWljb24gLmljb24tZGVsZXRlLFxuLnRib2R5LWljb24gLmZhLWRlbGV0ZSxcbi50Ym9keS1pY29uIC5pY29uLXRpbWVzLFxuLnRib2R5LWljb24gLmZhLXRpbWVzIHtcbiAgY29sb3I6ICRkYW5nZXI7XG4gIGJvcmRlci1jb2xvcjogJGRhbmdlcjtcbn1cblxuLy8gV2ViQXV0aG5cbi5wbGdfc3lzdGVtX3dlYmF1dGhuX2xvZ2luX2J1dHRvbiBzdmcge1xuICBtYXJnaW4taW5saW5lLWVuZDogMnB4O1xufVxuXG4ucGxnX3N5c3RlbV93ZWJhdXRobl9sb2dpbl9idXR0b24gc3ZnIHBhdGgge1xuICBmaWxsOiB2YXIoLS1ibGFjayk7XG59XG4iLCIvLyBJZnJhbWVcblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubW9kYWwgaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIvLyBPYmplY3QgQ1NTXG5cbiRvYmplY3QtZml0czogKFxuICBmaWxsOiAgICAgICAgICAgICAgICAgICAgJ2ZpbGwnLFxuICBjb250YWluOiAgICAgICAgICAgICAgICAgJ2NvbnRhaW4nLFxuICBjb3ZlcjogICAgICAgICAgICAgICAgICAgJ2NvdmVyJyxcbiAgbm9uZTogICAgICAgICAgICAgICAgICAgICdub25lJyxcbiAgc2NhbGUtZG93bjogICAgICAgICAgICAgICdzY2FsZS1kb3duJyxcbiAgdW5zZXQ6ICAgICAgICAgICAgICAgICAgICd1bnNldCdcbikgIWRlZmF1bHQ7XG5cbiRvYmplY3QtcG9zaXRpb25zOiAoXG4gIGxlZnQtdG9wOiAgICAgICAgICAgICAgICAgJ2xlZnQgdG9wJyxcbiAgcmlnaHQtdG9wOiAgICAgICAgICAgICAgICAncmlnaHQgdG9wJyxcbiAgcmlnaHQtYm90dG9tOiAgICAgICAgICAgICAncmlnaHQgYm90dG9tJyxcbiAgbGVmdC1ib3R0b206ICAgICAgICAgICAgICAnbGVmdCBib3R0b20nLFxuICBsZWZ0LWNlbnRlcjogICAgICAgICAgICAgICdsZWZ0IGNlbnRlcicsXG4gIHJpZ2h0LWNlbnRlcjogICAgICAgICAgICAgJ3JpZ2h0IGNlbnRlcicsXG4gIGNlbnRlci10b3A6ICAgICAgICAgICAgICAgJ2NlbnRlciB0b3AnLFxuICBjZW50ZXItYm90dG9tOiAgICAgICAgICAgICdjZW50ZXItYm90dG9tJyxcbiAgY2VudGVyOiAgICAgICAgICAgICAgICAgICAnY2VudGVyIGNlbnRlcicsXG4gIHVuc2V0OiAgICAgICAgICAgICAgICAgICAgJ3Vuc2V0J1xuKSAhZGVmYXVsdDtcblxuXG5AZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkb2JqZWN0LWZpdHMge1xuICAub2JqZWN0LWZpdC0jeyRwcm9wZXJ0eX0ge1xuICAgIG9iamVjdC1maXQ6ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkb2JqZWN0LXBvc2l0aW9ucyB7XG4gIC5vYmplY3QtcG9zaXRpb24tI3skcHJvcGVydHl9IHtcbiAgICBvYmplY3QtcG9zaXRpb246ICN7JHZhbHVlfTtcbiAgfVxufVxuXG4ub2JqZWN0LXBvc2l0aW9uLWN1c3RvbSB7XG4gIC0tb2JqZWN0LXBvc2l0aW9uOiAwIDA7XG4gIG9iamVjdC1wb3NpdGlvbjogdmFyKC0tb2JqZWN0LXBvc2l0aW9uKTtcbn1cblxuIiwiLy8gTGF5b3V0XG5cbi5ncmlkLWNoaWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbWF4LXdpZHRoKHh4bCk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5tb2QtY3VzdG9tIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29udGFpbmVyLXRvcGJhcixcbi5jb250YWluZXItYmVsb3ctdG9wIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYSB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuXG4uY29udGFpbmVyLWJhbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAycmVtO1xufVxuXG4uY29udGFpbmVyLXRvcC1hLFxuLmNvbnRhaW5lci10b3AtYixcbi5jb250YWluZXItYm90dG9tLWEsXG4uY29udGFpbmVyLWJvdHRvbS1iIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+ICoge1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luOiAoJG5lb3RlcmljLWdyaWQtZ3V0dGVyICogLjUpIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgPiAqIHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uY29udGFpbmVyLWNvbXBvbmVudCBuYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb250YWluZXItY29tcG9uZW50LFxuLmNvbnRhaW5lci1zaWRlYmFyLWxlZnQsXG4uY29udGFpbmVyLXNpZGViYXItcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgIH1cbiAgfVxuXG4gID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgfVxufVxuXG4uY29udGFpbmVyLXNpZGViYXItbGVmdCxcbi5jb250YWluZXItc2lkZWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gI3skbmVvdGVyaWMtZ3JpZC1ndXR0ZXJ9KTtcbiAgb3JkZXI6IDE7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtICN7JG5lb3RlcmljLWdyaWQtZ3V0dGVyfSk7XG4gICAgb3JkZXI6IDA7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1zaWRlYmFyLWxlZnQge1xuICAuc2lkZWJhci1sZWZ0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIH1cbiAgLnNpZGViYXItbGVmdDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIH1cbn1cbi5jb250YWluZXItc2lkZWJhci1yaWdodCB7XG4gIC5zaWRlYmFyLXJpZ2h0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIH1cbiAgLnNpZGViYXItcmlnaHQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICB9XG59XG5cbi5zeXN0ZW0tZGVidWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm9wdGlvbnMtZm9ybSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxdncgMnZ3O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjJiZmNkO1xuXG4gID4gbGVnZW5kIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM0OTUwNTc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG4iLCIvLyBNb2RhbHNcblxuLm1vZGFsIHtcbiAgLmJ0biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgfVxuXG4gIC5idG4tcHJpbWFyeTpub3QoW2hyZWZdKSxcbiAgLmJ0bi1zdWNjZXNzOm5vdChbaHJlZl0pIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMCAxNXB4O1xufVxuXG4ubW9kYWwtdGl0bGUge1xuICBmb250LXdlaWdodDogdmFyKC0tbmVvdGVyaWMtZm9udC13ZWlnaHQtbm9ybWFsLCAkZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC1oZWFkZXItaGVpZ2h0O1xufVxuXG4uY29udGVudHBhbmUge1xuICBwYWRkaW5nOiAxNXB4O1xuXG4gIC5tYWluLWNhcmQge1xuICAgIG1hcmdpbjogLTEwcHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuIiwiLy8gTW9kaWZpZXJzXG5cbi8vIGVycm9yIHBhZ2VcblxuLmVycm9yLXNpdGUtaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmVycm9yLXNpdGUge1xuICAmLmRlYnVnZ2luZy1kaXNhYmxlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGI0ZmY7XG4gICAgY29sb3I6ICMwMDM0NzA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmVycm9yLXNpdGUtb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuZXJyb3Itc2l0ZS1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5lcnJvci1jb2RlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmb250LXNpemU6IDEycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG5cbiAgLmVycm9yLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLmVycm9yLW1lc3NhZ2Uge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG4gIH1cblxuICAuZXJyb3ItaW5mbyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cblxuICAucGFnZS1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgfVxufVxuXG4uZXJyb3ItYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcblxuICAueDEge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMzVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtbW96LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDM1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMzVzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY1KTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC42NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY1KTtcbiAgfVxuXG4gIC54MiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVDbG91ZCAyMHMgbGluZWFyIGluZmluaXRlO1xuICAgIC1tb3otYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IGFuaW1hdGVDbG91ZCAyMHMgbGluZWFyIGluZmluaXRlO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICB9XG5cbiAgLngzIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDMwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLW1vei1hbmltYXRpb246IGFuaW1hdGVDbG91ZCAzMHMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDMwcyBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIH1cblxuICAueDQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMThzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtbW96LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDE4cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMThzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgfVxuXG4gIC54NSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVDbG91ZCAyNXMgbGluZWFyIGluZmluaXRlO1xuICAgIC1tb3otYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IGFuaW1hdGVDbG91ZCAyNXMgbGluZWFyIGluZmluaXRlO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNTUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjU1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNTUpO1xuICB9XG5cbiAgLyogT0JKRUNUUyAqL1xuXG4gIC5jbG91ZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgNSUsICNmMWYxZjEgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCg1JSwgI2ZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2YxZjFmMSkpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiA1JSwgI2YxZjFmMSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDUlLCAjZjFmMWYxIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDUlLCAjZjFmMWYxIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgNSUsICNmMWYxZjEgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZmZicsIGVuZENvbG9yc3RyPScjZjFmMWYxJywgR3JhZGllbnRUeXBlPTApO1xuXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCA4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDM1MHB4O1xuICB9XG5cbiAgLmNsb3VkOmFmdGVyLFxuICAuY2xvdWQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGVYOiAxO1xuICB9XG5cbiAgLmNsb3VkOmFmdGVyIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG5cbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGxlZnQ6IDUwcHg7XG4gICAgdG9wOiAtNTBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gIH1cblxuICAuY2xvdWQ6YmVmb3JlIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG5cbiAgICB3aWR0aDogMTgwcHg7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICByaWdodDogNTBweDtcbiAgICB0b3A6IC05MHB4O1xuICB9XG59XG5cbi8qIEtFWUZSQU1FUyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVDbG91ZCB7XG4gIDAlIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwMDBweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBhbmltYXRlQ2xvdWQge1xuICAwJSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDAwcHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVDbG91ZCB7XG4gIDAlIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwMDBweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICB9XG59XG5cbi8vIGNvbV9tb2R1bGVzXG5bY2xhc3NePVwiY29udGFpbmVyLVwiXSxcbltjbGFzcyo9XCIgY29udGFpbmVyLVwiXSB7XG4gIC5zcGFuLWNvbC0yIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAjeyRuZW90ZXJpYy1ncmlkLWd1dHRlcn0pO1xuICB9XG5cbiAgLnNwYW4tY29sLTMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMlO1xuICAgIG1heC13aWR0aDogY2FsYygzMy4zMzMlIC0gI3skbmVvdGVyaWMtZ3JpZC1ndXR0ZXJ9KTtcbiAgfVxuXG4gIC5zcGFuLWNvbC00IHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogY2FsYygyNSUgLSAjeyRuZW90ZXJpYy1ncmlkLWd1dHRlcn0pO1xuICB9XG59XG5cbkBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuXG4gIFtjbGFzc149XCJzcGFuLVwiXSxcbiAgW2NsYXNzKj1cIiBzcGFuLVwiXSB7XG4gICAgZ3JpZC1jb2x1bW4tZW5kOiBhdXRvO1xuICAgIGdyaWQtcm93LWVuZDogYXV0bztcbiAgfVxuXG4gIFtjbGFzc149XCJzcGFuLWNvbFwiXSxcbiAgW2NsYXNzKj1cIiBzcGFuLWNvbFwiXSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5zcGFuLWNvbC0yIHtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyO1xuICAgIH1cblxuICAgIC5zcGFuLWNvbC0zIHtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAzO1xuICAgIH1cblxuICAgIC5zcGFuLWNvbC00IHtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA0O1xuICAgIH1cblxuICAgIC5zcGFuLXJvdy0yIHtcbiAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyO1xuICAgIH1cblxuICAgIC5zcGFuLXJvdy0zIHtcbiAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAzO1xuICAgIH1cblxuICAgIC5zcGFuLXJvdy00IHtcbiAgICAgIGdyaWQtcm93LWVuZDogc3BhbiA0O1xuICAgIH1cbiAgfVxuXG4gIFtjbGFzc149XCJjb250YWluZXItXCJdLFxuICBbY2xhc3MqPVwiIGNvbnRhaW5lci1cIl0ge1xuXG4gICAgW2NsYXNzXj1cInNwYW4tXCJdLFxuICAgIFtjbGFzcyo9XCIgc3Bhbi1cIl0ge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIGNvbV9jb250ZW50XG4uYmxvZy1pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1yaWdodDogLSgkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAuNSk7XG4gIG1hcmdpbi1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgbWFyZ2luLWxlZnQ6IC0oJG5lb3RlcmljLWdyaWQtZ3V0dGVyICogLjUpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAmLmNvbHVtbnMtMiB7XG4gICAgICA+ZGl2IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbHVtbnMtMyB7XG4gICAgICA+ZGl2IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbHVtbnMtNCB7XG4gICAgICA+ZGl2IHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2ctaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDAgKCRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41KSAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmJveGVkICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IGhzbGEoMjE2LCAxMyUsIDIzJSwgLjEpLCAwIDJweCA1cHggaHNsYSgyMTYsIDEzJSwgMjMlLCAuMDgpLCAwIDVweCAxNXB4IGhzbGEoMjE2LCAxMyUsIDIzJSwgLjA4KSwgaW5zZXQgMCAzcHggMCB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KTtcblxuICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMjVweDtcbiAgICB9XG4gIH1cblxuICAuaXRlbS1pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5ib3hlZCAmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgLmltYWdlLXJpZ2h0ICYge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2UtYm90dG9tICYge1xuICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAuaXRlbS1jb250ZW50IHtcbiAgICAuaW1hZ2UtbGVmdCAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICB9XG5cbiAgICAuaW1hZ2UtcmlnaHQgJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZS1sZWZ0ICYsXG4gIC5pbWFnZS1yaWdodCAmIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgLml0ZW0taW1hZ2Uge1xuICAgICAgICBmbGV4OiAxIDAgNDAlO1xuICAgICAgfVxuXG4gICAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgZmxleDogMSAwIDYwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFydGljbGUtaW5mbyB7XG4gIGRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAuYmxvZy1pdGVtcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXJnaW46IDAgMCAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLWdhcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuXG4gICAgLmJsb2ctaXRlbSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZbY2xhc3NePVwiY29sdW1ucy1cIl0sXG4gICAgJltjbGFzcyo9XCIgY29sdW1ucy1cIl0ge1xuICAgICAgPmRpdiB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICYuY29sdW1ucy0yIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgfVxuXG4gICAgICAmLmNvbHVtbnMtMyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICB9XG5cbiAgICAgICYuY29sdW1ucy00IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG9nLWl0ZW1zIHtcblxuICAmW2NsYXNzXj1cIm1hc29ucnktXCJdLFxuICAmW2NsYXNzKj1cIiBtYXNvbnJ5LVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sdW1uLWdhcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuXG4gICAgLmJsb2ctaXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICYubWFzb25yeS0yIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG5cbiAgICAmLm1hc29ucnktMyB7XG4gICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgJi5tYXNvbnJ5LTQge1xuICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgIH1cbiAgfVxufVxuXG4uaW1hZ2UtYWx0ZXJuYXRlIHtcbiAgLmJsb2ctaXRlbTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgLml0ZW0taW1hZ2Uge1xuICAgICAgb3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5pbWFnZS1sZWZ0IHtcbiAgICAuYmxvZy1pdGVtOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIC5pdGVtLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pbWFnZS10b3Age1xuICAgIC5ibG9nLWl0ZW06bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgLml0ZW0taW1hZ2Uge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW9kdWxlc1xuXG4uYnJlYWRjcnVtYiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwgMCUsIDAlLCAuMDMpO1xufVxuXG4ubm8tY2FyZCB7XG4gIC5uZXdzZmxhc2gtaG9yaXoge1xuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbSAxcmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIGJveC1zaGFkb3c6ICRuZW90ZXJpYy1ib3gtc2hhZG93O1xuXG4gICAgICBmaWd1cmUge1xuICAgICAgICBtYXJnaW46IDAgLTFyZW0gMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1vZC1saXN0IHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgbGkge1xuICAgIHBhZGRpbmc6IC41ZW0gMDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQGF0LXJvb3QgLmNvbnRhaW5lci1oZWFkZXIgJiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmU+YSB7XG4gICAgICBAYXQtcm9vdCAuY29udGFpbmVyLWhlYWRlciAmIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tb2QtbWVudV9fc3ViIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuXG5hc2lkZSB7XG4gIC5tb2Qtdm1jYXRlZ29yeS1tZW51LS1sZXZlbC0xIHtcbiAgICAmPi5tb2Qtdm1jYXRlZ29yeS1tZW51LS1pdGVtLWFuY2hvciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnRvcC1iYXItY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIHAsXG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAubW9kLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxcmVtO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLm1vZC1tZW51X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyLWFyZWEge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBwLFxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLm1vZC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC44cmVtO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLm1vZC1tZW51X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgfVxuICB9XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgLS1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb250cmFzdC1jb2xvcik7XG4gIC0tcGFnaW5hdGlvbi1hY3RpdmUtYmc6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gIC0tcGFnaW5hdGlvbi1wYWRkaW5nLXg6IDFyZW07XG4gIC0tcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuNXJlbTtcbiAgLS1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6IG5vbmU7XG59XG5cbmJvZHkuY29tLWZpbmRlcj4qKyoge1xuICAgIG1hcmdpbi10b3A6IGluaXRpYWw7XG59IiwiLnN1YmhlYWQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2xiYXI7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4taGVpZ2h0OiA0M3B4O1xuICBwYWRkaW5nOiAuMjVyZW07XG4gIGNvbG9yOiAjNDk1MDU3OyAvLyMwYzE5MmU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm94LXNoYWRvdzogLTNweCAtMnB4IDIycHggI2RkZDtcblxuICAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAmLm5vc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgam9vbWxhLXRvb2xiYXItYnV0dG9uLFxuICAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAuNzVyZW07XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgam9vbWxhLXRvb2xiYXItYnV0dG9uIHtcblxuICAgIC5idG4gPiBzcGFuLFxuICAgIC5kcm9wZG93bi1pdGVtID4gc3BhbiB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogLjVyZW07XG4gICAgICB3aWR0aDogMS4yNWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5idG4ge1xuICAgIC0tc3ViaGVhZC1idG4tYWNjZW50OiAjNDk1MDU3O1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi40NXJlbTtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS01MDA7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6IHZhcigtLXN1YmhlYWQtYnRuLWFjY2VudCk7XG4gICAgfVxuXG4gICAgJjpub3QoW2Rpc2FibGVkXSk6aG92ZXIsXG4gICAgJjpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLFxuICAgICY6bm90KFtkaXNhYmxlZF0pOmZvY3VzIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN1YmhlYWQtYnRuLWFjY2VudCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXN1YmhlYWQtYnRuLWFjY2VudCk7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ0bi1zdWNjZXNzIHtcbiAgICAgIC0tc3ViaGVhZC1idG4tYWNjZW50OiB2YXIoLS1zdWNjZXNzKTtcbiAgICB9XG5cbiAgICAmLmJ0bi1kYW5nZXIge1xuICAgICAgLS1zdWJoZWFkLWJ0bi1hY2NlbnQ6IHZhcigtLWRhbmdlcik7XG4gICAgfVxuXG4gICAgJi5idG4tcHJpbWFyeSB7XG4gICAgICAtLXN1YmhlYWQtYnRuLWFjY2VudDogIzJhNjliODtcbiAgICB9XG5cbiAgICAmLmJ0bi1zZWNvbmRhcnkge1xuICAgICAgLS1zdWJoZWFkLWJ0bi1hY2NlbnQ6ICMwMDFiNGM7XG4gICAgfVxuXG4gICAgJi5idG4taW5mbyB7XG4gICAgICAtLXN1YmhlYWQtYnRuLWFjY2VudDogIzEzMmY1MztcbiAgICB9XG5cbiAgICAmLmJ0bi1hY3Rpb24ge1xuICAgICAgLS1zdWJoZWFkLWJ0bi1hY2NlbnQ6ICMxMzJmNTM7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMi4zNzVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgY29udGVudDogXCJcXGYwNzhcIjtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0sXG4gICAgJi5kcm9wZG93bi10b2dnbGVbZGlzYWJsZWRdIHtcbiAgICAgIC0tc3ViaGVhZC1idG4tYWNjZW50OiAjMTMyZjUzO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JheS0zMDAsIC44KTtcbiAgICAgIG9wYWNpdHk6IC41O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAmLmJ0biB7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogLSRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IGpvb21sYS10b29sYmFyLWJ1dHRvbixcbiAgLmJ0bi1ncm91cCBqb29tbGEtdG9vbGJhci1idXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gIGpvb21sYS10YWJbdmlldz1hY2NvcmRpb25dIC5jb2wtbWQtOSxcbiAgam9vbWxhLXRhYlt2aWV3PWFjY29yZGlvbl0gLmNvbC1tZC0zIHtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjbXlUYWIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG5cbiAgam9vbWxhLXRhYlt2aWV3PWFjY29yZGlvbl0gdWwgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnN1YmhlYWQge1xuXG4gICAgam9vbWxhLXRvb2xiYXItYnV0dG9uLFxuICAgIC5idG4tZ3JvdXAsXG4gICAgLmJ0biB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuYnRuLXRvb2xiYXIgPiAuYnRuLWdyb3VwLFxuICAgIC5idG4tdG9vbGJhciA+IGpvb21sYS10b29sYmFyLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuYnRuLmJ0bi1hY3Rpb246OmFmdGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIExlZ2FjeVxuXG4ubGVmdC5pdGVtLWltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ucmlnaHQuaXRlbS1pbWFnZSB7XG4gIGZsb2F0OiByaWdodDtcbn1cbiIsIi8vIFRhZ3NcblxuLnRhZ3Mge1xuICAubGlzdC1pbmxpbmUtaXRlbSB7XG4gICAgbWFyZ2luOiAuMjVyZW0gLjI1cmVtIC41cmVtO1xuICB9XG4gIGEuYnRuIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5cbi50YWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IC41cmVtIC41cmVtIC41cmVtIDA7XG59XG4iLCIvLyBKb29tbGEgQ1NTXG5cbi5tb2QtYXJ0aWNsZXNjYXRlZ29yaWVzIHtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keS1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gVmlydHVlTWFydCBDU1NcblxuLnByaWNlLWNyb3NzZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4udG9vbGJhci1zZXByYXRvciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGVtcGxhdGUtdG9vbGJhci1zZXBhcmF0b3ItY29sb3IsICNlZWUpO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmxpbmstc3dpdGNoIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLnByb2R1Y3QtaW1hZ2VzPmRpdiB7XG4gICAgbWluLWhlaWdodDogNXJlbTtcbn1cblxuLnByb2R1Y3QtbmFtZSxcbi5jYXRlZ29yeS1uYW1lLFxuLm1hbnVmYWN0dXJlci1uYW1lIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgYSB7XG4gICAgICAgIEBleHRlbmQgLmxpbmstYm9keTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXNob3J0LWRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS03MDApO1xufVxuXG4ucHJvZHVjdC1kaXNjb3VudC1hbW91bnQge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcm9kdWN0LWRpc2NvdW50LWNvbG9yKTtcblxuICAgIGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudCxcbi5wcm9kdWN0LXNhbGVzLXByaWNlLFxuLnByb2R1Y3QtcHJpY2UtYmVmb3JlLWRpc2NvdW50IGRpdixcbi5wcm9kdWN0LXNhbGVzLXByaWNlIGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucHJvZHVjdC1zYWxlcy1wcmljZSxcbi5wcm9kdWN0LXNhbGVzLXByaWNlIGRpdiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudCB7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLXByb2R1Y3QtcHJpY2UtYmVmb3JlLWRpc2NvdW50LWNvbG9yKTtcbn1cblxuLnByb2R1Y3Qtc2FsZXMtcHJpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnByb2R1Y3QtcHJpY2UtYmVmb3JlLWRpc2NvdW50IGRpdiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5wcm9kdWN0LWxpc3QtaW1hZ2VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLWhlaWdodDogMTByZW07XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZGVmYXVsdCxcbiAgICAucHJvZHVjdC1pbWFnZS1ob3ZlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZGVmYXVsdCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtaG92ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHRyYW5zZm9ybSAycyBjdWJpYy1iZXppZXIoMCwgMCwgLjQ0LCAxLjE4KTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWxpc3QtdXRpbGl0aWVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjZyZW07XG4gICAgcmlnaHQ6IDAuNnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTVweCkgdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnByb2R1Y3QtbGlzdC11dGlsaXR5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTtcbn1cblxuLnByb2R1Y3QtbGlzdC11dGlsaXR5LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnByb2R1Y3QtY29udGFpbmVyLFxuLml0ZW0tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcblxuICAgICYuYWRkLWhvdmVyLWVmZmVjdCB7XG5cbiAgICAgICAgJi5zdGF0ZS1ob3ZlcixcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSB0cmFuc2xhdGVaKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGF0ZS1ob3ZlcixcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2UtaG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOSk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1saXN0LXV0aWxpdGllcyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWJvdHRvbS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnByb2R1Y3QtY29udGFpbmVyLmFkZC1ob3Zlci1lZmZlY3Quc3RhdGUtaG92ZXIgLnByb2R1Y3QtdG9wLWNvbnRhaW5lcixcbi5wcm9kdWN0LWNvbnRhaW5lci5hZGQtaG92ZXItZWZmZWN0LnN0YXRlLWhvdmVyIC5wcm9kdWN0LWJvdHRvbS1jb250YWluZXIsXG4uaXRlbS1jb250YWluZXIuYWRkLWhvdmVyLWVmZmVjdDpob3Zlcj4qOm5vdCguaXRlbS1iYWNrZHJvcCkge1xuICAgIHotaW5kZXg6IDIyO1xufVxuXG4ucHJvZHVjdC1jb250YWluZXIuYWRkLWhvdmVyLWVmZmVjdC5zdGF0ZS1ob3ZlciAucHJvZHVjdC1ib3R0b20tY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG59XG5cbi5wcm9kdWN0LWJhY2tkcm9wLFxuLml0ZW0tYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoLTAuMjUgKiB2YXIoLS1ndXR0ZXIteCkpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBjYWxjKC0wLjI1ICogdmFyKC0tZ3V0dGVyLXgpKTtcbiAgICByaWdodDogY2FsYygtMC4yNSAqIHZhcigtLWd1dHRlci14KSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJvZHVjdC1ob3Zlci1iZywgJHdoaXRlKTtcbiAgICBib3JkZXI6IGluaGVyaXQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cbiAgICAucHJvZHVjdC1iYWNrZHJvcCxcbiAgICAuaXRlbS1iYWNrZHJvcCB7XG4gICAgICAgIHRvcDogY2FsYygtMC41ICogdmFyKC0tZ3V0dGVyLXgpKTtcbiAgICAgICAgbGVmdDogY2FsYygtMC41ICogdmFyKC0tZ3V0dGVyLXgpKTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLWd1dHRlci14KSk7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1jb250YWluZXIuYWRkLWhvdmVyLWVmZmVjdC5zdGF0ZS1ob3ZlciAucHJvZHVjdC1iYWNrZHJvcCxcbi5pdGVtLWNvbnRhaW5lci5hZGQtaG92ZXItZWZmZWN0OmhvdmVyIC5pdGVtLWJhY2tkcm9wIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB6LWluZGV4OiAyMTtcbn1cblxuLnF1YW50aXR5LWJveC5pbnB1dC1ncm91cCxcbi5xdWFudGl0eS1ib3guaW5wdXQtZ3JvdXAuaW5wdXQtZ3JvdXAtbGcge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgJj4uZm9ybS1jb250cm9sLnF1YW50aXR5LWlucHV0IHtcbiAgICAgICAgZmxleDogMCAxIDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxufVxuXG4udm0tcGFnaW5hdGlvbiAuZGlzcGxheS1jb3VudGVyLFxuLnZtLXBhZ2luYXRpb24gLmRpc3BsYXktbGltaXRib3gge1xuICAgIGZsZXg6IDE7XG59XG5cbi5xdWFudGl0eS1ib3guaW5wdXQtZ3JvdXA+LmJ0biB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjZyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuXG4udmlydHVlbWFydC1kaWFsb2cgLm1vZGFsLWhlYWRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZmxleDogMTtcbn1cblxuLnZpcnR1ZW1hcnQtZGlhbG9nIC5tb2RhbC1oZWFkZXIgLmNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICAgIGZsZXg6IDE7XG59XG5cbi52bS1pbWctZGVzYyB7XG4gICAgQGV4dGVuZCAudmlzdWFsbHktaGlkZGVuO1xufVxuXG4ucHJvZHVjdC1ncm91cC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5idG4uYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZvcm0tY2hlY2suYnRuLXZtLWN1c3RvbWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnZtLWZpZWxkLWNvbnRyb2xzPi5mb3JtLWNoZWNrLmJ0bi12bS1jdXN0b21maWVsZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi52bS1ub2Rpc3BsYXkge1xuICAgIEBleHRlbmQgLmQtbm9uZTtcbn1cblxuLmJ0bi12bS1jdXN0b21maWVsZCAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWxhYmVsLXRleHQge1xuICAgIEBleHRlbmQgLmJ0biwgLmJ0bi1zbSwgLmJ0bi1zZWNvbmRhcnk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWxhYmVsLXRleHQ6bm90KC5pcy1jb2xvci1idG4pIHtcbiAgICBtaW4td2lkdGg6IHZhcigtLW5lb3RlcmljLWN1c3RvbWZpZWxkLWJ0bi1taW4td2lkdGgsIDIuNXJlbSk7XG59XG5cbi5idG4tdm0tY3VzdG9tZmllbGQgLmZvcm0tY2hlY2stbGFiZWwtdGV4dC5pcy1jb2xvci1idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMi4xNXJlbTtcbiAgICB3aWR0aDogMi4xNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyLjE1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmJ0bi12bS1jdXN0b21maWVsZCAuZm9ybS1jaGVjay1sYWJlbC10ZXh0LmlzLWNvbG9yLWJ0bjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCIsIFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5idG4tdm0tY3VzdG9tZmllbGQgLmZvcm0tY2hlY2stbGFiZWwtcHJpY2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvcm0tY2hlY2stbGFiZWwtcHJpY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQrLmZvcm0tY2hlY2stbGFiZWwgLmZvcm0tY2hlY2stbGFiZWwtdGV4dDpub3QoLmlzLWNvbG9yLWJ0bikge1xuICAgIEBleHRlbmQgLmFjdGl2ZTtcbn1cblxuLmJ0bi12bS1jdXN0b21maWVsZCAuZm9ybS1jaGVjay1pbnB1dDpub3QoOmNoZWNrZWQpKy5mb3JtLWNoZWNrLWxhYmVsOmhvdmVyIC5mb3JtLWNoZWNrLWxhYmVsLXRleHQuaXMtY29sb3ItYnRuOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5idG4tdm0tY3VzdG9tZmllbGQgLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCsuZm9ybS1jaGVjay1sYWJlbCAuZm9ybS1jaGVjay1sYWJlbC10ZXh0LmlzLWNvbG9yLWJ0bjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmNob2ljZXNfX3ByaWNlLFxuLmZvcm0tY2hlY2stbGFiZWwtcHJpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi52bS1maWVsZC1jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5wcm9kdWN0LWZpZWxkcy10aXRsZSxcbi52bS1jbXYtbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJvZHVjdC1maWVsZHMtdGl0bGUtd3JhcHBlcixcbi52bS1jbXYtbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5wcm9kdWN0LWZpZWxkcy10b29sdGlwIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcm9kdWN0LWdyaWQtdmlldyxcbi5wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMge1xuICAgIC5wcm9kdWN0LWZpZWxkcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAudm0tZmllbGQtY29udHJvbHMge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWZpZWxkLFxuLnZtLWZpZWxkLWNvbnRyb2xzLFxuLmN1c3RvbS1maWVsZC1DLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLnByb2R1Y3QtZmllbGRzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG4uY2hvaWNlcy5jaG9pY2VzX19jdXN0b21maWVsZCB7XG4gICAgLmNob2ljZXNfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAyLjhyZW07XG5cbiAgICAgICAgLmNob2ljZXNfX2xpc3QuY2hvaWNlc19fbGlzdC0tc2luZ2xlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIC5jaG9pY2VzX19pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjM1cmVtIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC4zNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzVyZW07XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLFxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscyB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX3RodW1ibmFpbHMgLnRucy1pdGVtIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNSBlYXNlLWluO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzIC50bnMtaXRlbS50bnMtbmF2LWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLXdyYXBwZXIsXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzLWNvbnRyb2xzIC5idG4tbm9iZyB7XG4gICAgLS1idG4tYmc6IHZhcigtLWdyYXktMjAwKTtcbiAgICAtLWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLWdyYXktMjAwKTtcbiAgICAtLWJ0bi1ob3Zlci1iZzogdmFyKC0tZ3JheS0zMDApO1xuICAgIC0tYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tZ3JheS0zMDApO1xuICAgIEBleHRlbmQgLmJ0bi1saWdodDtcbiAgICBwYWRkaW5nLXRvcDogMC40cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjRyZW07XG59XG5cbi5idG4tbm9iZyB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9faXRlbS1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLXRlbXBsYXRlLXByb2R1Y3QtdGh1Ym5haWwtaW1hZ2UtbWluLWhlaWdodCwgODBweCk7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4ge1xuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX2l0ZW0taW5uZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS10ZW1wbGF0ZS1wcm9kdWN0LW1haW4taW1hZ2UtbWluLWhlaWdodCwgMzAwcHgpO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscyB7XG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9faXRlbS1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXByb2R1Y3QtdGh1bWJuYWlsLWJvcmRlci1jb2xvciwgI0ZBRkFGQSk7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICBidXR0b24uYnRuLW5vYmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4tY29udHJvbHMge1xuICAgICY+YnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4tY29udHJvbHMge1xuICAgIGJ1dHRvbi5idG4tbm9iZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgYnV0dG9uLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluO1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi1jb250cm9scyB7XG4gICAgICAgIGJ1dHRvbi5idG4tbm9iZyB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzBweCwgLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLXdyYXBwZXI6aG92ZXIge1xuICAgICAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgICAgIGJ1dHRvbi5idG4tbm9iZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjUwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX3RodW1ibmFpbHMtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscyB7XG4gICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX2l0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCgodmFyKC0tcHJvZHVjdC1nYWxsZXJ5LXZlcnRpY2FsLWhlaWdodCwgMTAwcHgpIC0gMi41cmVtKSAvIHZhcigtLXByb2R1Y3QtZ2FsbGVyeS12ZXJ0aWNhbC1pdGVtcywgMykpIC0gMXB4KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX2l0ZW0taW5uZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscy1jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICAgICAgLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4tY29udHJvbHMge1xuICAgICAgICBidXR0b24uYnRuLW5vYmcge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzLWNvbnRyb2xzIHtcbiAgICAgICAgLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LW1hbnVmYWN0dXJlcnM+LnByb2R1Y3QtbWFudWZhY3R1cmVyIHtcbiAgICBtYXgtd2lkdGg6IDhyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJj5hIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4xNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0ZGV0YWlscy12aWV3IC5wcm9kdWN0LXByaWNlcy13cmFwcGVyIHtcbiAgICAucHJvZHVjdC1wcmljZS1iZWZvcmUtZGlzY291bnQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1zYWxlcy1wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbn1cblxuLnJhdGluZy1jb3VudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuXG4uc29jaWFsLXNoYXJlLWxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNvY2lhbC1zaGFyZS1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnNvY2lhbC1zaGFyZS1saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5zb2NpYWwtc2hhcmUtbGlzdC1pdGVtPi5zb2NpYWwtc2hhcmUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC4xMnJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGV4dGVuZCAubGluay1ib2R5LWludmVydDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMjVyZW0pO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtdXRpbGl0eS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtcmVsYXRlZC10aXRsZSxcbi5tb2RhbC1wYWdlLXRpdGxlLFxuLnByb21pbmVudC10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgIH1cbn1cblxuLm1hbnVmYWN0dXJlci12aWV3LWRlZmF1bHQge1xuICAgIC5tYW51ZmFjdHVyZXItaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1tYW51ZmFjdHVyZXItaW1hZ2UtYmcsICNmN2Y3ZjcpO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMDtcbiAgICB9XG59XG5cbi5tb2RhbC1wYWdlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLmZvcm0tZ3JvdXAtdGV4dC1jb3VudGVyIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgZmxleDogMCAxIDcwcHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1uYXZpZ2F0aW9uPmEge1xuICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLnF1aWNrdmlldy1ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiA0NTBweDtcblxuICAgIC5wcm9kdWN0LWltYWdlcy1zZWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbWFudWZhY3R1cmVycyB7XG4gICAgICAgIC5wcm9kdWN0LW1hbnVmYWN0dXJlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgYnV0dG9uLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAtLXNjcm9sbGJhci13aWR0aDogNXB4O1xuICAgIC0tc2Nyb2xsYmFyLXRyYWNrLWJnOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgLS1zY3JvbGxiYXItdGh1bWItYmc6IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogdmFyKC0tc2Nyb2xsYmFyLXdpZHRoKTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLXRyYWNrLWJnKTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcbiAgICB9XG59XG5cbi5xdWlja3ZpZXctY29udGVudC1pbm5lciB7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG59XG5cbi5xdWlja3ZpZXctcHJvZHVjdC1uYXZpZ2F0aW9uIHtcbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKTtcbiAgICAgICAgcGFkZGluZzogMC43cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmLnBhZ2UtbmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLnF1aWNrdmlldy1ib2R5IHtcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi1jb250cm9scyB7XG4gICAgICAgICAgICBidXR0b24uYnRuLW5vYmcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4td3JhcHBlciB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xdWlja3ZpZXctcHJvZHVjdC1uYXZpZ2F0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlcy1zZWN0aW9uIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAucXVpY2t2aWV3LXByb2R1Y3QtbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucXVpY2t2aWV3LWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB0cmFuc3BhcmVudCA1cHgsICMwMDAgNDBweCk7XG4gICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHRyYW5zcGFyZW50IDVweCwgIzAwMCA0MHB4KTtcbiAgICB9XG5cbiAgICAucXVpY2t2aWV3LWNvbnRlbnQtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDJyZW07XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtbGFiZWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0b3A6IDAuNnJlbTtcbiAgICBsZWZ0OiAwLjZyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnByb2R1Y3QtbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9kdWN0LWxhYmVsLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tcHJvZHVjdC1sYWJlbC1jb2xvcik7XG4gICAgcGFkZGluZzogMC4zcmVtIDAuNnJlbTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgbWluLWhlaWdodDogNTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSB7XG4gICAgLnByb2R1Y3QtbGFiZWxzIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDAuNnJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLnByb2R1Y3QtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICAgICAgICAucHJvZHVjdC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52bS1sb2FkZXIge1xuICAgIC0tbWF4LW9wYWNpdHk6IDAuNTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxMDM3O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciwgdmlzaWJpbGl0eSAwLjE1cyBsaW5lYXI7XG59XG5cbi52bS1sb2FkZXItc3Bpbm5lciB7XG4gICAgLS1tYXgtb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGhlaWdodDogMjVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbG9hZGVyU3BpbiAwLjhzIGluZmluaXRlIGxpbmVhcjsgLy8gbG9hZGVyU3BpbiBrZXlmcmFtZSBkZWZpbmVkIGluIGdsb2JhbC5zY3NzXG4gICAgYW5pbWF0aW9uOiBsb2FkZXJTcGluIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgei1pbmRleDogMTAzODtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi52bS1sb2FkaW5nIHtcblxuICAgIC52bS1sb2FkZXIsXG4gICAgLnZtLWxvYWRlci1zcGlubmVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6IHZhcigtLW1heC1vcGFjaXR5KTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWxpc3QtdmlldyB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cbiAgICAucHJvZHVjdC1saXN0LXZpZXcge1xuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2FsZXMtcHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUHJvZ3Jlc3MgYmFyXG4uc3RlcHMtYmFyIHtcbiAgICAtLXN0ZXBzLWJhci1pbmFjdGl2ZS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAtLXN0ZXBzLWJhci1pbmFjdGl2ZS10ZXh0LWNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcbiAgICAtLXN0ZXBzLWJhci1pbmFjdGl2ZS1iZzogdmFyKC0td2hpdGUpO1xuICAgIC0tc3RlcHMtYmFyLWluYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tZ3JheS0zMDApO1xuICAgIC0tc3RlcHMtYmFyLWluYWN0aXZlLWxpbmUtYmc6IHZhcigtLWdyYXktMzAwKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtdGV4dC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgLS1zdGVwcy1iYXItYWN0aXZlLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtbGluZS1iZzogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgLS1zdGVwcy1iYXItc3RlcC1mb250LXNpemU6IDEuMnJlbTtcblxuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvdW50ZXItcmVzZXQ6IHN0ZXA7XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMy4ycmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0ZXBzLWJhci1pbmFjdGl2ZS1jb2xvcik7XG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKHN0ZXApO1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMy4ycmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zdGVwcy1iYXItc3RlcC1mb250LXNpemUpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3RlcHMtYmFyLWluYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDAuOHJlbSBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcHMtYmFyLWluYWN0aXZlLWJnKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjRyZW07XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcHMtYmFyLWluYWN0aXZlLWxpbmUtYmcpO1xuICAgICAgICAgICAgdG9wOiAxLjZyZW07XG4gICAgICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RlcC1kb25lIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zdGVwcy1iYXItYWN0aXZlLXRleHQtY29sb3IpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zdGVwcy1iYXItYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcHMtYmFyLWFjdGl2ZS1iZyk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0ZXBzLWJhci1hY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmK2xpOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGVwcy1iYXItYWN0aXZlLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RlcC1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0ZXBzLWJhci1hY3RpdmUtdGV4dC1jb2xvcik7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXN0ZXBzLWJhci1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc3RlcHMtYmFyLWFjdGl2ZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmNhcnQtaXRlbS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA2cmVtO1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW0tcXVhbnRpdHkge1xuICAgICAgICAucXVhbnRpdHktYm94IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1jaGVjay12bS5mb3JtLWNoZWNrIHtcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNoZWNrLWlucHV0O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNoZWNrLWxhYmVsO1xuICAgIH1cbn1cblxuLnF1YW5pdHktdXBkYXRlLXNlY3Rpb24ge1xuICAgIC5xdWFudGl0eS1pbnB1dCB7XG4gICAgICAgIG1heC13aWR0aDogNC41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uY2FydC1pcy1lbXB0eS1zZWN0aW9uLFxuLmVtcHR5LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5lbXB0eS1jYXJ0LWljb24sXG4gICAgLmVtcHR5LWNhcmQtaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5LTIwMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA4cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVtcHR5LWNhcnQtaGVhZGluZyxcbiAgICAuZW1wdHktY2FyZC1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmVtcHR5LWNhcnQtc3ViaGVhZGluZyxcbiAgICAuZW1wdHktY2FyZC1zdWJoZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXG4gICAgLmNhcnQtaXMtZW1wdHktc2VjdGlvbixcbiAgICAuZW1wdHktY2FyZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcmVtO1xuXG4gICAgICAgIC5lbXB0eS1jYXJ0LWljb24sXG4gICAgICAgIC5lbXB0eS1jYXJkLWljb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmVtcHR5LWNhcnQtaGVhZGluZyxcbiAgICAgICAgLmVtcHR5LWNhcmQtaGVhZGluZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZW1wdHktY2FydC1zdWJoZWFkaW5nLFxuICAgICAgICAuZW1wdHktY2FyZC1zdWJoZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1jb3Vwb24tZmllbGQge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIH1cbn1cblxuLmNhcnQtZmllbGRzLXNlY3Rpb24ge1xuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbWluLWhlaWdodDogOHJlbTtcbiAgICB9XG5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FydC1zdW1tZXJ5IHtcblxuICAgIC5QcmljZWJpbGxUb3RhbCxcbiAgICAudG90YWxJblBheW1lbnRDdXJyZW5jeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWZpZWxkLXR5cGUtTSB7XG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzcmVtO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLnRhYmxlLWNhcnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICB0aGVhZCxcbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG5cbiAgICAgICAgICAgICZbZGF0YS10aXRsZV0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY2FydC1pdGVtLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY2FydC1jb2x1bW4tZW1wdHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWdyYW5kLXRvdGFsLFxuICAgICAgICAuY2FydC1wYXltZW50LXRvdGFsIHtcbiAgICAgICAgICAgIC5jYXJ0LXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtaXRlbS1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZtZS1tb2RfX2NvbnRlbnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5oYXMtbW9kLWxvYWRlcixcbi52bWUtbW9kLWNvbnRlbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubW9kLWxvYWRlcixcbiAgICAudm1lLW1vZC1sb2FkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgei1pbmRleDogMTA1MDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDUxO1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3JvdztcbiAgICAgICAgICAgIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ncm93O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm1lLW1vZF9fZW1wdHkge1xuICAgIC5lbXB0eS1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktMjAwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVtcHR5LWhlYWRpbmcge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi52bWUtbW9kX19vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgICAub2ZmY2FudmFzLWJhY2tkcm9wLmZhZGUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxufVxuXG4udm1lLW1vZF9fcHJvZHVjdC1kZXRhaWxzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0zMDApO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG59XG5cbi52bWUtbW9kX19zaG93LWxpbmstY29udGFpbmVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ3JheS0zMDApO1xufVxuXG4ubW9kLW1pbmljYXJ0X19jYXJ0LXN1YnRvdGFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLm1vZC1taW5pY2FydF9fY2FydC1zdWJ0b3RhbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi52cHBsLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udnBwbC1uYW1lIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG59XG5cbi52cHBsLWltYWdlLWNvbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1wcm9kdWN0LXRodW1ibmFpbC1ib3JkZXItY29sb3IsICNGQUZBRkEpO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi52cHByaW1lLW1hbnVmYWN0dXJlci1jYXJvdXNlbCB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgLnZwcHJpbWUtbWFudWZhY3R1cmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncmF5LXNjYWxlLWVmZmVjdCB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2UgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWNhcm91c2VsLXRucy1vdXRlciB7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAudG5zLW92aCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICAudG5zLW5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogODtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNTAwcHgpIHtcbiAgICAuY29udGFpbmVyLXh4bCB7XG4gICAgICAgIC5wcm9kdWN0LWNhcm91c2VsLXRucy1vdXRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm0tY3VycmVuY3ktc2VsZWN0b3Ige1xuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgIH1cblxuICAgIC5jdXJyZW5jeS1ibG9jayB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuXG4gICAgICAgICAgICAmLmN1cnJlbmN5LWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZC1taW5pY2FydF9fcHJvZHVjdC1kZXRhaWxzLFxuLnZtZS1tb2RfX2NvbnRlbnRzIHtcbiAgICAubW9kLXByb2R1Y3QtcHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLmNmLWZvcm0tc2VhcmNoIC5pbnB1dC1hcHBlbmQge1xuICAgIEBleHRlbmQgLmlucHV0LWdyb3VwO1xuXG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpub3QoLmZvcm0tY29udHJvbCksXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl06bm90KC5mb3JtLWNvbnRyb2wpIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sO1xuICAgIH1cbn1cblxuLnZtcGF5bWVudF9kZXNjcmlwdGlvbixcbi52bXNoaXBtZW50X2Nvc3QsXG4udm1wYXltZW50X2Nvc3Qge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG59XG5cbi52bXBheW1lbnRfZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufSIsIi8vIENvb2tpZSBDb25zZW50XG5cbi52cC1jb29raWUtY29uc2VudCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDkwMDAwMTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4yNXMgbGluZWFyO1xufVxuXG4udnAtY29va2llLWNvbnNlbnQtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBnYXA6IDJyZW07XG4gICAgcGFkZGluZzogMnJlbSAyLjVyZW07XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1jb29raWUtY29uc2VudC1jb2xvciwgdmFyKC0tYm9keS1jb2xvcikpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWNvb2tpZS1jb25zZW50LWJnLCAjZjNmM2YzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1jb29raWUtY29uc2VudC1ib3JkZXItY29sb3IsICNkZGQpO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDEzcHggMCByZ2JhKDAsIDAsIDAsIDAuMjMpO1xuICAgIFxuICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtY29va2llLWNvbnNlbnQtbGluay1jb2xvciwgdmFyKC0tdGVtcGxhdGUtbGluay1jb2xvcikpO1xuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWNvb2tpZS1jb25zZW50LWxpbmstY29sb3IsIHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWNvb2tpZS1jb25zZW50LWxpbmstaG92ZXItY29sb3IsIHZhcigtLXRlbXBsYXRlLWxpbmstaG92ZXItY29sb3IpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZwLWNvb2tpZS1jb25zZW50IHtcbiAgICAmLnRvcCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi50b3AtbGVmdCB7XG4gICAgICAgIGxlZnQ6IDIuNXJlbTtcbiAgICAgICAgdG9wOiAyLjVyZW07XG4gICAgfVxuXG4gICAgJi50b3AtcmlnaHQge1xuICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICB0b3A6IDIuNXJlbTtcbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5ib3R0b20tbGVmdCB7XG4gICAgICAgIGxlZnQ6IDIuNXJlbTtcbiAgICAgICAgYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgJi5ib3R0b20tcmlnaHQge1xuICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICBib3R0b206IDIuNXJlbTtcbiAgICB9XG5cbiAgICAmLmNlbnRlciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgICYudG9wLFxuICAgICYudG9wLWxlZnQsXG4gICAgJi50b3AtcmlnaHQsXG4gICAgJi5ib3R0b20sXG4gICAgJi5ib3R0b20tbGVmdCxcbiAgICAmLmJvdHRvbS1yaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIH1cblxuICAgICYudG9wLFxuICAgICYuYm90dG9tIHtcbiAgICAgICAgLnZwLWNvb2tpZS1jb25zZW50LWlubmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52cC1jb29raWUtY29uc2VudCB7XG4gICAgJi52cC1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYudnAtZmFkZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgJi50b3AsXG4gICAgICAgICYudG9wLWxlZnQsXG4gICAgICAgICYudG9wLXJpZ2h0e1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJvdHRvbSxcbiAgICAgICAgJi5ib3R0b20tbGVmdCxcbiAgICAgICAgJi5ib3R0b20tcmlnaHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZwLWNvb2tpZS1jb25zZW50LWJ1dHRvbiB7XG4gICAgLS1idG4tcGFkZGluZy14OiAycmVtO1xuICAgIHRleHQtd3JhcDogbm93cmFwO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAudnAtY29va2llLWNvbnNlbnQge1xuICAgICAgICAmLnRvcC1sZWZ0LFxuICAgICAgICAmLnRvcC1yaWdodCxcbiAgICAgICAgJi5ib3R0b20tbGVmdCxcbiAgICAgICAgJi5ib3R0b20tcmlnaHQsXG4gICAgICAgICYuY2VudGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmNlbnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudG9wLWxlZnQsXG4gICAgICAgICYudG9wLXJpZ2h0IHtcbiAgICAgICAgICAgIHRvcDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ib3R0b20tbGVmdCxcbiAgICAgICAgJi5ib3R0b20tcmlnaHQge1xuICAgICAgICAgICAgYm90dG9tOiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLnRvcCxcbiAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgICAgLnZwLWNvb2tpZS1jb25zZW50LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudnAtY29va2llLWNvbnNlbnQtaW5uZXIge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLmJvdHRvbSxcbiAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgLnZwLWNvb2tpZS1jb25zZW50LWlubmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gQXdlc29tcGxldGVcblxuLm1vZC1maW5kZXJfX3NlYXJjaC5pbnB1dC1ncm91cCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICAuYXdlc29tcGxldGUge1xuICAgIGlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAuaWNvbi1zZWFyY2gge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC4yZW07XG4gICAgfVxuICB9XG59XG5cbi5hd2Vzb21wbGV0ZSB7XG4gID4gaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG4gID4gdWwge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd24gIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gQnV0dG9uc1xuXG4uYnRuIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJ0bjpmb2N1cyxcbi5idG4uZm9jdXMsXG4uYnRuOmFjdGl2ZTpmb2N1cyxcbi5idG4uZm9jdXM6YWN0aXZlLFxuLmJ0bi5hY3RpdmU6Zm9jdXMsXG4uYnRuLmFjdGl2ZS5mb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ0bi5ncm91cC1tb3ZlIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAkZ3JheS04MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRncmF5LTgwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG4gIH1cbn1cblxuLmJ0bi1saW5rIHtcbiAgLS1idG4tY29sb3I6IHZhcigtLWJvZHktY29sb3IsIGluaGVyaXQpO1xuICAtLWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgLS1idG4tZm9jdXMtY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gIC0tYnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgLS1idG4tYm9yZGVyLXdpZHRoOiAycHg7XG4gIC0tYnRuLXBhZGRpbmcteDogMDtcbiAgLS1idG4tcGFkZGluZy15OiAwO1xuICAtLWJ0bi1mb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmOmFjdGl2ZTpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpO1xuICB9XG59XG5cbi5saW5rLXN3aXRjaCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjQ7XG5cbiAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoLmFjdGl2ZSksXG4gICY6Zm9jdXM6bm90KC5hY3RpdmUpIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gIC0tYnRuLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKTtcbiAgLS1idG4tYmc6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb250cmFzdC1jb2xvcik7XG4gIC0tYnRuLWhvdmVyLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbG9yKTtcbiAgLS1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbG9yKTtcbiAgLS1idG4tZm9jdXMtc2hhZG93LXJnYjogMzksIDM5LCAxMTE7XG4gIC0tYnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb250cmFzdC1jb2xvcik7XG4gIC0tYnRuLWFjdGl2ZS1iZzogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb2xvcik7XG4gIC0tYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktaG92ZXItY29sb3IpO1xuICAtLWJ0bi1hY3RpdmUtc2hhZG93OiBub25lO1xuICAtLWJ0bi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb250cmFzdC1jb2xvcik7XG4gIC0tYnRuLWRpc2FibGVkLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgLS1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAtLWJ0bi1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gIC0tYnRuLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gIC0tYnRuLWhvdmVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbnRyYXN0LWNvbG9yKTtcbiAgLS1idG4taG92ZXItYmc6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktaG92ZXItY29sb3IpO1xuICAtLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktaG92ZXItY29sb3IpO1xuICAtLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAxLCAxLCA4NjtcbiAgLS1idG4tYWN0aXZlLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbnRyYXN0LWNvbG9yKTtcbiAgLS1idG4tYWN0aXZlLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbG9yKTtcbiAgLS1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb2xvcik7XG4gIC0tYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1idG4tZGlzYWJsZWQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG59XG5cbi5idG4taWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjJyZW0gMC41cmVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5idG4taG92ZXIge1xuICBvcGFjaXR5OiAwLjc1O1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmJ0bi1jbG9zZSB7XG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuXG4gID5pbnB1dCB7XG4gICAgICBwYWRkaW5nOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAuNTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTQwMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gIH1cblxuICA+LmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5hcnRpY2xlLWluZm8gLmFzc29jaWF0aW9uLFxuLmNhdC1saXN0LWFzc29jaWF0aW9uIHtcbiAgLmJ0bi1zZWNvbmRhcnkge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS02MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTgwMDtcbiAgICB9XG4gIH1cblxuICAuYnRuLXNtIHtcbiAgICBwYWRkaW5nOiAwIC4yNXJlbTtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICB9XG59XG5cbi5vZmZjYW52YXMtdG9nZ2xlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1vZGFsLWhlYWRlci50ZXh0LXdoaXRlIHtcbiAgLmJ0bi1jbG9zZSB7XG4gICAgICBjb2xvcjogdmFyKC0tbmVvdGVyaWMtb2ZmY2FudmFzLWhlYWRlci1jb2xvciwgI2ZmZik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjZmZmZmZmJz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSk7XG4gIH1cbn1cblxuLmJ0bi1zd2l0Y2gge1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIGhlaWdodDogMi4zNnJlbTtcbiAgd2lkdGg6IDIuMzZyZW07XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICB9XG4gIC5pbnB1dC1ncm91cCAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvLyBDdXN0b20gRm9ybXNcblxuLmN1c3RvbS1zZWxlY3Qge1xuICBAZXh0ZW5kIC5mb3JtLXNlbGVjdDtcbn1cblxuLmZvcm0tc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiAkaW5wdXQtbWF4LXdpZHRoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICRmb3JtLXNlbGVjdC1iYWNrZ3JvdW5kICN7XCIvKiBydGw6XCJ9JGZvcm0tc2VsZWN0LWJhY2tncm91bmQtcnRsI3tcIiovXCJ9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93KTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLWlucHV0LWZvY3VzLWJvcmRlci1jb2xvciwgJGlucHV0LWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgIG9wdGlvbiB7XG4gICAgICBwYWRkaW5nOiAkZm9ybS1zZWxlY3QtbXVsdGlwbGUtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5lb3RlcmljLWNvbG9yLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLXNlbGVjdC1zdWNjZXNzLFxuICAmLmN1c3RvbS1zZWxlY3Qtc3VjY2VzcyB7XG4gICAgY29sb3I6ICRzdWNjZXNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzO1xuXG4gICAgb3B0aW9uIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLXNlbGVjdC1kYW5nZXIsXG4gICYuY3VzdG9tLXNlbGVjdC1kYW5nZXIge1xuICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG5cbiAgICBvcHRpb24ge1xuICAgICAgY29sb3I6ICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBvcHRncm91cCxcbiAgb3B0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tZGFyayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi8vIEJhY2t3YXJkcyBjb21wYXQgd2l0aCBCUzRcbi5mb3JtLWdyb3VwIHtcbiAgQGV4dGVuZCAubWItMztcbn1cbiIsIi8vIENvbGxhcHNlXG5cbi5hY2NvcmRpb24ge1xuXG4gIC5jYXJkLWhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1uZW90ZXJpYy1mb250LXdlaWdodC1oZWFkaW5ncywgJGZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gIH1cblxufVxuIiwiLy8gRHJvcGRvd25cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwYWRkaW5nOiAuMnJlbSAwO1xuICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXItY29sb3I6ICRuZW90ZXJpYy1ib3JkZXItY29sb3I7XG59XG5cbi5kcm9wZG93bi1tZW51LWVuZCB7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAuOXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cbi50b3AtYmFyLWNvbnRlbnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLS1kcm9wZG93bi16aW5kZXg6IDEwMzA7XG4gICAgLS1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC0tZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogMDtcbiAgICAtLWRyb3Bkb3duLWZvbnQtc2l6ZTogMC45cmVtO1xuICAgIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuZmllbGQtbWVkaWEtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwdncgLSA1cmVtKTtcblxuICAuZmllbGQtbWVkaWEtcHJldmlldyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG59XG5cbi5saXN0LXVuc3R5bGVkIC5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuIiwiLy8gTW9kYWxcblxuLmp2aWV3cG9ydC1oZWlnaHQge1xuICAmMTAge1xuICAgIGhlaWdodDogMTB2aDtcbiAgfVxuXG4gICYyMCB7XG4gICAgaGVpZ2h0OiAyMHZoO1xuICB9XG5cbiAgJjMwIHtcbiAgICBoZWlnaHQ6IDMwdmg7XG4gIH1cblxuICAmNDAge1xuICAgIGhlaWdodDogNDB2aDtcbiAgfVxuXG4gICY1MCB7XG4gICAgaGVpZ2h0OiA1MHZoO1xuICB9XG5cbiAgJjYwIHtcbiAgICBoZWlnaHQ6IDYwdmg7XG4gIH1cblxuICAmNzAge1xuICAgIGhlaWdodDogNzB2aDtcbiAgfVxuXG4gICY4MCB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICB9XG5cbiAgJjkwIHtcbiAgICBoZWlnaHQ6IDkwdmg7XG4gIH1cblxuICAmMTAwIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbltjbGFzcyo9anZpZXdwb3J0LWhlaWdodF0gaWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubW9kYWwtZGlhbG9nLmp2aWV3cG9ydC13aWR0aCB7XG4gICYxMCB7XG4gICAgd2lkdGg6IDEwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJjIwIHtcbiAgICB3aWR0aDogMjB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmMzAge1xuICAgIHdpZHRoOiAzMHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICY0MCB7XG4gICAgd2lkdGg6IDQwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJjUwIHtcbiAgICB3aWR0aDogNTB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmNjAge1xuICAgIHdpZHRoOiA2MHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICY3MCB7XG4gICAgd2lkdGg6IDcwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJjgwIHtcbiAgICB3aWR0aDogODB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmOTAge1xuICAgIHdpZHRoOiA5MHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICYxMDAge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIFRhYnNcblxuLm5hdi5uYXYtdGFicyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5lb3RlcmljLXRhYnMtaGVhZGVyLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRuZW90ZXJpYy1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgYm94LXNoYWRvdzogMCAxcHggJHdoaXRlIGluc2V0LCAwIDJweCAzcHggLTNweCBoc2xhKDAsIDAlLCAwJSwgLjE1KSwgMCAtNHB4IDAgaHNsYSgwLCAwJSwgMCUsIC4wNSkgaW5zZXQsICRuZW90ZXJpYy1ib3gtc2hhZG93O1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIC5uYXYtbGluayB7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogLTFweCAwIDFweCAtMXB4IGhzbGEoMCwgMCUsIDAlLCAuMDYpLCBpbnNldCAtMnB4IDAgMXB4IC0xcHggaHNsYSgwLCAwJSwgMCUsIC4wOCksIGluc2V0IDAgMXB4IDAgaHNsYSgwLCAwJSwgMCUsIC4wMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIC5uYXYtbGluayB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCBoc2xhKDAsIDAlLCAwJSwgLjA1KSwgMXB4IDAgMCBoc2xhKDAsIDAlLCAwJSwgLjA1KTtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDFweCAtMXB4IGhzbGEoMCwgMCUsIDAlLCAuMDgpLCBpbnNldCAtMnB4IDAgMXB4IC0xcHggaHNsYSgwLCAwJSwgMCUsIC4wOCksIGluc2V0IDAgMXB4IDAgaHNsYSgwLCAwJSwgMCUsIC4wMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAuNzVlbSAxZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogLTFweCAwIDAgaHNsYSgwLCAwJSwgMCUsIC4wNSk7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5lb3RlcmljLXRhYnMtYWN0aXZlLWJnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgaHNsYSgwLCAwJSwgMCUsIDApLCBoc2xhKDAsIDAlLCAwJSwgLjA1KSAxMDAlKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgMXB4IC0xcHggaHNsYSgwLCAwJSwgMCUsIC4wOCksIGluc2V0IC0ycHggMCAxcHggLTFweCBoc2xhKDAsIDAlLCAwJSwgLjA4KSwgaW5zZXQgMCAxcHggMCBoc2xhKDAsIDAlLCAwJSwgLjAyKTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZW90ZXJpYy10YWJzLWFjdGl2ZS1oaWdobGlnaHQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXYtdGFicysudGFiLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJG5lb3RlcmljLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJG5lb3RlcmljLWJveC1zaGFkb3c7XG59XG5cbi5uYXYtdGFicy1iYXNpYyB7XG4gICAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgICAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtbGluay5hY3RpdmUsXG4gICAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgfVxufVxuXG4ubmF2LXRhYnMtc2ltcGxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICYrLnRhYi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAubmF2LWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtc2ltcGxlLXRhYi1saW5rLWNvbG9yLCB2YXIoLS1ncmF5LTYwMCkpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1uYXYtc2ltcGxlLXRhYi1saW5rLXBhZGRpbmcteSwgMC42cmVtKSB2YXIoLS1uYXYtc2ltcGxlLXRhYi1saW5rLXBhZGRpbmcteCwgMXJlbSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5hY3RpdmU6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdi1zaW1wbGUtdGFiLWxpbmstYWN0aXZlLWNvbG9yLCB2YXIoLS1ib2R5LWNvbG9yKSk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXYtb2ZmY2FudmFzLXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwLjhyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEwNik7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufSIsIi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IDFyZW07XG59XG4iLCIvLyBUYWJsZVxuXG4udGFibGUge1xuXG4gIHRoIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi50YWJsZS1jYXJ0IHtcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6IDEuMXJlbSAwLjlyZW07XG4gIH1cblxuICB0aCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuIiwiLy8gQ2hvc2VuXG5cbiRjaG9zZW4tc2VsZWN0LXBhZGRpbmcteTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteSArIC4yMTtcblxuLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICBtYXgtd2lkdGg6ICRpbnB1dC1tYXgtd2lkdGg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAuY2hvc2VuLXNpbmdsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJHNlbGVjdC1ib3JkZXItd2lkdGg6ICgkZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoICogMik7XG4gICAgaGVpZ2h0OiAjeyRpbnB1dC1oZWlnaHR9O1xuICAgIHBhZGRpbmc6ICRjaG9zZW4tc2VsZWN0LXBhZGRpbmcteSAoJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGNob3Nlbi1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJGZvcm0tc2VsZWN0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXNlbGVjdC1iZyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yIG5vLXJlcGVhdCByaWdodCAwLjI1cmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lIFxcOTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplO1xuICAgIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICAgIGFiYnIge1xuICAgICAgdG9wOiAxMHB4O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgZGl2IGIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5jaG9zZW4tZHJvcCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmNob3Nlbi1yZXN1bHRzIGxpIHtcbiAgICBsaW5lLWhlaWdodDogY2FsYygjeyRmb250LXNpemUtYmFzZX0gKyAuM3JlbSk7XG4gIH1cblxuICAvKlxuICAmLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tc2luZ2xlIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gICovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAuY2hvc2VuLWNob2ljZXMge1xuICAgIG1heC13aWR0aDogJGlucHV0LW1heC13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAjeyRpbnB1dC1oZWlnaHR9O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJHdoaXRlO1xuXG4gICAgbGkuc2VhcmNoLWNob2ljZSB7XG4gICAgICAkY2hvc2VuLW11bHRpLWNsb3NlLXdpZHRoOiAyMHB4O1xuXG4gICAgICBwYWRkaW5nOiA1cHggKDEzICsgJGNob3Nlbi1tdWx0aS1jbG9zZS13aWR0aCkgNXB4IDEwcHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiAkbmVvdGVyaWMtYm94LXNoYWRvdztcblxuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6ICRjaG9zZW4tbXVsdGktY2xvc2Utd2lkdGg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgIHJpZ2h0OiAkY2hvc2VuLW11bHRpLWNsb3NlLXdpZHRoICogLjI1O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgY29udGVudDogXCJcXDAwZDdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8vIFRFTVBPUkFSWVxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLy8gRU5EIFRFTVBPUkFSWVxuXG4uY2FyZCAuY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgLmNob3Nlbi1zaW5nbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIERyYWd1bGFcblxuLmd1LW1pcnJvciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OTk5ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMTIwLCA3MyUsIDc1JSk7XG4gIG9wYWNpdHk6IC44O1xuXG4gICYudGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG5cbiAgfVxuXG59XG4iLCIvLyBNaW5pY29sb3Vyc1xuXG4ubWluaWNvbG9ycy10aGVtZS1ib290c3RyYXAge1xuXG4gIC5taW5pY29sb3JzLWlucHV0IHtcbiAgICB3aWR0aDogMTIwcHg7XG4gIH1cblxuICAucmdiIHtcbiAgICB3aWR0aDogMTc1cHg7XG4gIH1cblxuICAucmdiYSB7XG4gICAgd2lkdGg6IDIyMHB4O1xuICB9XG5cbn1cbiIsIi8vIFRpbnlNQ0VcblxuLmVkaXRvciB7XG5cbiAgLnRvZ2dsZS1lZGl0b3Ige1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAubWNlLXRpbnltY2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm1jZS1idG4sXG4gIC5tY2UtcGFuZWwge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWJnLWNvbG9yLWxpZ2h0O1xuICB9XG5cbn1cblxuLnRveCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cbiIsIi8vIFJlbW92ZSBwcmVmaXggYWRkZWQgaW4gQlM1IGZvciBjb21wYXQgd2l0aCBKb29tbGEgYmV0YSdzIHNoaXBwZWQgd2l0aCBCZXRhc1xuJHByZWZpeDogXCJcIjtcblxuLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ0b29scy92YXJpYWJsZXMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXMtZGFya1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9tYXBzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXNcIjtcblxuLy8gSW5jbHVkZSB0ZW1wbGF0ZSB1dGlsaXRpZXNcbkBpbXBvcnQgXCJibG9ja3MvdXRpbGl0aWVzXCI7XG5cbi8vIFZhcmlhYmxlcywgRnVuY3Rpb25zIGFuZCBNaXhpbnNcbkBpbXBvcnQgXCJ0b29scy90b29sc1wiO1xuXG4vLyBCb290c3RyYXBcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwXCI7XG5cbi8vIGpRdWVyeSBNaW5pY29sb3JzXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vc3lzdGVtL3Njc3MvanF1ZXJ5LW1pbmljb2xvcnNcIjtcblxuLy8gQmxvY2tzXG5AaW1wb3J0IFwiYmxvY2tzL2dsb2JhbFwiOyAvLyBMZWF2ZSB0aGlzIGZpcnN0XG5AaW1wb3J0IFwiYmxvY2tzL2FsZXJ0c1wiO1xuQGltcG9ydCBcImJsb2Nrcy9iYWNrLXRvLXRvcFwiO1xuQGltcG9ydCBcImJsb2Nrcy9iYW5uZXJcIjtcbkBpbXBvcnQgXCJibG9ja3MvZm9vdGVyXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2Zvcm1cIjtcbkBpbXBvcnQgXCJibG9ja3MvZnJvbnRlbmQtZWRpdFwiO1xuQGltcG9ydCBcImJsb2Nrcy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJibG9ja3MvaWNvbnNcIjtcbkBpbXBvcnQgXCJibG9ja3MvaWZyYW1lXCI7XG5AaW1wb3J0IFwiYmxvY2tzL29iamVjdFwiO1xuQGltcG9ydCBcImJsb2Nrcy9sYXlvdXRcIjtcbkBpbXBvcnQgXCJibG9ja3MvbW9kYWxzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL21vZGlmaWVyc1wiO1xuQGltcG9ydCBcImJsb2Nrcy90b29sYmFyXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2xlZ2FjeVwiO1xuQGltcG9ydCBcImJsb2Nrcy90YWdzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2pvb21sYVwiO1xuQGltcG9ydCBcImJsb2Nrcy92aXJ0dWVtYXJ0XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2Nvb2tpZV9jb25zZW50XCI7XG5cbi8vIFZlbmRvciBvdmVycmlkZXNcbkBpbXBvcnQgXCJ2ZW5kb3IvYXdlc29tcGxldGVcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL2N1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcInZlbmRvci9ib290c3RyYXAvY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Jvb3RzdHJhcC9mb3Jtc1wiO1xuQGltcG9ydCBcInZlbmRvci9ib290c3RyYXAvbGlzdHNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL21vZGFsXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Jvb3RzdHJhcC9uYXZcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL3RhYmxlXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Nob3NlblwiO1xuQGltcG9ydCBcInZlbmRvci9kcmFndWxhXCI7XG5AaW1wb3J0IFwidmVuZG9yL21pbmljb2xvcnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvdGlueW1jZVwiO1xuXG4vLyBGaW5hbGx5IGFkZCB0aGUgbmVvdGVyaWMgY29sb3Vyc1xuOnJvb3Qge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGVtcGxhdGUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXktdGV4dC1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuLmJvcmRlci1wcmltYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXNlY29uZGFyeSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXN1Y2Nlc3Mge1xuICBib3JkZXItY29sb3I6IHZhcigtLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taW5mbykgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS13YXJuaW5nKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhbmdlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZGFuZ2VyKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxpZ2h0IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6IHZhcigtLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWluZm8ge1xuICBjb2xvcjogdmFyKC0taW5mbykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2FybmluZyB7XG4gIGNvbG9yOiB2YXIoLS13YXJuaW5nKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogdmFyKC0tZGFuZ2VyKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1saWdodCB7XG4gIGNvbG9yOiB2YXIoLS1saWdodCkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFyayB7XG4gIGNvbG9yOiB2YXIoLS1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ibGFjayB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjaykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2hpdGUge1xuICBjb2xvcjogdmFyKC0td2hpdGUpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJvZHkge1xuICBjb2xvcjogdmFyKC0tYm9keS1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYmctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5mbykgIWltcG9ydGFudDtcbn1cblxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13YXJuaW5nKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFuZ2VyKSAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCkgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4uYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjaykgIWltcG9ydGFudDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9keS1iZykgIWltcG9ydGFudDtcbn0iXX0= */
