/*
 * Modified Bootstrap Reboot v5.1.1 (https://getbootstrap.com/) (removed colors and links underlining)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25;
}

hr:not([size]) {
  height: 1px;
}

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

h1 {
  font-size: calc(1.375rem + 1.5vw);
}

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

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

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

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

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

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

ol,
ul {
  list-style: none;
}

ol,
ul,
dl {
  margin: 0;
  padding: 0;
}

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 {
  font-size: 0.875em;
}

mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  text-decoration: none;
}

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

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
  direction: ltr;
  unicode-bidi: bidi-override;
}

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: #d63384;
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 0.875em;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem;
}

kbd kbd {
  padding: 0;
  font-size: 1em;
  font-weight: 700;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

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

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

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

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

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

[list]::-webkit-calendar-picker-indicator {
  display: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

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

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

textarea {
  resize: vertical;
}

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

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
  white-space: normal;
}

@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

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

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

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

::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

::-webkit-file-upload-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;
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
:root {
  /* Layout Settings */
  --phone-width: 576px;
  --tablet-width: 768px;
  --desktop-width: 1112px;
  --desktop-width-sm: 1024px;
  --desktop-width-m: 1280px;
  --desktop-width-l: 1440px;
  --desktop-width-xl: 1660px;
  --content-width: var(--desktop-width-l);
  --blog-width: 760px;
  --page-gutter: 20px;
  --grid-gutter: 24px;
  --vertical-gap: 8vmin;
  --base-transition: .3s;
  /* Colors */
  --primary-color1: #213B8C;
  --primary-color2: #F5DD57;
  --primary-color3: #fff;
  --secondary-color1: #F5FAFE;
  --secondary-color2: #D2D8E0;
  --secondary-color3: #213B8C;
  --secondary-color4: #5E328A;
  --secondary-color5: #2455C9;
  --body-bg: #fff;
  --body-bg-alt: var(--primary-color1);
  --body-text-color: var(--secondary-color3);
  --body-text-color-alt: var(--primary-color3);
  --titles-color: var(--primary-color1);
  --titles-color-alt: var(--primary-color3);
  --titles-color-accent: inherit;
  --primary-link-color: var(--secondary-color3);
  --primary-link-color-alt: var(--secondary-color2);
  --border-color: #DEE2E8;
  --divider-color: #ECEFF2;
}
@media (max-width: 1112px) {
  :root {
    --vertical-gap: 35px;
  }
}

/* Typography */
/* Mixin origin: https://marc-ed-raffalli.github.io/2017/10/14/sass-font-face.html */
@font-face {
  font-family: "inter";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/inter/inter-v11-latin-regular.woff") format("woff"), url("../../fonts/inter/inter-v11-latin-regular.woff2") format("woff2");
}
@font-face {
  font-family: "inter";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/inter/inter-v11-latin-600.woff") format("woff"), url("../../fonts/inter/inter-v11-latin-600.woff2") format("woff2");
}
@font-face {
  font-family: "inter";
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/inter/inter-v11-latin-800.woff") format("woff"), url("../../fonts/inter/inter-v11-latin-800.woff2") format("woff2");
}
@font-face {
  font-family: "roboto";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/roboto/roboto-v30-latin-500.woff") format("woff"), url("../../fonts/roboto/roboto-v30-latin-500.woff2") format("woff2");
}
:root {
  --font-family-primary: "inter", sans-serif;
  --font-family-secondary: "inter", sans-serif;
  --font-family-secondary-2: "roboto", sans-serif;
  --base-text-size: clamp(14px, 1.05vw, 2rem);
  --base-text-font: var(--font-family-primary);
  --base-text-line-height: 1.5;
  --base-text-font-weight: 400;
  --larger-text-size: 2.6rem;
  --larger-text-font-weight: 400;
  --smaller-text-size: clamp(12px, 0.84vw, 1.6rem);
  --smaller-text-font-weight: 400;
  --blog-text-size: clamp(1.6rem, 1.05vw, 2rem);
  --blog-text-font-weight: 400;
  --h-clamp-formula: 3vw + 1.8rem;
  --h1-font-size: 6.8rem;
  --h1-font-size-mobile: 30px;
  --h1-line-height: 1.1;
  --h1-letter-spacing: -0.03em;
  --h1-margin-bottom: 0;
  --h1-font: var(--font-family-primary);
  --h1-font-weight: 800;
  --h1-text-transform: none;
  --h1-subtitle-font-size: 2.6rem;
  --h1-subtitle-font-size-mobile: 18px;
  --h2-font-size: 5.4rem;
  --h2-font-size-mobile: 25px;
  --h2-line-height: 1.2;
  --h2-letter-spacing: -0.03em;
  --h2-margin-bottom: .5em;
  --h2-font: var(--font-family-secondary);
  --h2-font-weight: 800;
  --h2-text-transform: none;
  --h2-subtitle-font-size: 2.2rem;
  --h2-subtitle-font-size-mobile: 16px;
  --h3-font-size: 3rem;
  --h3-font-size-mobile: 18px;
  --h3-line-height: 1.3;
  --h3-letter-spacing: 0;
  --h3-margin-bottom: .5em;
  --h3-font: var(--font-family-secondary);
  --h3-font-weight: 800;
  --h3-text-transform: none;
  --h4-font-size: 2.1rem;
  --h4-font-size-mobile: 18px;
  --h4-line-height: 1.3;
  --h4-letter-spacing: -0.03em;
  --h4-margin-bottom: .5em;
  --h4-font: var(--font-family-secondary);
  --h4-font-weight: 700;
  --h4-text-transform: none;
  --pretitle-color: currentColor;
  --pretitle-color-alt: currentColor;
  --pretitle-font-size: 2.2rem;
  --pretitle-font-size-mobile: 20px;
  --pretitle-line-height: 1.2;
  --pretitle-letter-spacing: 0;
  --pretitle-margin-bottom: .5em;
  --pretitle-font: var(--font-family-primary);
  --pretitle-font-weight: 400;
  --pretitle-text-transform: none;
  --subtitle-color: currentColor;
  --subtitle-color-alt: currentColor;
  --subtitle-font-size: 2.4rem;
  --subtitle-font-size-mobile: 16px;
  --subtitle-line-height: 1.6;
  --subtitle-letter-spacing: 0;
  --subtitle-margin-bottom: 1em;
  --subtitle-font: var(--font-family-primary);
  --subtitle-font-weight: 400;
  --subtitle-text-transform: none;
}
@media (max-width: 767px) {
  :root {
    --h2-margin-bottom: 1.2em;
  }
}

/* Buttons*/
:root {
  --btn-font-family: var(--font-family-primary);
  --btn-font-size: clamp(14px, 0.95vw, 1.8rem);
  --btn-font-weight: 600;
  --btn-text-transform: none;
  --btn-padding-top-bottom: 13px;
  --btn-padding-left-right: 30px;
  --btn-border-radius: 35px;
  --btn-primary-color: var(--secondary-color3);
  --btn-primary-color-hover: var(--secondary-color3);
  --btn-primary-bg: var(--primary-color2);
  --btn-primary-bg-hover: var(--primary-color2);
  --btn-primary-border-color: var(--primary-color1);
  --btn-primary-border-color-hover: var(--secondary-color3);
  --btn-primary-border: 0;
  --btn-primary-shadow: none;
  --btn-secondary-color: var(--secondary-color3);
  --btn-secondary-color-hover: var(--primary-color1);
  --primary-color3: var(--secondary-color1);
  --btn-secondary-bg: #fff;
  --btn-secondary-bg-hover: var(--primary-color2);
  --btn-secondary-border-color: var(--secondary-color2);
  --btn-secondary-border-color-hover: var(--secondary-color2);
  --btn-secondary-border: 2px;
  --btn-secondary-shadow: none;
  --btn-link-color: var(--primary-color1);
  --btn-link-color-hover: var(--secondary-color5);
  --link-icon-color: var(--primary-color2);
  --button-flex-direction: row;
}

/* Forms */
:root {
  --label-font-size: clamp(1.3rem, 0.84vw, 1.6rem);
  --label-font-weight: 300;
  --label-color: var(--primary-color1);
  --input-border-width: 1px;
  --input-border-radius: 120px;
  --input-padding-top-bottom: 10px;
  --input-padding-left-right: 25px;
  --input-font-size: clamp(1.3rem, 0.84vw, 1.6rem);
  --input-font-weight: 400;
  --input-color: var(--primary-color1);
  --input-background-color: #fff;
  --input-border-color: var(--secondary-color2);
  --form-row-margin-top-bottom: 15px;
  --form-row-margin-left-right: 0px;
  --message-font-size: clamp(1.3rem, 0.84vw, 1.6rem);
  --message-line-height: 1.5;
  --message-font-weight: 400;
  --validation-error-color: #da747b;
  --validation-success-color: #50b2a0;
  --validation-notice-color: #ffb700;
}

/* Header */
:root {
  --header-hight: 145px;
}
@media (max-width: 1112px) {
  :root {
    --header-hight: 20px;
  }
}

.site-header {
  --header-sticky-type: fixed;
  --header-sticky-bg: #fff;
  --header-top-bg: transparent;
  --header-top-color: var(--secondary-color3);
  --header-top-color-hover: var(--secondary-color4);
  --header-top-size: clamp(12px, 0.85vw, 16px);
  --header-top-vertical-padding: clamp(5px, 0.67vw, 13px);
  --header-top-gap-between-items: 12px;
  --header-main-bg: #fff;
  --header-main-color: var(--secondary-color3);
  --header-main-color-hover: var(--secondary-color4);
  --header-main-font-size: clamp(12px, 0.85vw, 16px);
  --header-main-font-weight: 600;
  --header-main-text-transform: uppercase;
  --header-main-gap-between-items: 20px;
  --header-main-vertical-padding: 0;
  --header-main-nav-height: clamp(40px, 3.12vw, 60px);
  --header-logo-width: 100%;
  --header-logo-height: 64px;
  --dropdown-bg: #fff;
  --dropdown-color: var(--primary-color1);
  --dropdown-color-active: var(--primary-color2);
  --dropdown-font-size: clamp(14px, 0.84vw, 16px);
  --dropdown-font-weight: 400;
  --dropdown-padding: 40px 25px 20px;
  --dropdown-width: 276px;
  --burger-width: 18px;
  --burger-segment-hight: 3px;
  --burger-segment-gap: 7px;
  --burger-segment-radius: 5px;
  --burger-color: #fff;
  --burger-bg: var(--primary-color1);
}
@media (max-width: 1112px) {
  .site-header {
    --header-hight: 55px;
    --header-mobile-bg: #fff;
    --header-main-color-hover: var(--primary-color2);
    --link-size-l1: 14px;
    --link-size-l2: 14px;
    --link-color: #fff;
    --link-gap: 10px;
  }
}

.site-search {
  --search-size: clamp(24px, 1.57vw, 28px);
  --search-btn-bg: transparent;
  --search-btn-radius: 4px;
  --search-height: 30px;
  --search-width: 250px;
  --search-radius: 15px;
  --search-outer-bg: #fff;
  --search-outer-gap: 5px;
  --search-outer-border: var(--secondary-color2);
}

/* Footer */
.site-footer {
  --footer-bg-color: linear-gradient(to top, rgba(245, 250, 254, 0) 0%, #F5FAFE 100%);
  --footer-color: var(--secondary-color3);
  --footer-top-padding: clamp(50px, 6vw, 115px) 0;
  --footer-top-font-size: 1.6rem;
  --footer-top-nav-direction: column;
  --footer-bottom-bg-color: var(--secondary-color3);
  --footer-bottom-color: var(--primary-color3);
  --footer-bottom-padding: 1.2em;
  --footer-bottom-font-size: 14px;
  --footer-top-border: transparent;
  --footer-top-border-size: 0;
  --footer-link-gap_v: .5em;
  --footer-link-gap_h: 0;
  --footer-logo-height: 60px;
  --footer-logo-width: 305px;
  --footer-title-size: 2.2rem;
  --footer-title-weight: 700;
  --footer-title-transform: none;
}
@media (max-width: 1112px) {
  .site-footer {
    --footer-top-padding: 30px 0;
    --footer-bottom-font-size: 12px;
    --footer-bottom-padding: 0.5em;
  }
}

:root {
  --l-block-gap-vertical: 15px;
  --l-block-gap-horizontal: 16px;
  --c-block-title-size: clamp(var(--h4-font-size-mobile), 1.1vw, var(--h4-font-size));
  --c-block-title-weight: var(--h4-font-weight);
  --c-block-title-transform: var(--h4-text-transform);
  --c-block-title-color: var(--titles-color);
  --c-block-text-size: var(--base-text-size);
  --c-block-padding: 15px;
  --c-block-align: left;
  --c-block-bg: #fff;
  --c-block-color: inherit;
  --c-block-shadow: none;
  --c-block-radius: clamp(10px, 1.05vw, 20px);
  --c-block-border: var(--border-color);
  --overlay-opacity: .9;
  --overlay-color: var(--primary-color1);
  --blockquote-style: url("data:image/svg+xml,%3Csvg width='55' height='46' viewBox='0 0 55 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M31.2463 6.41861L31.2463 27.6C31.2463 31.7364 32.0214 35.1597 33.5717 37.8698C36.5313 43.2899 41.7457 46 49.2151 46L51.1177 46L53.443 45.5721L53.443 38.0837L53.0202 38.0837C48.3695 38.0837 46.0441 35.6589 46.0441 30.8093L46.0441 25.0326L48.7923 25.0326C52.5974 25.0326 54.5 23.0357 54.5 19.0419L54.5 6.41861C54.5 2.13954 52.5974 -7.83517e-07 48.7923 -4.5086e-07L36.954 5.84071e-07C33.1489 9.16728e-07 31.2463 2.13954 31.2463 6.41861ZM18.8143 46C19.6599 46 20.7169 45.8574 21.9853 45.5721L21.9853 38.0837L21.5625 38.0837C17.0527 38.0837 14.7978 35.6589 14.7978 30.8093L14.7978 25.0326L17.3346 25.0326C21.2806 25.0326 23.2537 23.0357 23.2537 19.0419L23.2537 6.41862C23.2537 2.13954 21.2806 1.95428e-06 17.3346 2.29926e-06L5.49632 3.33419e-06C1.8321 3.65453e-06 -3.8344e-06 2.13955 -3.46031e-06 6.41862L-1.60858e-06 27.6C-5.36193e-07 39.8667 6.27145 46 18.8143 46Z' fill='%233397EF'/%3E%3C/svg%3E%0A");
}

/* WYSIWYG */
.is-wysiwyg {
  --wysiwyg-margin: 1.5em;
  --wysiwyg-li-padding: 0 0 0 30px;
  --wysiwyg-li-bgp: 0 .4em;
  --wysiwyg-li-margin: 1em;
  --list-item-style: url("data:image/svg+xml,%3Csvg width='22' height='16' viewBox='0 0 22 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='5.1484' y='11.2759' width='16' height='4' rx='2' transform='rotate(-42.638 5.1484 11.2759)' fill='%233397EF'/%3E%3Crect x='7.4336' y='14.5288' width='10' height='4' rx='2' transform='rotate(-132.638 7.4336 14.5288)' fill='%2370B6F4'/%3E%3C/svg%3E");
}
@media (max-width: 1112px) {
  .is-wysiwyg {
    --wysiwyg-li-padding: 0 0 0 25px;
  }
}

/* Social Icons */
.social-list {
  --social-icon-color: var(--primary-color1);
  --social-icon-color-hover: var(--primary-color3);
  --social-icon-bg: var(--primary-color2);
  --social-icon-bg-hover: var(--primary-color1);
  --social-icon-radius: 50%;
  --social-icon-size: clamp(35px, 5.2vw, 50px);
}

.blog-filter {
  --filter-bg: #fff;
  --filter-link-color: var(--primary-color1);
  --filter-link-color-active: #fff;
  --filter-link-size: clamp(14px, 0.84vw, 18px);
  --filter-link-weight: 600;
  --filter-vspace: 0;
}

.m-slider {
  --swiper-outer-gap: 80px;
  --swiper-arrows-bg: var(--primary-color2);
  --swiper-arrows-color: var(--primary-color1);
  --swiper-arrows-shadow: 0 12px 14px rgba(33, 33, 33, 0.1), 0 4px 4px rgba(33, 33, 33, 0.1);
  --swiper-pagination-bullet-horizontal-gap: 10px;
  --swiper-pagination-bullet-size: 24px;
  --swiper-pagination-bullet-border: #ccc;
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-border-active: var(--primary-color1);
  --swiper-pagination-color: var(--primary-color1);
  --swiper-pagination-bullet-inactive-opacity: .8;
  --swiper-pagination-radius: 20px;
  --swiper-navigation-size: 52px;
}
@media (max-width: 1112px) {
  .m-slider {
    --swiper-navigation-size: 45px;
    --swiper-outer-gap: 40px;
    --thumb-size: 30px;
  }
}

/**** Site Header */
/* Base Typography */
/* 1rem = 10px */
html {
  font-size: 50%;
}
@media (min-width: 1281px) {
  html {
    font-size: 58%;
  }
}
@media (min-width: 1441px) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-family: var(--font-family-primary);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight, 400);
  line-height: var(--base-text-line-height, 1);
}
body::-webkit-scrollbar {
  background-color: white;
  width: 15px;
}
body::-webkit-scrollbar-track {
  box-shadow: inset 20px 20px 0 var(--secondary-color2);
}
body::-webkit-scrollbar-thumb {
  background-color: var(--secondary-color5);
  border: 1px solid var(--secondary-color5);
  border-radius: 10px;
  outline: 1px solid var(--secondary-color5);
}
body.last_section_blue .cta-banner__wrap.-blue.-last,
body.last_section_blue .product-tabs.-last,
body.last_section_blue .cards-programs__wrap.colors-inverted.-last {
  padding-bottom: 215px;
}
body.last_section_blue .site-footer {
  margin-top: -60px;
}

/* Base Colors */
body {
  background-color: var(--body-bg, #ffffff);
  color: var(--body-text-color, #333333);
}
[color-mode=dark] body {
  background-color: #222222;
  color: var(--body-bg, #ffffff);
}

a {
  color: var(--primary-link-color);
}
[color-mode=dark] a {
  color: var(--primary-link-color-alt);
}

.colors-inverted,
.bg-alt {
  background-color: var(--body-bg-alt);
  color: var(--body-text-color-alt);
  --section-title-color: var(--section-title-color-alt);
}

/* Base layout */
body,
html {
  height: 100%;
  min-height: 100%;
}

.wrapper {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
@media (max-width: 1112px) {
  .woocommerce-account .wrapper {
    padding-bottom: 0;
  }
}

.site-content {
  flex-grow: 1;
  min-height: 400px;
}
.blog .site-content {
  padding-bottom: 0;
}
.site-content > section:first-child:not(.m-banner):not(.blog-wrapper) {
  padding-top: calc(var(--header-hight) + clamp(100px, 7.8vw, 150px));
}

.site-header,
.site-content,
.site-footer {
  flex-shrink: 0;
}

.container-fluid,
.container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

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

.container {
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
  transition: max-width var(--base-transition);
}
@media (min-width: 1113px) and (max-width: 1440px) {
  .container {
    --content-width: var(--desktop-width-m);
  }
}
@media (max-width: 1112px) {
  .container {
    --page-gutter: 20px;
    --content-width: var(--tablet-width);
  }
}

.container-fluid {
  padding-left: var(--grid-outer-margin, 2em);
  padding-right: var(--grid-outer-margin, 2em);
}

.container {
  max-width: clamp(1024px, 83.5vw, var(--content-width) + var(--page-gutter, 20px) * 2);
}

@media (max-width: 1112px) {
  .gap-top,
.gap-top-s,
.gap-top-l {
    padding-top: var(--vertical-gap);
  }
  .gap-bot,
.gap-bot-s,
.gap-bot-l {
    padding-bottom: var(--vertical-gap);
  }
}
@media (min-width: 1113px) {
  .gap-top {
    padding-top: var(--vertical-gap);
  }
  .gap-bot {
    padding-bottom: var(--vertical-gap);
  }
  .gap-top-s {
    padding-top: calc(var(--vertical-gap) / 2);
  }
  .gap-bot-s {
    padding-bottom: calc(var(--vertical-gap) / 2);
  }
  .gap-top-l {
    padding-top: calc(var(--vertical-gap) * 1.5);
  }
  .gap-bot-l {
    padding-bottom: calc(var(--vertical-gap) * 1.5);
  }
}
.site-header {
  width: 100%;
  top: 0;
  left: 0;
  transition: transform var(--base-transition), background-color var(--base-transition), box-shadow var(--base-transition);
  z-index: 102;
}
@media (max-width: 1112px) {
  .site-header {
    background-color: #fff;
    max-height: var(--header-hight);
    position: sticky;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0px 0px 16px rgba(92, 95, 107, 0.25);
  }
}
@media (min-width: 1113px) {
  .site-header {
    position: var(--header-sticky-type, sticky);
  }
  .admin-bar .site-header {
    top: 28px;
  }
}
.nav-active .site-header {
  background-color: var(--header-mobile-bg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.site-header__logo {
  display: flex;
  align-items: center;
}
@media (min-width: 1113px) {
  .site-header__logo {
    transition: all var(--base-transition);
    max-width: 100%;
  }
}
.site-header__logo img,
.site-header__logo svg {
  max-width: clamp(150px, 15.6vw, 300px);
  max-height: 100px;
  min-width: 60px;
  width: var(--header-logo-width);
  height: var(--header-logo-height);
  object-fit: contain;
  object-position: left center;
}
@media (max-width: 1112px) {
  .site-header__logo img,
.site-header__logo svg {
    max-width: 150px;
    max-height: 45px;
  }
}
@media (min-width: 1113px) {
  .site-header__logo img,
.site-header__logo svg {
    transition: all var(--base-transition);
  }
}
.nav-active .site-header__logo svg path[fill="#16275C"] {
  fill: #fff !important;
}
.site-header__inner {
  display: flex;
  justify-content: space-between;
  transition: all var(--base-transition);
}
.site-header__row {
  display: flex;
  justify-content: space-between;
  transition: all var(--base-transition);
}
.site-header__col {
  transition: padding var(--base-transition);
}
@media (max-width: 1112px) {
  .site-header__col {
    flex-direction: column;
    width: 100%;
  }
}
@media (min-width: 1113px) {
  .site-header__col {
    gap: calc(var(--header-horizontal-gap, 1vw) * 2);
    display: flex;
    align-items: center;
  }
  .site-header__col.-left {
    justify-content: flex-start;
  }
  .site-header__col.-center {
    justify-content: center;
    text-align: center;
  }
  .site-header__col.-right {
    justify-content: flex-end;
  }
}
.site-header .social-list {
  gap: var(--header-horizontal-gap);
}
.site-header a:not(.c-btn):not(.wpcf7-submit):not(.gform_button) {
  color: var(--header-link-color);
}
.site-header a:not(.c-btn):not(.wpcf7-submit):not(.gform_button):hover {
  color: var(--header-link-color-hover, var(--primary-color2));
}

/* Header Main Row */
.site-header__main {
  --header-link-color: var(--header-main-color);
  --header-link-color-hover: var(--header-main-color-hover);
  --header-horizontal-gap: var(--header-main-gap-between-items);
  font-weight: var(--header-main-font-weight);
  text-transform: var(--header-main-text-transform, uppercase);
  font-size: var(--header-main-font-size, 16px);
  transition: all var(--base-transition);
}
.site-header__main .site-header__row {
  padding-top: var(--header-main-vertical-padding);
  padding-bottom: var(--header-main-vertical-padding);
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 1113px) {
  .site-header__main .site-header__row {
    position: relative;
  }
}

/* Header Top Row */
.site-header__top {
  --header-link-color: var(--header-top-color);
  --header-link-color-hover: var(--header-top-color-hover);
  --header-horizontal-gap: var(--header-top-gap-between-items);
  background-color: var(--header-top-bg);
  font-size: var(--header-top-size);
  color: var(--header-top-color);
}
@media (max-width: 1112px) {
  .site-header__top {
    width: 100%;
    padding-right: 40px;
    height: 55px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
.site-header__top .container {
  justify-content: space-between;
  padding-top: var(--header-top-vertical-padding);
  padding-bottom: var(--header-top-vertical-padding);
}

@media (min-width: 1113px) {
  .is-sticky:hover .site-header__main {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .is-sticky:hover .site-header__main .site-header__row:after {
    height: 140%;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .is-sticky:hover .site-header__top {
    box-shadow: none;
  }
}
@media (min-width: 1113px) {
  .is-sticky {
    --header-main-vertical-padding: 1px;
    --header-top-vertical-padding: 1px;
    --header-main-bg: var(--header-sticky-bg, var(--primary-color1));
    --header-main-nav-height: 50px;
  }
  .is-sticky .site-header__top {
    position: relative;
    padding-top: 13px;
    z-index: 2;
  }
  .is-sticky .site-header__top .container {
    box-shadow: 0 11px 40px rgba(145, 137, 130, 0.2);
    border-radius: 40px;
    background-color: var(--header-main-bg);
  }
  .is-sticky .site-header__logo {
    max-height: 50px;
  }
  .is-sticky .site-header__logo img,
.is-sticky .site-header__logo svg {
    max-height: 50px;
  }
  .is-sticky .site-header__main {
    transform: translateY(-200%);
    opacity: 0;
    pointer-events: none;
  }
  .is-sticky .nav-main__btn.-desktop {
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (max-width: 1112px) {
  .nav-active .site-header__main {
    --header-main-bg: var(--header-mobile-bg);
  }
  .site-header__col.-left {
    max-width: 165px;
  }
  .nav-secondary {
    justify-content: flex-end;
  }
  .nav-secondary .desktop-header {
    margin-left: 10px;
  }
  .nav-secondary .desktop-header .icon {
    width: 22px;
    height: 22px;
  }
  .nav-main {
    /* Style the menu itself */
  }
  .nav-main a {
    color: var(--link-color);
  }
  .nav-main__inner {
    --nav-padding: 15px;
    opacity: 1;
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
    transition: all var(--base-transition);
    top: var(--header-hight);
    background-color: var(--header-mobile-bg);
    background-image: var(--logo-light);
    background-position: -180% 120%;
    background-repeat: no-repeat;
    background-size: 450px;
    width: 100%;
    right: 0;
    position: absolute;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="203" height="290" viewBox="0 0 203 290" fill="none"><g opacity="0.1"><path d="M244.026 10.6171C258.15 -3.53905 281.282 -3.53906 295.406 10.6172C309.531 24.7735 309.531 47.9569 295.406 62.1131L226.423 131.253C212.298 145.409 189.167 145.409 175.042 131.253C160.917 117.097 160.917 93.9135 175.042 79.7573L244.026 10.6171Z" fill="%23213B8C" fill-opacity="0.25"/><path d="M255.001 203.39L295.407 243.887C309.531 258.043 309.531 281.226 295.407 295.382C281.282 309.539 258.15 309.539 244.026 295.382L203.494 254.76L203.62 254.697L175.229 226.242C161.104 212.086 161.104 189.108 175.229 174.746C189.353 160.59 212.485 160.59 226.609 174.746L255.063 203.264L255.001 203.39Z" fill="%23213B8C" fill-opacity="0.25"/><path d="M61.9742 10.6175C47.8496 -3.53868 24.718 -3.5387 10.5934 10.6175C-3.53116 24.7738 -3.53113 47.9571 10.5935 62.1134L79.5772 131.254C93.7018 145.41 116.833 145.41 130.958 131.254C145.083 117.097 145.083 93.9141 130.958 79.7578L61.9742 10.6175Z" fill="%23213B8C" fill-opacity="0.25"/><path d="M50.9993 203.391L10.5937 243.887C-3.5309 258.043 -3.53088 281.227 10.5937 295.383C24.7183 309.539 47.8499 309.539 61.9745 295.383L102.506 254.761L102.38 254.698L130.771 226.243C144.896 212.087 144.896 189.108 130.771 174.747C116.647 160.591 93.5152 160.591 79.3906 174.747L50.9368 203.264L50.9993 203.391Z" fill="%23213B8C" fill-opacity="0.25"/></g></svg>');
    background-size: 190px;
    background-position: bottom right;
  }
  .nav-main__inner.--bg-blue {
    background-color: #F5FAFE;
  }
  .nav-active .nav-main__inner {
    opacity: 1;
    max-height: 100vh;
    height: calc(100vh - 55px);
    pointer-events: auto;
    overflow-y: auto;
    padding: 0;
  }
  .nav-active.admin-bar .nav-main__inner {
    height: calc(100vh - 55px - 46px);
  }
  .nav-main .site-header__widget {
    padding-bottom: 5px;
  }
  .nav-main__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .nav-main__links {
    /* Hide every sub-menu by default */
    /* Style every list item and link, regardless the level */
  }
  .nav-main__links .sub-menu {
    display: none;
  }
  .nav-main__links .sub-menu.--active {
    display: block;
  }
  .nav-main__links li {
    border-bottom: 1px solid rgba(33, 59, 140, 0.2);
    position: relative;
    /* Style every menu item that has children */
    /* Style every active element */
    /* Style every hidden element */
  }
  .nav-main__links li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.333em;
    line-height: 1.2;
    padding: 1.33em var(--nav-padding);
  }
  .nav-main__links li a svg {
    display: none;
  }
  .nav-main__links li a .menu-item__title {
    display: flex;
    align-items: center;
    gap: 0.5em;
  }
  .nav-main__links li a .menu-item__title img {
    width: 20px;
    height: 20px;
  }
  .nav-main__links li:last-child {
    border-bottom: none;
  }
  .nav-main__links li.menu-item-has-children > a::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="9" height="14" viewBox="0 0 9 14" fill="none"><path d="M5.81973 7.00031L1.28706 11.6608C0.789729 12.1764 0.789729 13.0105 1.28706 13.526C1.78973 14.0409 2.60173 14.0409 3.1044 13.526L8.54106 7.93255C9.0384 7.41702 9.0384 6.58222 8.54106 6.06737L3.1044 0.473901C2.60173 -0.041633 1.78973 -0.0402509 1.28706 0.473901C0.789729 0.988743 0.789729 1.82286 1.28706 2.33839L5.81973 7.00031Z" fill="%2316275C"/></svg>');
    width: 8px;
    height: 14px;
  }
  .nav-main__links li.--active {
    border-bottom: none;
  }
  .nav-main__links li.--active::after {
    transition: var(--base-transition) all;
    background-color: var(--primary-color1);
  }
  .nav-main__links li.--active > a {
    color: #fff !important;
    background-color: var(--primary-color1);
    text-transform: uppercase;
  }
  .nav-main__links li.--active > a::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="9" height="14" viewBox="0 0 9 14" fill="none"><path d="M4.0084 6.99969L8.54106 2.33915C9.0384 1.82362 9.0384 0.989507 8.54106 0.473973C8.0384 -0.0408698 7.2264 -0.0408699 6.72373 0.473973L1.28706 6.06744C0.78973 6.58298 0.78973 7.41778 1.28706 7.93263L6.72373 13.5261C7.2264 14.0416 8.0384 14.0403 8.54106 13.5261C9.0384 13.0113 9.0384 12.1771 8.54106 11.6616L4.0084 6.99969Z" fill="%23F5DD57"/></svg>');
  }
  .nav-main__links li.--hidden {
    border: none;
    padding: 0;
  }
  .nav-main__links li.--hidden > a,
.nav-main__links li.--hidden > span {
    display: none;
  }
}
.page-template-template-simple-text .site-header__main,
.single-post .site-header__main,
.page-template-template-styleguide .site-header__main,
.error404 .site-header__main {
  background-color: var(--header-sticky-bg, var(--primary-color1));
}
@media (min-width: 1113px) {
  .page-template-template-simple-text .site-content,
.single-post .site-content,
.page-template-template-styleguide .site-content,
.error404 .site-content {
    padding-top: var(--header-hight);
  }
}

@media (min-width: 1113px) {
  .page-template-default .site-content {
    padding-top: var(--header-hight);
  }
}

.search .pt-panel > div > a {
  display: block;
  color: #fff;
  margin-bottom: 0.5em;
}
.search .pt-panel__products {
  --l-block-col: 4;
}

@media (max-width: 1112px) {
  .site-header__top .nav-secondary__links {
    display: none;
  }
}

@media (min-width: 1113px) {
  .site-header__main .nav-secondary__links {
    display: none !important;
  }
}

@media (max-width: 1112px) {
  .nav-main__btn.-desktop {
    display: none;
  }
}
@media (min-width: 1113px) {
  .nav-main__btn.-mobile {
    display: none;
  }
}
/* Navbar Main */
.nav-main {
  --navbar-border-radius: 25px;
  --navbar-border-active-width: 4px;
  --header-link-color: var(--primary-color1);
  --header-link-color-hover: var(--primary-color1);
}
@media (min-width: 1113px) {
  .nav-main__wrap {
    width: 100%;
  }
  .nav-main__links {
    display: flex;
    justify-content: space-between;
    border-radius: var(--navbar-border-radius);
    padding-inline: 2em;
  }
  .nav-main__links > .menu-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-basis: auto;
    flex-grow: 1;
    max-width: 100%;
    text-align: center;
    border-bottom: var(--navbar-border-active-width) solid transparent;
    padding-top: var(--navbar-border-active-width);
    transition: var(--base-transition) all;
  }
  .nav-main__links > .menu-item:not(.menu-item-has-children):hover > a:before, .nav-main__links > .menu-item:not(.menu-item-has-children):active > a:before, .nav-main__links > .menu-item:not(.menu-item-has-children):focus > a:before {
    width: calc(100% - var(--header-main-gap-between-items, 1vw));
  }
  .nav-main__links > .menu-item:first-child > a,
.nav-main__links > .menu-item:first-child > span {
    padding-left: 0;
  }
  .nav-main__links > .menu-item:first-child:hover > a:before {
    left: 0;
    width: calc(100% - var(--header-main-gap-between-items, 1vw));
  }
  .nav-main__links > .menu-item:last-child > a,
.nav-main__links > .menu-item:last-child > span {
    padding-right: 0;
  }
  .nav-main__links > .menu-item:hover > a, .nav-main__links > .menu-item:hover > span, .nav-main__links > .menu-item:active > a, .nav-main__links > .menu-item:active > span, .nav-main__links > .menu-item:focus > a, .nav-main__links > .menu-item:focus > span {
    color: var(--primary-color1) !important;
  }
  .nav-main__links > .menu-item:hover > a, .nav-main__links > .menu-item:active > a, .nav-main__links > .menu-item:focus > a {
    position: relative;
  }
  .nav-main__links > .menu-item:hover > a:before, .nav-main__links > .menu-item:active > a:before, .nav-main__links > .menu-item:focus > a:before {
    content: "";
    position: absolute;
    left: var(--header-main-gap-between-items, 1vw);
    bottom: 13px;
    width: calc(100% - var(--header-main-gap-between-items, 1vw) * 2);
    border-bottom: 3px solid var(--primary-color1);
  }
  .nav-main__links > .menu-item > a,
.nav-main__links > .menu-item .plain-menu-item {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 0.5em;
    width: 100%;
    white-space: nowrap;
    padding: 0 var(--header-main-gap-between-items, 1vw);
    line-height: var(--header-main-nav-height);
    letter-spacing: 0.06em;
    transition: color var(--base-transition), font-size var(--base-transition), background-color var(--base-transition);
  }
  .nav-main__links > .menu-item .sub-menu {
    top: calc(100% - 12px);
  }
  .nav-main__links .menu-item__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
  }
  .nav-main__links .menu-item__ico {
    width: 16px;
    height: 16px;
  }
  .nav-main__links .menu-item__icon {
    width: 14px;
    height: 8px;
    flex: 0 0 14px;
    fill: var(--primary-color1);
    transform: translateX(-0.5em);
    opacity: 0;
    visibility: hidden;
    transition: var(--base-transition) all;
  }
  .nav-main__links .menu-item:hover, .nav-main__links .menu-item:active, .nav-main__links .menu-item:focus, .nav-main__links .menu-item.--active {
    background-color: var(--secondary-color1);
  }
  .nav-main__links .menu-item:hover > a svg, .nav-main__links .menu-item:hover > span svg, .nav-main__links .menu-item:active > a svg, .nav-main__links .menu-item:active > span svg, .nav-main__links .menu-item:focus > a svg, .nav-main__links .menu-item:focus > span svg, .nav-main__links .menu-item.--active > a svg, .nav-main__links .menu-item.--active > span svg {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
}
@media (min-width: 1113px) {
  .nav-main .current-menu-item {
    border-bottom-color: var(--primary-color1);
  }
}
.nav-main .current-menu-item > a {
  color: var(--header-link-color-hover, var(--primary-color2));
}

/* Navbar Secondary */
@media (min-width: 1113px) {
  .site-header .nav-main__links li.menu-item__megamenu > .sub-menu {
    top: calc(100% - 12px);
  }
}
@media (min-width: 1113px) {
  .site-header .nav-secondary__links .sub-menu .menu-item__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
  }
  .site-header .nav-secondary__links .sub-menu .menu-item__ico {
    width: 16px;
    height: 16px;
  }
  .site-header .nav-secondary__links .sub-menu .menu-item__icon {
    width: 14px;
    height: 8px;
    flex: 0 0 14px;
    fill: var(--primary-color1);
    transform: translateX(-0.5em);
    opacity: 0;
    visibility: hidden;
    transition: var(--base-transition) all;
  }
  .site-header .nav-secondary__links .sub-menu .menu-item:hover, .site-header .nav-secondary__links .sub-menu .menu-item:active, .site-header .nav-secondary__links .sub-menu .menu-item:focus, .site-header .nav-secondary__links .sub-menu .menu-item.--active {
    background-color: var(--secondary-color1);
  }
  .site-header .nav-secondary__links .sub-menu .menu-item:hover > a svg, .site-header .nav-secondary__links .sub-menu .menu-item:hover > span svg, .site-header .nav-secondary__links .sub-menu .menu-item:active > a svg, .site-header .nav-secondary__links .sub-menu .menu-item:active > span svg, .site-header .nav-secondary__links .sub-menu .menu-item:focus > a svg, .site-header .nav-secondary__links .sub-menu .menu-item:focus > span svg, .site-header .nav-secondary__links .sub-menu .menu-item.--active > a svg, .site-header .nav-secondary__links .sub-menu .menu-item.--active > span svg {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
}
@media (max-width: 1112px) {
  .site-header .nav-secondary {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .site-header .nav-secondary__links {
    border-top: 1px solid rgba(33, 59, 140, 0.2);
    padding: 15px;
  }
  .site-header .nav-secondary__links.--hidden {
    display: none;
  }
  .site-header .nav-secondary__links a {
    display: block;
    color: var(--primary-color1) !important;
    padding: 10px 0;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
  }
  .site-header .nav-secondary__links .sub-menu li {
    padding-left: 20px;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='3' viewBox='0 0 12 3' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='10.5' y1='1.5' x2='1.5' y2='1.5' stroke='%236E88DB' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: 0 50%;
  }
  .site-header .nav-secondary__links .sub-menu li a {
    font-size: 13px;
    font-weight: 400;
    text-transform: capitalize;
  }
  .site-header .nav-secondary__links .sub-menu li .menu-item__icon {
    display: none;
  }
  .site-header .nav-secondary__links .current-menu-item > a,
.site-header .nav-secondary__links .current_page_parent > a {
    color: var(--primary-color2) !important;
  }
}
@media (min-width: 1113px) {
  .site-header .nav-secondary__links {
    display: flex;
    justify-content: flex-end;
    gap: 1.75em;
  }
  .site-header .nav-secondary__links a {
    display: flex;
    align-items: center;
    gap: 5px;
  }
  .site-header .nav-secondary__links a:after {
    display: flex;
  }
}
.site-header .nav-secondary .current_page_parent > a,
.site-header .nav-secondary .current_page_item > a {
  font-weight: 600;
}
.site-header .nav-secondary a {
  display: flex;
  align-items: center;
  gap: 0.5em;
  white-space: nowrap;
  color: var(--header-link-color);
}
@media (max-width: 1112px) {
  .nav-active .site-header .nav-secondary a {
    color: #fff;
  }
}
.site-header .nav-secondary a:hover {
  text-decoration: underline;
  color: var(--header-link-color-hover, var(--primary-color2));
}
.site-header .nav-secondary a .icon {
  width: clamp(24px, 1.57vw, 28px);
  height: clamp(24px, 1.57vw, 28px);
}
.site-header .nav-secondary .c-btn, .site-header .nav-secondary .wpcf7-submit,
.site-header .nav-secondary .gform_button,
.site-header .nav-secondary .m-banner .search-submit,
.m-banner .site-header .nav-secondary .search-submit {
  text-decoration: none !important;
  border-width: 1px;
  cursor: pointer;
  background-color: var(--btn-secondary-bg-hover, #F5DD57);
}
@media (max-width: 1112px) {
  .site-header .nav-secondary .c-btn, .site-header .nav-secondary .wpcf7-submit,
.site-header .nav-secondary .gform_button,
.site-header .nav-secondary .m-banner .search-submit,
.m-banner .site-header .nav-secondary .search-submit {
    padding: 1rem 2rem;
  }
  .nav-active .site-header .nav-secondary .c-btn, .nav-active .site-header .nav-secondary .wpcf7-submit,
.nav-active .site-header .nav-secondary .gform_button,
.nav-active .site-header .nav-secondary .m-banner .search-submit,
.m-banner .nav-active .site-header .nav-secondary .search-submit {
    color: var(--primary-color1);
  }
}
@media (min-width: 768px) {
  .hs-web-interactives-top-banner-open .site-header {
    top: 90px !important;
  }
}

.site-header .sub-menu {
  text-align: left;
  --submenu-postion-left: 50%;
  --submenu-postion-right: auto;
  --submenu-postion-top: calc( 100% + var(--navbar-border-active-width) );
  --submenu-bottom: auto;
  --submenu-transform: translate(-50%, -10px);
  --submenu-link-padding: 1.4rem 1.4rem;
}
@media (min-width: 1113px) {
  .site-header .sub-menu {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    top: var(--submenu-postion-top);
    bottom: var(--submenu-bottom);
    transform: var(--submenu-transform);
    left: var(--submenu-postion-left);
    right: var(--submenu-postion-right);
    padding: 0 0 25px 0;
    min-width: var(--dropdown-width);
    z-index: 10;
    transition: opacity var(--base-transition), transform var(--base-transition);
    background-color: var(--dropdown-bg);
    box-shadow: 0 4px 34px rgba(0, 7, 63, 0.1);
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  }
  .site-header .sub-menu > li:last-child > a, .site-header .sub-menu > li:last-child > span {
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  }
  .site-header .sub-menu a {
    color: var(--dropdown-color);
    display: flex;
    gap: 0.6em;
    width: 100%;
    align-items: center;
    font-weight: var(--dropdown-font-weight);
    font-size: var(--dropdown-font-size);
  }
  .site-header .sub-menu .current-menu-item a {
    color: var(--dropdown-color-active);
  }
  .site-header .sub-menu .menu-item-content {
    min-width: 250px;
  }
  .site-header .sub-menu .menu-item-title {
    display: block;
    margin-bottom: 5px;
  }
  .site-header .sub-menu .menu-item-caption {
    font-weight: 400;
    color: var(--primary-color1);
  }
  .site-header .sub-menu .menu-item-img-wrapper {
    margin-right: 10px;
    min-width: 30px;
    max-width: 150px;
  }
  .site-header .sub-menu .menu-item-img-wrapper img,
.site-header .sub-menu .menu-item-img-wrapper svg {
    max-width: 100%;
    height: auto;
  }
  .site-header .sub-menu .menu-item {
    position: relative;
  }
  .site-header .sub-menu .menu-item a {
    padding: var(--submenu-link-padding);
    transition: all var(--base-transition);
    text-transform: none;
  }
}
@media (min-width: 1113px) {
  .site-header .menu-item-has-children {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5em;
  }
  .site-header .menu-item-has-children:hover > .sub-menu {
    --submenu-transform: translate(-50%, 0);
    opacity: 1;
    pointer-events: auto;
  }
  .site-header .menu-item-has-children > .sub-menu {
    z-index: 10;
  }
  .site-header .menu-item-has-children > .sub-menu li a {
    font-weight: 600;
  }
  .site-header .menu-item-has-children > .sub-menu li:first-child {
    border-radius: 0;
  }
  .site-header .menu-item-has-children > .sub-menu li:first-child > a, .site-header .menu-item-has-children > .sub-menu li:first-child > span {
    border-radius: 0;
  }
  .site-header .menu-item-has-children > .sub-menu li:last-child {
    border-radius: 0;
  }
  .site-header .menu-item-has-children > .sub-menu li:last-child > a, .site-header .menu-item-has-children > .sub-menu li:last-child > span {
    border-radius: 0;
  }
  .site-header .menu-item-has-children > .sub-menu ul {
    --submenu-transform: none !important;
    --submenu-postion-left: 100%;
    --submenu-postion-top: -50%;
    z-index: 9;
    border-radius: var(--navbar-border-radius);
  }
  .site-header .menu-item-has-children > .sub-menu ul ul {
    z-index: 8;
  }
  .site-header .menu-item-has-children > .sub-menu ul ul ul {
    z-index: 7;
  }
}
@media (min-width: 1113px) {
  .site-header {
    /* Target first level links, and add carret */
  }
  .site-header .nav-main__links > li,
.site-header .nav-secondary__links > li {
    /* Target last few li elements */
  }
  .site-header .nav-main__links > li.menu-item-has-children > a:after, .site-header .nav-main__links > li.menu-item-has-children > span:after,
.site-header .nav-secondary__links > li.menu-item-has-children > a:after,
.site-header .nav-secondary__links > li.menu-item-has-children > span:after {
    content: "";
    position: relative;
    top: 2px;
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(-50%) rotate(135deg);
    transition: transform 0.1s ease-in;
  }
  .site-header .nav-main__links > li.menu-item-has-children:hover > a:after, .site-header .nav-main__links > li.menu-item-has-children:hover > span:after, .site-header .nav-main__links > li.menu-item-has-children:active > a:after, .site-header .nav-main__links > li.menu-item-has-children:active > span:after, .site-header .nav-main__links > li.menu-item-has-children:focus > a:after, .site-header .nav-main__links > li.menu-item-has-children:focus > span:after,
.site-header .nav-secondary__links > li.menu-item-has-children:hover > a:after,
.site-header .nav-secondary__links > li.menu-item-has-children:hover > span:after,
.site-header .nav-secondary__links > li.menu-item-has-children:active > a:after,
.site-header .nav-secondary__links > li.menu-item-has-children:active > span:after,
.site-header .nav-secondary__links > li.menu-item-has-children:focus > a:after,
.site-header .nav-secondary__links > li.menu-item-has-children:focus > span:after {
    transform: translateY(-20%) rotate(-45deg);
    color: var(--primary-color2);
  }
  .site-header .nav-main__links > li:hover, .site-header .nav-main__links > li:active, .site-header .nav-main__links > li:focus,
.site-header .nav-secondary__links > li:hover,
.site-header .nav-secondary__links > li:active,
.site-header .nav-secondary__links > li:focus {
    background-color: transparent;
  }
  .site-header .nav-main__links > li:nth-last-child(-n+3) > .sub-menu,
.site-header .nav-secondary__links > li:nth-last-child(-n+3) > .sub-menu {
    --submenu-postion-left: 0%;
  }
  .site-header .nav-main__links > li:nth-last-child(-n+3) > .sub-menu .sub-menu,
.site-header .nav-secondary__links > li:nth-last-child(-n+3) > .sub-menu .sub-menu {
    --submenu-postion-left: auto;
    --submenu-postion-right: 100%;
  }
  .site-header .nav-main__links {
    /* Target first level links, and remove border radius */
  }
  .site-header .nav-main__links > li > ul > li:first-child:not(:last-child) {
    border-radius: 0 !important;
  }
  .site-header .nav-main__links > li > ul > li:first-child:not(:last-child) > a, .site-header .nav-main__links > li > ul > li:first-child:not(:last-child) > span {
    border-radius: 0;
  }
  .site-header .nav-secondary__links {
    --navbar-border-radius: 25px;
  }
  .site-header .nav-secondary__links .sub-menu {
    --submenu-link-padding: 1.1em 1.5em;
  }
  .site-header .nav-secondary__links .sub-menu li:hover {
    background-color: var(--secondary-color1);
  }
  .site-header .nav-secondary__links .sub-menu a {
    font-weight: 600;
    font-size: 15px;
  }
  .site-header .nav-secondary__links > li > a {
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
  }
  .site-header .nav-secondary__links > li:hover > a {
    border-bottom-color: var(--header-top-color, #213B8C);
  }
  .site-header .nav-secondary__links > li > ul {
    --submenu-postion-top: 100%;
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  }
  .site-header .nav-secondary__links > li > ul > li:first-child {
    border-radius: 0;
  }
  .site-header .nav-secondary__links > li > ul > li:first-child > a, .site-header .nav-secondary__links > li > ul > li:first-child > span {
    border-radius: 0;
  }
  .site-header .nav-secondary__links > li > ul > li:last-child {
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  }
}

.nav-main__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  width: 55px;
  transform: translateY(-50%);
  top: 50%;
  border-radius: 110px 0 0 110px;
  color: var(--burger-color);
  background-color: var(--burger-bg);
  padding: 18px 5px;
  cursor: pointer;
  text-align: center;
  position: absolute;
  right: 0;
  transition: all var(--base-transition);
  z-index: 10;
}
.nav-active .nav-main__btn {
  background-color: var(--primary-color1);
  color: #fff;
}

.burger-icon {
  width: var(--burger-width);
  height: 20px;
  cursor: pointer;
  transition: box-shadow 0.4s ease;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.burger-icon > div {
  position: relative;
  flex: none;
  width: 100%;
  height: var(--burger-segment-hight);
  background: currentColor;
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--burger-segment-radius);
}
.burger-icon > div:before, .burger-icon > div:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  width: 120%;
  height: var(--burger-segment-hight);
  border-radius: var(--burger-segment-radius);
  background: inherit;
  transition: all 0.4s ease;
}
.burger-icon > div:before {
  top: calc(var(--burger-segment-gap) * -1);
}
.burger-icon > div:after {
  top: var(--burger-segment-gap);
}
.is-active .burger-icon > div {
  transform: rotate(135deg);
}
.is-active .burger-icon > div:before, .is-active .burger-icon > div:after {
  top: 0;
  transform: rotate(90deg);
  width: 100%;
}
.is-active .burger-icon > div:after {
  opacity: 0;
}

@media (min-width: 1113px) {
  .site-header {
    --mega-menu-width: 885px;
    --mega-menu-left: 0;
    --mega-menu-right: auto;
    --sub-menu-width: 242px;
  }
}
@media (min-width: 1113px) and (max-width: 1439px) {
  .site-header {
    --mega-menu-width: 650px;
  }
}
@media (min-width: 1113px) {
  .site-header .nav-main {
    /* This is a root level ul */
  }
  .site-header .nav-main__links .menu-item {
    /* This is a li item, that has a megamenu class */
  }
  .site-header .nav-main__links .menu-item.menu-title:hover {
    background-color: initial;
  }
  .site-header .nav-main__links .menu-item.menu-title a {
    font-weight: 400;
    cursor: default;
    font-style: italic;
  }
  .site-header .nav-main__links .menu-item.menu-title a .icon {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu {
    min-width: var(--mega-menu-width);
    transform: none;
    left: var(--mega-menu-left);
    right: var(--mega-menu-right);
    padding: 0;
    background-color: var(--dropdown-bg);
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    top: calc(100% + var(--navbar-border-active-width, 4px));
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
    overflow: hidden;
    box-shadow: 0px 11px 40px 0px rgba(144, 137, 130, 0.4);
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu::before, .site-header .nav-main__links .menu-item__megamenu > .sub-menu::after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu .sub-menu {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu .menu-item-megamenu__label {
    width: 210px;
    min-width: 210px;
    flex: 0 0 210px;
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu .menu-item-megamenu__content {
    width: 100%;
    background-color: var(--secondary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    padding: 1.4rem 3rem 1.4rem 3rem;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li {
    flex-direction: column;
    align-items: flex-start;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span {
    align-items: flex-start;
    flex-direction: row-reverse;
    justify-content: flex-end;
    padding: 0;
    gap: 0.5em;
    margin-bottom: 1em;
    gap: 0.5em;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a::after, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span::after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a:hover, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a:active, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a:focus, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span:hover, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span:active, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span:focus {
    text-decoration: underline;
    color: var(--primary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a .icon, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span .icon {
    transform: translateY(0.5em);
    opacity: 1;
    visibility: visible;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li:after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li.current-menu-item > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li.current-menu-item > span {
    text-decoration: underline;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul ul {
    display: flex !important;
    opacity: 1;
    flex-direction: column;
    position: static;
    transform: none;
    padding: 0 0 0 1em;
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul ul::before, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul ul::after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span {
    padding: 1.4rem 0 1.4rem 1.5em;
    gap: 0.5em;
    color: var(--primary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a strong,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span strong {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a strong img,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span strong img {
    width: 16px;
    height: 16px;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a svg,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span svg {
    width: 14px;
    height: 8px;
    flex: 0 0 14px;
    fill: var(--primary-color1);
    transform: translateX(-0.5em);
    opacity: 0;
    visibility: hidden;
    transition: var(--base-transition) all;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a:after,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span:after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:hover, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:active, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:focus, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li.--active {
    background-color: var(--secondary-color1);
    color: var(--primary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:hover > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:hover > span, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:active > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:active > span, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:focus > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:focus > span, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li.--active > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li.--active > span {
    color: var(--primary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:hover svg, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:active svg, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:focus svg, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li.--active svg {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:first-child {
    border-radius: 0;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:last-child {
    border-radius: 0 0 0 var(--navbar-border-radius);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:last-child > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:last-child > span {
    border-radius: 0 0 0 var(--navbar-border-radius);
  }
  .site-header .nav-main__links .menu-item__megamenu-multicolumn > ul.sub-menu {
    display: flex;
    padding-bottom: 0;
    overflow: hidden;
    left: 50%;
    transform: translateX(-50%);
  }
  .site-header .nav-main__links .menu-item__megamenu-multicolumn > ul.sub-menu .sub-menu {
    max-width: var(--sub-menu-width);
    min-width: auto;
    width: var(--sub-menu-width, 242px);
  }
  .site-header .nav-main__links .menu-item__megamenu-multicolumn > ul.sub-menu .sub-menu a {
    padding: 10px 20px;
  }
  .site-header .nav-main__links .menu-item__megamenu-multicolumn > ul.sub-menu > li:not(:last-child) {
    border-right: 1px solid var(--divider-color, #ECEFF2);
  }
  .site-header .nav-main__links .menu-item__megamenu-multicolumn > ul.sub-menu > .menu-item-has-children {
    display: block;
  }
  .site-header .nav-main__links .menu-item__megamenu-multicolumn > ul.sub-menu > .menu-item-has-children:hover {
    background-color: initial;
  }
  .site-header .nav-main__links .menu-item__megamenu-multicolumn > ul.sub-menu > .menu-item-has-children > a {
    padding: 18px 20px 8px;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 400;
    cursor: default;
    text-transform: uppercase;
  }
  .site-header .nav-main__links .menu-item__megamenu-multicolumn > ul.sub-menu > .menu-item-has-children > a .icon {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu-multicolumn > ul.sub-menu > .menu-item-has-children .sub-menu {
    display: block;
    opacity: 1;
    position: static;
    box-shadow: none;
    border-radius: 0;
  }
  .site-header .nav-main__links li:nth-child(n+4) > .sub-menu {
    --mega-menu-left: auto;
    --mega-menu-right: 0;
  }
}
/* Style mobile megamenu items */
@media (max-width: 1112px) {
  .menu-item__megamenu > ul > li ul {
    padding: 10px 0;
  }
  .menu-item__megamenu > ul > li ul li {
    border: none;
  }
  .menu-item__megamenu > ul > li ul li a {
    font-size: 15px;
    padding: 0.667em 1.33em;
    text-transform: none;
  }
  .menu-item__megamenu > ul > li ul li:not(.menu-item-has-children) a {
    justify-content: flex-start;
  }
  .menu-item__megamenu > ul > li ul li:not(.menu-item-has-children) a:before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" viewBox="0 0 8 8" fill="none"><path d="M0.540381 6.41904C0.28654 6.67288 0.28654 7.08444 0.540381 7.33828C0.794221 7.59212 1.20578 7.59212 1.45962 7.33828L0.540381 6.41904ZM7.65 0.878662C7.65 0.519677 7.35899 0.228662 7 0.228662L1.15 0.228662C0.791016 0.228662 0.500001 0.519677 0.500001 0.878662C0.5 1.23765 0.791016 1.52866 1.15 1.52866H6.35V6.72866C6.35 7.08765 6.64102 7.37866 7 7.37866C7.35899 7.37866 7.65 7.08765 7.65 6.72866L7.65 0.878662ZM1.45962 7.33828L7.45962 1.33828L6.54038 0.419042L0.540381 6.41904L1.45962 7.33828Z" fill="%23F5DD57"/></svg>');
    width: 18px;
    height: 16px;
  }
  .site-header .nav-main .menu-title {
    font-style: italic;
    font-weight: 400;
    text-transform: initial;
  }
}
/**
 * Header Block: Who We Serve Dropdown
 *
 * Audience-segmentation dropdown sitting in the header top row next to the logo.
 * Inherits header CSS variables for consistent colour and typography.
 */
.wws-dropdown {
  display: none;
}
@media (min-width: 1113px) {
  .wws-dropdown {
    display: flex;
    align-items: center;
    position: relative;
  }
}
.wws-dropdown__toggle {
  align-items: center;
  background: none;
  border: none;
  color: var(--header-link-color);
  cursor: pointer;
  display: flex;
  font-size: var(--header-top-size);
  font-weight: var(--header-main-font-weight);
  gap: 0.4em;
  padding: 0;
  text-transform: var(--header-main-text-transform, uppercase);
  transition: color var(--base-transition);
}
.wws-dropdown__toggle:hover {
  color: var(--header-link-color-hover, var(--primary-color2));
}
.wws-dropdown__toggle::after {
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
  display: inline-block;
  height: 7px;
  transform: translateY(-2px) rotate(135deg);
  transition: transform var(--base-transition);
  width: 7px;
}
.wws-dropdown__toggle[aria-expanded=true]::after {
  transform: translateY(2px) rotate(-45deg);
}
.wws-dropdown__panel {
  background-color: var(--dropdown-bg);
  border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  box-shadow: 0 4px 34px rgba(0, 7, 63, 0.1);
  display: none;
  left: 50%;
  min-width: 220px;
  position: absolute;
  top: calc(100% + 10px);
  transform: translateX(-50%);
  z-index: 10;
}
.wws-dropdown__panel.is-open {
  display: block;
}
.wws-dropdown__links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wws-dropdown__links li:not(:last-child)::after {
  background-color: #c4c4c4;
  content: "";
  display: block;
  height: 1px;
  margin: 0 auto;
  opacity: 0.2;
  width: 90%;
}
.wws-dropdown__links li a {
  color: var(--dropdown-color);
  display: block;
  font-size: var(--dropdown-font-size);
  font-weight: var(--dropdown-font-weight);
  padding: 1.4rem 1.6rem;
  transition: color var(--base-transition);
  white-space: nowrap;
}
.wws-dropdown__links li a:hover {
  color: var(--dropdown-color-active);
}

.site-search {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  height: var(--search-size);
  position: relative;
  width: var(--search-size);
}
.site-search__toggle {
  background-color: var(--search-btn-bg);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  border: none;
  border-radius: var(--search-btn-radius);
  display: flex;
  height: var(--search-size);
  outline-color: transparent !important;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: transform var(--base-transition);
  width: var(--search-size);
  z-index: 10;
}
.site-search__toggle.is-active {
  pointer-events: none;
}
.site-search__toggle:hover {
  --header-link-color: var(--header-link-color-hover);
}
.site-search__icon {
  color: var(--secondary-color3);
}
.site-header .site-search__icon {
  stroke: #ffffff;
}
.site-search__inner {
  max-width: 0;
  overflow: hidden;
  position: absolute;
  transition: all var(--base-transition);
}
.site-search__inner.is-shown {
  background-color: var(--search-outer-bg);
  border: 1px solid var(--search-outer-border);
  border-radius: var(--search-radius) 0 var(--search-radius) var(--search-radius);
  max-width: calc(var(--search-width) + 20px);
  overflow: visible;
  padding: var(--search-outer-gap);
  transform: translateY(40px);
  z-index: 10;
}
@media (max-width: 767px) {
  .site-search__inner.is-shown {
    left: 0;
    margin: auto;
    max-width: calc(100vw - 30px);
    position: fixed;
    right: 0;
    top: 5px;
    width: calc(100vw - 30px);
    z-index: 11;
  }
}
.site-search__inner.is-shown .search-field {
  max-width: var(--search-width);
  padding-right: 40px;
  transform: translate(0);
}
@media (max-width: 767px) {
  .site-search__inner.is-shown .search-field {
    max-width: calc(100vw - 41px);
    width: calc(100vw - 41px);
    font-size: 16px !important;
  }
}
.site-search__inner.is-shown .search-field::-webkit-search-cancel-button {
  border-radius: 10px;
  height: 20px;
  position: relative;
  right: -10px;
  width: 20px;
}
.site-search__inner.is-shown .search-field::-webkit-search-cancel-button:hover {
  cursor: pointer;
}
.site-search__inner.is-shown + .site-search__toggle {
  color: var(--primary-color1);
  pointer-events: none;
  right: 5px;
  transform: translateY(40px) scale(0.6);
}
@media (max-width: 767px) {
  .site-search__inner.is-shown + .site-search__toggle {
    position: fixed;
    right: 25px;
    top: 15px;
    transform: translateY(40px) scale(0.8);
    z-index: 12;
  }
}
@media (max-width: 1112px) {
  .nav-active .site-search__inner.is-shown + .site-search__toggle .site-search__icon {
    color: var(--header-link-color);
    stroke: #ffffff;
  }
}
.site-search__inner.is-shown .site-search__close {
  color: var(--header-link-color-hover);
  display: flex;
}
.site-search__inner.is-shown .site-search__close svg {
  pointer-events: none;
  width: clamp(18px, 0.7vw, 22px);
  height: clamp(18px, 0.7vw, 22px);
}
@media (max-width: 1112px) {
  .nav-active .site-search__inner.is-shown .site-search__icon {
    color: var(--header-link-color);
    stroke: #ffffff;
  }
  .nav-active .site-search__inner.is-shown a {
    color: var(--header-link-color);
  }
}
.site-search__icon {
  fill: var(--header-link-color);
  height: 100%;
  margin: auto;
  pointer-events: none;
  width: 100%;
}
.site-search [type=submit] {
  background: transparent;
  border: none;
  font-size: 0;
  height: var(--search-height);
  position: absolute;
  right: 5px;
  width: 30px;
}
@media (max-width: 767px) {
  .site-search [type=submit] {
    top: 5px;
  }
}
.site-search [type=submit]:focus {
  outline: none;
}
.site-search__close {
  align-items: center;
  background: var(--search-outer-bg);
  border: 1px solid var(--search-outer-border);
  border-bottom: none;
  border-radius: 20px 20px 0 0;
  cursor: pointer;
  display: none;
  height: 36px;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 14px;
  transform: translateY(-50px);
  width: 38px;
  z-index: 1000;
}

.search-field {
  background: #ffffff;
  border: none;
  border-radius: var(--search-radius);
  font-size: clamp(14px, 0.84vw, 16px);
  height: var(--search-height);
  color: var(--primary-color1);
  margin: 0;
  padding: 5px 10px;
  transition: all 0.2s;
  width: var(--search-width);
}
.site-header .search-field {
  max-width: 0;
  transform: translate(0, -100%);
}
.search-field:focus {
  outline: none;
}

.general-bg-logo {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  justify-content: center;
  left: 0;
  margin: 0 auto;
  max-height: 730px;
  max-width: 730px;
  object-fit: contain;
  object-position: center;
  opacity: 0.2;
  position: absolute;
  right: 0;
  top: -80px;
  width: 100%;
  z-index: -1;
}

@media (min-width: 1113px) {
  .search-no-results .m-banner.header-lap .m-banner__inner,
.search-results .m-banner.header-lap .m-banner__inner {
    padding-top: 125px;
  }
}
@media (max-width: 1112px) {
  .search-no-results .m-banner__container,
.search-results .m-banner__container {
    min-height: auto;
  }
}
.search-no-results .m-banner .l-banner,
.search-results .m-banner .l-banner {
  margin: 0 auto;
  padding-top: clamp(40px, 3.6vw, 80px);
  text-align: center;
}
@media (max-width: 767px) {
  .search-no-results .m-banner .l-banner,
.search-results .m-banner .l-banner {
    padding-bottom: 20px;
  }
}
.search-no-results .m-banner .l-banner .c-heading__title,
.search-results .m-banner .l-banner .c-heading__title {
  margin-bottom: 3rem;
}
.search-no-results .m-banner .l-banner .search-form,
.search-results .m-banner .l-banner .search-form {
  align-items: center;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .search-no-results .m-banner .l-banner .search-form,
.search-results .m-banner .l-banner .search-form {
    padding: 0 10%;
  }
}
.search-no-results .m-banner .l-banner .search-form__label,
.search-results .m-banner .l-banner .search-form__label {
  width: calc(100% - 60px);
}
.search-no-results .m-banner .l-banner .search-field,
.search-results .m-banner .l-banner .search-field {
  border-radius: var(--search-radius) 0 0 var(--search-radius);
  max-width: 100%;
  padding: 12px 25px;
  width: 100%;
}
.search-no-results .m-banner .l-banner .search-submit,
.search-results .m-banner .l-banner .search-submit {
  background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.9641 15.7885h-1.1193l-.3872-.3904c1.3798-1.6109 2.2105-3.7044 2.2105-5.9966 0-5.0955-4.0971-9.2257-9.1514-9.2257C4.4622.1758.3651 4.306.3651 9.4014c0 5.0955 4.097 9.2257 9.1515 9.2257 2.2737 0 4.3504-.8374 5.9484-2.2212l.3871.3903v1.1213l7.0396 7.0824 2.0978-2.1148-7.0255-7.0966Zm-8.4474 0c-3.4987 0-6.3357-2.86-6.3357-6.387 0-3.527 2.837-6.387 6.3357-6.387 3.4986 0 6.3355 2.86 6.3355 6.387 0 3.527-2.8369 6.387-6.3355 6.387Z' fill='%23112239'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px;
  border-radius: 0 var(--search-radius) var(--search-radius) 0;
  font-size: 0;
  height: 60px;
  margin-top: 20px;
  width: 60px;
}
.search-no-results .cards-programs__wrap .c-heading,
.search-results .cards-programs__wrap .c-heading {
  margin-bottom: 0;
}
.search-no-results .cards-programs__wrap .c-heading__title,
.search-results .cards-programs__wrap .c-heading__title {
  font-size: 3rem;
  letter-spacing: 0;
  text-transform: capitalize;
}

@media (max-width: 1112px) {
  .site-header__search {
    /*		position: absolute;
      top: 10px;
      right: 60px;*/
  }
}
@keyframes overlay-appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.site-header__account {
  display: flex;
  justify-content: space-between;
  gap: var(--header-horizontal-gap, 1vw);
  width: 100%;
  align-items: center;
  position: relative;
}
@media (min-width: 1113px) {
  .site-header__account {
    max-width: 360px;
  }
}
@media (max-width: 1111px) {
  .site-header__account {
    max-width: 100%;
    width: auto;
  }
}
.site-header__account a {
  transition: var(--base-transition);
  position: relative;
  z-index: 999;
}
.site-header__account-text {
  font-family: var(--base-text-font);
  font-size: clamp(14px, 0.84vw, 16px);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  margin: 0;
}
@media (max-width: 1111px) {
  .site-header__account-text {
    color: rgba(255, 255, 255, 0);
  }
}
.site-header__account a.desktop-header, .site-header__account-cart {
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: center;
}
.site-header__account a.desktop-header .hover-cart > a, .site-header__account-cart .hover-cart > a {
  display: flex;
  align-items: center;
}
@media (max-width: 1111px) {
  .site-header__account a.desktop-header .hover-cart > a, .site-header__account-cart .hover-cart > a {
    width: 26px;
    height: 26px;
    margin-right: 7px;
    margin-left: 10px;
  }
}
.site-header__account a.desktop-header .hover-cart > a .icon, .site-header__account-cart .hover-cart > a .icon {
  transition: none;
  width: clamp(24px, 1.57vw, 28px);
  height: clamp(24px, 1.57vw, 28px);
}
@media (max-width: 1111px) {
  .site-header__account a.desktop-header .hover-cart > a .icon, .site-header__account-cart .hover-cart > a .icon {
    margin-bottom: 0;
    height: 100%;
  }
}
.site-header__account a.desktop-header .popup-show, .site-header__account-cart .popup-show {
  display: block;
  top: 81px;
  left: -175px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.11);
  border-radius: 10px;
  z-index: 99;
  width: 380px;
  padding-bottom: 0;
}
.site-header__account a.desktop-header .popup-show::after, .site-header__account-cart .popup-show::after {
  content: "";
  position: absolute;
  left: calc(50% - 10px);
  top: -23px;
  border: 10px solid rgba(255, 255, 255, 0);
}
.site-header__account a.desktop-header .popup-show .cart-title, .site-header__account-cart .popup-show .cart-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 25px 15px;
}
.site-header__account a.desktop-header .popup-show .cart-title a, .site-header__account-cart .popup-show .cart-title a {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--h2-font-weight);
  line-height: var(--base-text-line-height);
  letter-spacing: 0.32px;
  display: flex;
  align-items: center;
  text-transform: uppercase;
}
.site-header__account a.desktop-header .popup-show .cart-title .icon, .site-header__account-cart .popup-show .cart-title .icon {
  margin-left: 8px;
  margin-bottom: 0;
}
.site-header__account a.desktop-header .popup-show .cart-title-text, .site-header__account-cart .popup-show .cart-title-text {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--h2-font-weight);
  line-height: var(--base-text-line-height);
  margin-bottom: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product, .site-header__account-cart .popup-show .cart-product {
  display: flex;
  min-height: 110px;
  padding: 20px 25px;
  justify-content: space-between;
  align-items: flex-start;
}
.site-header__account a.desktop-header .popup-show .cart-product:hover, .site-header__account-cart .popup-show .cart-product:hover {
  background: #f8f9fb;
}
.site-header__account a.desktop-header .popup-show .cart-product:hover .cart-product-edit-delete, .site-header__account-cart .popup-show .cart-product:hover .cart-product-edit-delete {
  opacity: 1;
}
.site-header__account a.desktop-header .popup-show .cart-product img, .site-header__account-cart .popup-show .cart-product img {
  width: auto;
  max-height: 68px;
  max-width: 45px;
  height: auto;
  object-fit: contain;
}
.site-header__account a.desktop-header .popup-show .cart-product-info, .site-header__account-cart .popup-show .cart-product-info {
  margin-left: 20px;
  margin-bottom: 10px;
  width: 100%;
  min-height: 75px;
  flex-direction: column;
  display: flex;
  justify-content: space-between;
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
}
.site-header__account a.desktop-header .popup-show .cart-product-info a, .site-header__account-cart .popup-show .cart-product-info a {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
}
.site-header__account a.desktop-header .popup-show .cart-product-info-atr, .site-header__account-cart .popup-show .cart-product-info-atr {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  margin: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit, .site-header__account-cart .popup-show .cart-product-edit {
  height: 75px;
  position: relative;
  margin-left: 20px;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-money, .site-header__account-cart .popup-show .cart-product-edit-money {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete, .site-header__account-cart .popup-show .cart-product-edit-delete {
  position: absolute;
  opacity: 0;
  transition: var(--base-transition);
  bottom: 0;
  right: 0;
  display: flex;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete .icon, .site-header__account-cart .popup-show .cart-product-edit-delete .icon {
  margin: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete a:first-child, .site-header__account-cart .popup-show .cart-product-edit-delete a:first-child {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete a:first-child:hover, .site-header__account-cart .popup-show .cart-product-edit-delete a:first-child:hover {
  text-decoration: underline;
  opacity: 1;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete a:last-child, .site-header__account-cart .popup-show .cart-product-edit-delete a:last-child {
  margin-left: 25px;
  color: #db757c;
}
.site-header__account a.desktop-header .popup-show .cart-product-subtotal, .site-header__account-cart .popup-show .cart-product-subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 25px 10px;
}
.site-header__account a.desktop-header .popup-show .cart-product-subtotal-text, .site-header__account-cart .popup-show .cart-product-subtotal-text {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  margin-bottom: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product-subtotal-summ, .site-header__account-cart .popup-show .cart-product-subtotal-summ {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  margin-bottom: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product-order, .site-header__account-cart .popup-show .cart-product-order {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  height: 60px;
  text-transform: uppercase;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
}
.site-header__account a.desktop-header .popup-show .cart-product-order .icon, .site-header__account-cart .popup-show .cart-product-order .icon {
  margin: 0;
  margin-left: 20px;
  height: 17px;
}
.site-header__account a.desktop-header .cart-value, .site-header__account-cart .cart-value {
  position: absolute;
  top: -6px;
  right: -9px;
  left: auto;
  z-index: 1;
  width: 18px;
  height: 18px;
  border-radius: 100%;
  color: var(--btn-primary-color);
  background-color: var(--btn-primary-bg);
  font-weight: 500;
  font-family: var(--font-family-secondary-2);
  font-size: 12px;
  text-align: center;
  letter-spacing: 0.012em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
}
@media (max-width: 1112px) {
  .site-header__account a.desktop-header .cart-value, .site-header__account-cart .cart-value {
    right: 0;
  }
}
@media (max-width: 1111px) {
  .site-header__account a.desktop-header {
    display: none;
  }
}
.site-header__account .open-cart > .icon,
.site-header__account .desktop-header > .icon {
  display: block;
  margin: auto 10px auto 0;
}
@media (max-width: 1111px) {
  .site-header__account .open-cart > .icon,
.site-header__account .desktop-header > .icon {
    width: 24px;
    height: 22px;
  }
}

.site-header__account-cart {
  --wc-quantity-input-size: 59px;
}
.site-header__account-cart .is-sticky .cart-popup {
  max-height: 85vh;
}
.site-header__account-cart .cart-popup {
  background-color: #ffffff;
  border: 1px solid var(--secondary-color2);
  border-radius: 15px;
  box-shadow: 0 10px 40px rgba(89, 119, 215, 0.2);
  color: var(--body-text-color, #333333);
  display: flex;
  flex-direction: column;
  left: auto;
  margin-left: auto;
  max-height: 75vh;
  max-width: 330px;
  min-width: 330px;
  opacity: 0 !important;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: -25px;
  top: 40px;
  transition: var(--base-transition);
  visibility: hidden;
  z-index: 1001;
}
.site-header__account-cart .cart-popup a {
  color: var(--primary-color1);
}
.site-header__account-cart .cart-popup a:hover {
  color: var(--primary-color2);
}
.site-header__account-cart .cart-popup .cart-products-list {
  max-height: 80%;
  overflow-y: auto;
  padding: 0;
}
.site-header__account-cart .cart-popup .popup-header {
  background-color: #213b8c;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  padding: 10px 20px;
  line-height: 20px;
}
.site-header__account-cart .cart-popup .popup-header span {
  display: block;
  margin-right: auto;
  font-size: var(--smaller-text-size);
  font-weight: 600;
}
.site-header__account-cart .cart-popup .popup-header a {
  display: none;
  font-size: 0;
  height: 20px;
  position: relative;
  width: 20px;
  transition: opacity ease-in-out 250ms;
}
.site-header__account-cart .cart-popup .popup-header a:before {
  align-items: center;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.78807 11.9099L6 8.12183L2.21193 11.9099C1.79524 12.3266 1.11339 12.3266 0.696699 11.9099C0.280011 11.4932 0.280012 10.8114 0.6967 10.3947L4.48477 6.6066L0.696699 2.81853C0.280011 2.40184 0.280011 1.71999 0.696699 1.3033C1.11339 0.886613 1.79524 0.886613 2.21193 1.3033L6 5.09137L9.78807 1.3033C10.2048 0.886613 10.8866 0.886613 11.3033 1.3033C11.72 1.71999 11.72 2.40184 11.3033 2.81853L7.51523 6.6066L11.3033 10.3947C11.72 10.8114 11.72 11.4932 11.3033 11.9099C10.8866 12.3266 10.2048 12.3266 9.78807 11.9099Z' fill='%23213B8C'/%3E%3C/svg%3E%0A");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 10px;
  border-radius: 50%;
  content: "";
  display: flex;
  font-size: 20px;
  height: 20px;
  justify-content: center;
  padding: 3px;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: center;
  width: 20px;
}
.site-header__account-cart .cart-popup .popup-header a:hover {
  opacity: 0.75;
}
.site-header__account-cart .cart-popup .cart-product {
  display: flex;
  flex-direction: row;
  overflow: hidden;
  padding: 20px 20px 15px 20px;
}
.site-header__account-cart .cart-popup .cart-product:not(:first-child) {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.site-header__account-cart .cart-popup .cart-product-image {
  align-items: center;
  display: flex;
  height: 60px;
  padding: 0 5px 0 0;
  width: 30%;
}
.site-header__account-cart .cart-popup .cart-product-image a {
  align-items: center;
  display: flex;
  height: 100%;
  border: 1px solid var(--secondary-color2);
}
.site-header__account-cart .cart-popup .cart-product-image img {
  border-radius: 3px;
  display: block;
  height: auto;
  max-width: 100%;
}
.site-header__account-cart .cart-popup .cart-product-content {
  padding-left: 10px;
  position: relative;
  width: 70%;
}
.site-header__account-cart .cart-popup .cart-product-order {
  margin-left: 2px;
}
.site-header__account-cart .cart-popup .cart-product-info {
  flex: 0 0 100%;
  margin-bottom: 8px;
}
.site-header__account-cart .cart-popup .cart-product-info > *:last-child {
  margin-bottom: 0;
}
.site-header__account-cart .cart-popup .cart-product-info a {
  display: block;
  font-size: var(--smaller-text-size);
  line-height: 1.2em;
  font-weight: 700;
  margin-bottom: 5px;
  white-space: initial;
  padding-right: 30px;
}
.site-header__account-cart .cart-popup .cart-product-info-attr {
  color: var(--body-text-color);
  font-size: 1.2rem;
  font-weight: 400;
  margin: 0 0 8px;
}
.site-header__account-cart .cart-popup .cart-product-info-attr:empty {
  display: none;
}
.site-header__account-cart .cart-popup .cart-product-total {
  color: var(--primary-color1);
  flex: 0 0 80px;
  font-size: var(--smaller-text-size);
  font-weight: 400;
  margin-bottom: 0;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity {
  align-items: center;
  border: 1px solid var(--border-color);
  display: flex;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity .ds-qty-button {
  padding: 2px 12px;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity .ds-btn-sub {
  border-right: 1px solid var(--border-color);
  margin-left: 0;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity .ds-btn-inc {
  border-left: 1px solid var(--border-color);
  margin-right: 0;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity .quantity .item_qty {
  display: none;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity input {
  -moz-appearance: textfield;
  border: none;
  height: 30px;
  text-align: center;
  width: var(--wc-quantity-input-size);
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity input::-webkit-outer-spin-button, .site-header__account-cart .cart-popup .cart-product-edit-quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.site-header__account-cart .cart-popup .cart-product-edit-delete {
  font-size: 0.8em;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}
.site-header__account-cart .cart-popup .cart-product-order {
  color: var(--btn-primary-color);
}
.site-header__account-cart .cart-popup .remove-item {
  color: transparent;
  display: block;
  font-size: 0;
  height: 20px;
  position: relative;
  width: 20px;
}
.site-header__account-cart .cart-popup .remove-item:before {
  align-items: center;
  background-color: var(--secondary-color2);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.78807 11.9099L6 8.12183L2.21193 11.9099C1.79524 12.3266 1.11339 12.3266 0.696699 11.9099C0.280011 11.4932 0.280012 10.8114 0.6967 10.3947L4.48477 6.6066L0.696699 2.81853C0.280011 2.40184 0.280011 1.71999 0.696699 1.3033C1.11339 0.886613 1.79524 0.886613 2.21193 1.3033L6 5.09137L9.78807 1.3033C10.2048 0.886613 10.8866 0.886613 11.3033 1.3033C11.72 1.71999 11.72 2.40184 11.3033 2.81853L7.51523 6.6066L11.3033 10.3947C11.72 10.8114 11.72 11.4932 11.3033 11.9099C10.8866 12.3266 10.2048 12.3266 9.78807 11.9099Z' fill='%23213B8C'/%3E%3C/svg%3E%0A");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 10px;
  border-radius: 50%;
  content: "";
  display: flex;
  font-size: 20px;
  height: 20px;
  justify-content: center;
  padding: 3px;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: center;
  width: 20px;
}
.site-header__account-cart .cart-popup .no-products {
  align-items: flex-start;
  color: var(--secondary-color3);
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  font-weight: 700;
  justify-content: center;
  padding: 0 0 2rem 0;
  text-align: center;
}
.site-header__account-cart .cart-popup .no-products p {
  border-bottom: 1px solid #d0d4de;
  color: var(--secondary-color3);
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
  padding: 3rem 4rem;
  text-align: center;
  width: 100%;
  justify-content: center;
}
.site-header__account-cart .cart-popup .no-products .c-btn, .site-header__account-cart .cart-popup .no-products .wpcf7-submit,
.site-header__account-cart .cart-popup .no-products .gform_button,
.site-header__account-cart .cart-popup .no-products .m-banner .search-submit,
.m-banner .site-header__account-cart .cart-popup .no-products .search-submit {
  display: flex;
  flex-wrap: nowrap;
  margin: 0 20px;
}
.site-header__account-cart .cart-popup .no-products .c-btn:hover, .site-header__account-cart .cart-popup .no-products .wpcf7-submit:hover,
.site-header__account-cart .cart-popup .no-products .gform_button:hover,
.site-header__account-cart .cart-popup .no-products .m-banner .search-submit:hover,
.m-banner .site-header__account-cart .cart-popup .no-products .search-submit:hover {
  color: var(--secondary-color3);
}
.site-header__account-cart .cart-popup .cart-products-subtotal {
  align-items: center;
  border-top: 1px solid var(--secondary-color1);
  display: flex;
  font-size: var(--smaller-text-size);
  font-weight: 600;
  justify-content: space-between;
  padding: 18px 20px 18px;
}
.site-header__account-cart .cart-popup .cart-products-subtotal-text {
  color: #2a3d24;
}
.site-header__account-cart .cart-popup .cart-products-subtotal-summ {
  color: var(--primary-color1);
}
.site-header__account-cart .cart-popup .cart-checkout {
  padding: 0 20px 20px;
  text-align: center;
}
.site-header__account-cart .cart-popup .cart-checkout .c-block__btn {
  margin-top: 0;
  margin-bottom: 14px;
}
.site-header__account-cart .cart-popup .cart-checkout .c-block__btn:last-child {
  margin-bottom: 0;
}
.site-header__account-cart .cart-popup .cart-checkout .c-btn, .site-header__account-cart .cart-popup .cart-checkout .wpcf7-submit,
.site-header__account-cart .cart-popup .cart-checkout .gform_button,
.site-header__account-cart .cart-popup .cart-checkout .m-banner .search-submit,
.m-banner .site-header__account-cart .cart-popup .cart-checkout .search-submit {
  display: inline-flex;
  width: 100%;
  margin: 0;
}
.site-header__account-cart .cart-popup .cart-checkout .c-btn:hover, .site-header__account-cart .cart-popup .cart-checkout .wpcf7-submit:hover,
.site-header__account-cart .cart-popup .cart-checkout .gform_button:hover,
.site-header__account-cart .cart-popup .cart-checkout .m-banner .search-submit:hover,
.m-banner .site-header__account-cart .cart-popup .cart-checkout .search-submit:hover {
  color: var(--primary-color1);
  text-decoration: none;
}
.site-header__account-cart .hover-cart {
  display: flex;
  position: relative;
}
.site-header__account-cart .hover-cart:before, .site-header__account-cart .hover-cart:after {
  bottom: 100%;
  content: "";
  display: block;
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
  z-index: 1002;
}
.site-header__account-cart .hover-cart:before {
  border: 9px solid transparent;
  border-bottom-color: var(--secondary-color2);
  left: 8px;
  top: 23px;
  transition: opacity var(--base-transition);
}
.site-header__account-cart .hover-cart:after {
  border: 8px solid transparent;
  border-bottom-color: #213b8c;
  left: 9px;
  top: 25px;
  transition: opacity var(--base-transition);
}
.site-header__account-cart .hover-cart:hover:before, .site-header__account-cart .hover-cart:hover:after {
  opacity: 1;
}
.site-header__account-cart .hover-cart:hover .cart-popup {
  opacity: 1 !important;
  pointer-events: initial;
  visibility: visible;
}
.site-header__account-cart .hover-cart.active:before, .site-header__account-cart .hover-cart.active:after {
  opacity: 1;
}
.site-header__account-cart .hover-cart.active:after {
  border-bottom-color: #213b8c;
}
.site-header__account-cart .hover-cart.active .cart-popup {
  opacity: 1 !important;
  pointer-events: initial;
  visibility: visible;
}
.site-header__account-cart .hover-cart.active .cart-popup .popup-header a {
  display: block;
}
.site-header__account-cart .cart-notify {
  background-color: #333333;
  color: #ffffff;
  font-size: var(--smaller-text-size);
  font-weight: 400;
  left: auto;
  line-height: 1;
  opacity: 0;
  padding: 10px;
  pointer-events: none;
  position: absolute;
  right: 5px;
  top: 37px;
  transform: scale(0.8, 0.8);
  transition: all 0.2s;
  white-space: nowrap;
  z-index: 1000;
}
.site-header__account-cart .cart-notify:before {
  border: solid rgba(51, 51, 51, 0);
  border-bottom-color: #333333;
  border-width: 10px;
  bottom: 100%;
  content: "";
  height: 0;
  margin-left: -10px;
  pointer-events: none;
  position: absolute;
  right: 5px;
  width: 0;
}
.site-header__account-cart .cart-notify.active {
  opacity: 1;
}

/**** End Header */
/* Above the fold modules */
/**
 ####################
 #   Module: BANNERS
 ####################
 */
/**
 ################
 #   Module BANNERS: Core
 ################
 */
.m-banner {
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  --search-height: 60px;
  position: relative;
  --search-radius: 45px;
  --search-width: 200px;
  width: 100%;
  /**
   ***************
   **  Variations
   ***************
   *  .m-banner--small, --medium, --full
   */
}
.m-banner__container {
  align-items: center;
  display: flex;
  min-height: var(--bannerHeight, auto);
  padding-left: 0;
  padding-right: 0;
  position: relative;
}
@media (max-width: 1112px) {
  .m-banner__container {
    min-height: 20vh;
    overflow: hidden;
  }
}
.m-banner .search-field {
  margin-top: 20px;
  max-width: 200px;
}
.m-banner__media {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  user-select: none;
  pointer-events: none;
}
@media (max-width: 766px) {
  .m-banner__media {
    display: none;
  }
}
.m-banner__media img,
.m-banner__media picture,
.m-banner__media video,
.m-banner__media iframe {
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}
.has-overlay .m-banner__media:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: var(--overlay-color);
  opacity: var(--overlay-opacity);
  z-index: 1;
}
.fixed-header.single-product .m-banner {
  margin-bottom: 30px;
  max-height: 200px;
  overflow: hidden;
}
@media (min-width: 1113px) {
  .m-banner.header-lap .m-banner__inner {
    padding-top: var(--header-hight);
  }
}
.m-banner.-advanced:before, .m-banner.-hero-wc:before {
  background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 27.43%, rgba(255, 255, 255, 0.94) 47.74%, rgba(255, 255, 255, 0.85) 72.51%, rgba(255, 255, 255, 0.59) 85.59%, rgba(255, 255, 255, 0) 100%);
  content: "";
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 70%;
  z-index: 1;
}
@media (max-width: 767px) {
  .m-banner.-advanced:before, .m-banner.-hero-wc:before {
    width: 100%;
  }
}
.m-banner.-advanced:after, .m-banner.-hero-wc:after {
  content: "";
  background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0.637153) 36.28%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(25% + var(--header-hight));
  pointer-events: none;
}
@media (max-width: 767px) {
  .m-banner.-advanced:after, .m-banner.-hero-wc:after {
    background: linear-gradient(0deg, rgba(245, 250, 254, 0) 0%, #F5FAFE 100%);
    height: 50%;
  }
  .m-banner.-advanced:before, .m-banner.-hero-wc:before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 21.89%, #FFFFFF 97.98%), linear-gradient(0deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 49.81%);
    width: 100%;
    height: 70%;
    top: auto;
    bottom: 0;
  }
}
.m-banner.-advanced.no-gradient:before, .m-banner.-advanced.no-gradient:after, .m-banner.-hero-wc.no-gradient:before, .m-banner.-hero-wc.no-gradient:after {
  display: none;
}
.m-banner.-hero-wc {
  --bannerHeight: 300px;
}
@media (max-width: 767px) {
  .m-banner.-hero-wc:after, .m-banner.-hero-wc:before {
    left: -20px;
    right: -20px;
    width: auto;
    height: 100%;
  }
}
@media (min-width: 768px) {
  .m-banner.-hero-wc {
    background: linear-gradient(180deg, rgba(245, 250, 254, 0) 0%, #f5fafe 100%);
  }
}
.single .m-banner.-hero-wc {
  margin-bottom: 50px;
  text-align: left;
}
.single .m-banner.-hero-wc .l-banner {
  padding-top: clamp(50px, 3vw, 150px);
}
@media (min-width: 1113px) {
  .single .m-banner.-hero-wc {
    margin-top: 80px;
  }
  .single .m-banner.-hero-wc.header-lap .m-banner__inner {
    padding-top: 70px;
  }
  .single .m-banner.-hero-wc.header-lap .l-banner {
    padding-top: var(--banner-top-padding, 0);
  }
}
.m-banner.-hero-wc .l-banner {
  max-width: 750px;
}
@media (min-width: 1113px) {
  .m-banner.-hero-wc .l-banner {
    max-width: 50%;
    min-width: 600px;
  }
}
.archive .m-banner.-hero-wc .l-banner {
  margin: 0 auto;
  text-align: center;
}
.m-banner.-hero-wc img {
  max-height: 100%;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .m-banner.-hero-wc .m-banner__container {
    margin-left: -20px;
    margin-right: -20px;
    width: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.m-banner.-hero-wc.no-gradient {
  background: transparent;
}
.m-banner.-hero-wc.no-gradient:before {
  background: transparent;
}
.single-product .m-banner.-hero-wc.no-gradient.has-overlay .m-banner__media:after {
  background-color: var(--overlay-color);
}
.m-banner.-simple {
  background-image: url("data:image/svg+xml,%3Csvg width='1177' height='496' viewBox='0 0 1177 496' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='a' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='1177' height='496'%3E%3Cpath d='M0 0h1177v496H0V0Z' fill='%23C4C4C4'/%3E%3C/mask%3E%3Cg opacity='.1' mask='url(%23a)'%3E%3Crect x='224' y='33.5619' width='160.601' height='366.02' rx='80.3004' transform='rotate(-45 224 33.5619)' fill='%232455C9'/%3E%3Crect x='952' y='532.709' width='160.601' height='366.02' rx='80.3004' transform='rotate(135 952 532.709)' fill='%23EB8B34'/%3E%3Crect width='160.601' height='366.02' rx='80.3004' transform='scale(-1 1) rotate(-45 -435.487 1165.9462)' fill='%2381B25C'/%3E%3Crect width='160.601' height='366.02' rx='80.3004' transform='scale(1 -1) rotate(-45 -531.0365 -536.7463)' fill='%235E328B'/%3E%3C/g%3E%3C/svg%3E");
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 1112px) {
  .m-banner.-simple {
    background-image: url("data:image/svg+xml,%3Csvg width='1177' height='496' viewBox='0 0 1177 496' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='a' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='1177' height='496'%3E%3Cpath d='M0 0h1177v496H0V0Z' fill='%23C4C4C4'/%3E%3C/mask%3E%3Cg opacity='.5' mask='url(%23a)'%3E%3Crect x='224' y='33.5619' width='160.601' height='366.02' rx='80.3004' transform='rotate(-45 224 33.5619)' fill='%232455C9'/%3E%3Crect x='952' y='532.709' width='160.601' height='366.02' rx='80.3004' transform='rotate(135 952 532.709)' fill='%23EB8B34'/%3E%3Crect width='160.601' height='366.02' rx='80.3004' transform='scale(-1 1) rotate(-45 -435.487 1165.9462)' fill='%2381B25C'/%3E%3Crect width='160.601' height='366.02' rx='80.3004' transform='scale(1 -1) rotate(-45 -531.0365 -536.7463)' fill='%235E328B'/%3E%3C/g%3E%3C/svg%3E");
    background-position: 50% 50%;
    background-size: 150% 150%;
  }
}
.m-banner.-simple:after {
  background: linear-gradient(180deg, rgba(245, 250, 254, 0) 0%, #f5fafe 100%);
  bottom: 0;
  content: "";
  height: 50%;
  left: 0;
  position: absolute;
  width: 100%;
}
@media (max-width: 1112px) {
  .m-banner.-simple:after {
    height: 100%;
  }
}
.m-banner.-simple.-left {
  text-align: left;
}
.m-banner.-simple.-left .l-banner {
  margin: 0;
}
@media (max-width: 767px) {
  .m-banner.-simple.-left .l-banner {
    margin-left: auto;
    margin-right: auto;
  }
}
.m-banner.-simple.-center {
  text-align: center;
}
.m-banner.-simple.-center .l-banner {
  margin: 0 auto;
}
.m-banner.-simple .c-heading.-h1 {
  text-transform: capitalize;
}
.home .m-banner--hero {
  --h1-font-size: 7.5rem;
  --h1-margin-bottom: 1em;
}
.blog .m-banner--hero {
  --h1-margin-bottom: 0;
}
@media (min-width: 768px) {
  .m-banner--hero .l-banner {
    max-width: 50%;
  }
  .home .m-banner--hero .l-banner, .archive .m-banner--hero .l-banner, .blog .m-banner--hero .l-banner, .page-contact .m-banner--hero .l-banner, .page-template-page-template-individual .m-banner--hero .l-banner {
    max-width: 63%;
  }
  .home:not(.blog) .m-banner--hero .l-banner {
    padding-top: 0;
  }
}
@media (min-width: 1113px) {
  .m-banner--hero .m-banner__media img {
    object-position: top center;
  }
}
.m-banner--hero .c-heading__sub {
  color: var(--secondary-color3);
}
.m-banner--hero .c-heading__btn .c-btn, .m-banner--hero .c-heading__btn .wpcf7-submit,
.m-banner--hero .c-heading__btn .gform_button,
.m-banner--hero .c-heading__btn .m-banner .search-submit,
.m-banner .m-banner--hero .c-heading__btn .search-submit {
  text-transform: capitalize;
}
.m-banner--hero.-advanced {
  --bannerHeight: var(--banner-height--full, 100vh);
  min-height: 70vh;
}
@media (min-width: 1113px) {
  .m-banner--hero.-advanced {
    margin-top: 80px;
  }
  .m-banner--hero.-advanced.header-lap .m-banner__inner {
    padding-top: 72px;
  }
}
@media (max-width: 1112px) {
  .m-banner--hero.-advanced {
    min-height: 50vh;
  }
  .m-banner--hero.-advanced .l-banner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (orientation: portrait) {
  .m-banner--hero.-advanced {
    min-height: max-content;
  }
}
@media (max-width: 767px) {
  .m-banner--hero.-advanced .m-banner__container {
    align-items: flex-start;
    min-height: 350px;
  }
  .home .m-banner--hero.-advanced .m-banner__container {
    min-height: 500px;
  }
}
@media (max-width: 767px) {
  .m-banner--hero.-advanced .m-banner__media {
    position: absolute;
    top: 45%;
  }
  .home .m-banner--hero.-advanced .m-banner__media {
    top: 30%;
    bottom: 30%;
  }
  .home .m-banner--hero.-advanced .m-banner__media:after {
    background: linear-gradient(to bottom, rgba(245, 250, 254, 0) 0%, #f8fcff 100%);
    content: "";
    height: 25%;
    left: 0;
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 1;
  }
  .m-banner--hero.-advanced .m-banner__media img {
    object-position: center right;
  }
  .m-banner--hero.-advanced .m-banner__media:before {
    background: linear-gradient(to top, rgba(245, 250, 254, 0) 0%, #f8fcff 100%);
    background-position-y: 1px;
    content: "";
    height: 25%;
    left: 0;
    position: absolute;
    top: -1px;
    width: 100%;
    z-index: 1;
  }
}
@media (max-width: 1112px) and (min-width: 768px) {
  .m-banner--hero.-advanced .l-tbpanel__item {
    padding: clamp(10px, 1.57vw, 30px);
  }
}
@media (max-width: 1112px) and (min-width: 768px) {
  .m-banner--hero.-advanced .l-tbpanel__label {
    display: none;
  }
}
@media (max-width: 767px) {
  .m-banner--hero.-advanced .l-banner {
    padding-bottom: 0;
  }
}
.m-banner--hero.-simple {
  --bannerHeight: 496px;
}
.tax-product_cat .m-banner--hero.-simple {
  --bannerHeight: auto;
}
.m-banner--hero.-simple.-center {
  text-align: center;
}
.m-banner--hero.-simple.-center .l-banner {
  margin: 0 auto;
}
@media (min-width: 1112px) {
  .m-banner--blog {
    --bannerHeight: var(--banner-height--blog, 420px);
    text-align: center;
  }
  .m-banner--small {
    --bannerHeight: var(--banner-height--small, 300px);
  }
  .m-banner--medium {
    --bannerHeight: var(--banner-height--medium, 450px);
  }
  .m-banner--full {
    --bannerHeight: var(--banner-height--full, 100vh);
  }
  .m-banner--full .m-banner__container {
    max-height: 800px;
  }
}
@media (max-width: 767px) {
  .m-banner + .product-tabs {
    margin-top: 0;
  }
}
.m-banner.hero-product-cards .l-banner {
  margin-inline: auto;
  text-align: center;
  max-width: 945px;
}
.m-banner .cta-blocks.boxes {
  display: grid;
  gap: 24px;
  padding-bottom: 70px;
}
@media (min-width: 767px) {
  .m-banner .cta-blocks.boxes {
    grid-template-columns: 1fr 1fr;
    padding-bottom: 30px;
  }
}
.m-banner .cta-blocks.boxes .cta-block {
  position: relative;
  margin: 0;
  padding: 24px;
  box-shadow: 0 20px 60px 0 rgba(17, 32, 70, 0.2);
  border-radius: 20px;
  background-color: var(--wp--preset--color--white, #ffffff);
}
@media (max-width: 767px) {
  .m-banner .cta-blocks.boxes .cta-block {
    text-align: left;
  }
}
.m-banner .cta-blocks.boxes .cta-block + .cta-block {
  z-index: 2;
}
.m-banner .cta-blocks.boxes .cta-block h4 {
  margin-bottom: 24px;
  font-size: 18px;
  font-weight: 700;
}
.m-banner .cta-blocks.boxes .cta-block p {
  font-size: 16px;
  line-height: 1.2;
}
.m-banner .cta-block {
  margin-top: 30px;
  margin-bottom: 20px;
}
.m-banner .cta-block h4 {
  font-weight: 600;
}
.m-banner .cta-block .c-btn, .m-banner .cta-block .wpcf7-submit,
.m-banner .cta-block .gform_button,
.m-banner .cta-block .search-submit {
  margin-top: 20px;
}

.general-bg-logo + .m-banner.-hero-wc:before {
  display: none;
}

/**
 ################
 #   Module BANNERS: Base Layout
 ################
 */
.l-banner {
  width: 100%;
  position: relative;
  padding-top: var(--banner-top-padding, 0);
  padding-bottom: var(--banner-bot-padding, 0);
  z-index: 2;
}
@media (max-width: 1112px) {
  .l-banner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .l-banner {
    text-align: center;
  }
}
.l-banner__media {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1113px) {
  .l-banner__media {
    flex: 1 1 auto;
  }
}
.l-banner__media .c-image {
  height: 100%;
  width: 100%;
}

/* Banners */
.m-banner {
  --banner-height--small: 300px;
  --banner-height--medium: 650px;
  --banner-height--blog: 400px;
  --banner-height--full: 70vh;
  --banner-top-padding: 5vmin;
  --banner-bot-padding: 5vmin;
}

.cta-banner {
  --h2-font-weight: 400;
  background-image: var(--logo-dark);
  background-color: #F5DD57;
  background-position: 0 50%;
  background-size: 35%;
  background-repeat: no-repeat;
  border-radius: clamp(10px, 1.05vw, 20px);
  max-width: 950px;
  padding: clamp(25px, 2.6vw, 50px);
  margin: 0 auto;
  text-align: center;
}
.cta-banner__wrap.-blue {
  background-color: var(--primary-color1);
}
@media (max-width: 1112px) {
  .cta-banner__wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.cta-banner .c-heading__title {
  color: var(--secondary-color3);
  letter-spacing: -0.03em;
}
.cta-banner .c-heading__title span {
  display: block;
  font-weight: 700;
}
.cta-banner .c-btn.-secondary:hover, .cta-banner .-secondary.wpcf7-submit:hover,
.cta-banner .-secondary.gform_button:hover,
.cta-banner .m-banner .-secondary.search-submit:hover,
.m-banner .cta-banner .-secondary.search-submit:hover {
  background-color: var(--btn-secondary-bg);
}

.c-heading__btn + .filter-search {
  margin-top: 2em;
}

.filter-search {
  --c-block-bg: transparent;
  width: 100%;
}
.filter-search .m-tabs {
  --tbpanel-padding: 35px;
}
.filter-search .l-tbnav {
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .filter-search .l-tbnav {
    width: fit-content;
  }
  .filter-search .l-tbnav__item {
    flex: 0 0 auto;
  }
}
@media (max-width: 767px) {
  .filter-search .l-tbnav {
    display: flex;
  }
}
@media (max-width: 767px) {
  .filter-search.product-tabs .c-tbnav__label {
    padding: 0 1em;
    font-size: 15px;
  }
}
.filter-search .l-tbpanel {
  border-radius: clamp(10px, 1.05vw, 20px);
}
@media (max-width: 767px) {
  .filter-search .l-tbpanel {
    padding: 20px;
  }
  .filter-search .l-tbpanel .l-tbpanel__item {
    border: none;
  }
  .filter-search .l-tbpanel .l-tbpanel__label {
    display: none;
  }
}
.filter-search .c-block {
  border: none;
}
.filter-search .pt-panel {
  padding: 0;
}
.filter-search .filter-search-box {
  width: 100%;
}
@media (min-width: 768px) {
  .filter-search .filter-search-box {
    display: flex;
    border-radius: 35px;
    overflow: hidden;
    padding-left: 10px;
    background: #F7F7F7;
  }
}
@media (min-width: 768px) {
  .filter-search__select:first-child {
    width: 30%;
  }
}
@media (min-width: 768px) {
  .filter-search__select:nth-child(2) {
    width: 60%;
  }
}
.filter-search__select:hover {
  cursor: pointer;
}
@media (max-width: 767px) {
  .filter-search__select {
    margin-bottom: 10px;
  }
}
@media (min-width: 768px) {
  .filter-search__select {
    width: 44%;
  }
  .filter-search__select:not(:first-child) {
    border-left: 2px solid #DBE0ED;
  }
  #data-tab-filter-1 .filter-search__select {
    width: 85%;
  }
}
.filter-search__select select:hover,
.filter-search__select .select2:hover {
  cursor: pointer;
}
.filter-search__select .dropdown-list {
  display: none;
}
.filter-search__btn {
  padding: 0;
}
@media (min-width: 768px) {
  .filter-search__btn {
    width: 60px;
    flex: 1 1 auto;
  }
}
.filter-search__btn .c-btn, .filter-search__btn .wpcf7-submit,
.filter-search__btn .gform_button,
.filter-search__btn .m-banner .search-submit,
.m-banner .filter-search__btn .search-submit {
  padding: 0;
  width: 100%;
}
@media (max-width: 767px) {
  .filter-search__btn .c-btn__txt {
    font-size: 13px;
  }
}
@media (min-width: 768px) {
  .filter-search__btn .c-btn__txt {
    display: none;
  }
}
@media (min-width: 768px) {
  .filter-search__btn .c-btn__ico {
    padding: 0 !important;
  }
}
.filter-search__btn .c-btn:hover .c-btn__ico .icon, .filter-search__btn .wpcf7-submit:hover .c-btn__ico .icon,
.filter-search__btn .gform_button:hover .c-btn__ico .icon,
.filter-search__btn .m-banner .search-submit:hover .c-btn__ico .icon,
.m-banner .filter-search__btn .search-submit:hover .c-btn__ico .icon {
  transform: scale(1.1);
}
.filter-search__btn .icon {
  width: 24px;
  height: 24px;
}
.filter-search input,
.filter-search select,
.filter-search button,
.filter-search .select2 {
  height: clamp(45px, 3.12vw, 60px);
}
@media (min-width: 768px) {
  .filter-search input,
.filter-search select,
.filter-search button,
.filter-search .select2 {
    border-radius: 0;
    margin: 0;
  }
}
.filter-search .select2-container.select2 {
  border: none;
  background-color: #F7F7F7;
  width: 100%;
  font-size: clamp(1.3rem, 0.95vw, 1.8rem);
  color: var(--secondary-color3);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
}
.filter-search .select2-container.select2:focus {
  outline: 0;
}
@media (max-width: 767px) {
  .filter-search .select2-container.select2 {
    border-radius: 25px;
    padding: 0 15px;
    font-size: clamp(1.6rem, 1.1vw, 2.1rem);
  }
}
@media (min-width: 768px) {
  .filter-search .select2-container.select2 {
    background-position: right 0 center;
    width: 90%;
    padding-left: clamp(10px, 1.05vw, 20px);
  }
}
.filter-search .select2-container.select2.btn::before, .filter-search .select2-container.select2.c-btn::before, .filter-search .select2-container.select2.wpcf7-submit::before,
.filter-search .select2-container.select2.gform_button::before,
.filter-search .m-banner .select2-container.select2.search-submit::before,
.m-banner .filter-search .select2-container.select2.search-submit::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  right: 2px;
  top: 46%;
  transform: translateY(-50%) rotate(135deg);
  transition: transform 0.1s ease-in;
}
.filter-search .select2-container .select2-selection.select2-selection--single {
  padding-left: 0;
  padding-right: 35px;
}
.filter-search .select2-container .select2-selection.select2-selection--single .select2-selection__rendered {
  line-height: clamp(45px, 3.12vw, 60px);
}
.filter-search .select2-container .select2-selection.select2-selection--single .select2-selection__arrow {
  pointer-events: none;
  right: 15px;
}

/**
 * Banner Layout: Gateway Hero
 *
 * Extends the base .m-banner styles with the two-button "Who we serve"
 * audience segmentation layout.
 */
.m-banner--gateway .gateway-hero__ctas {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 28px;
}
@media (max-width: 767px) {
  .m-banner--gateway .gateway-hero__ctas {
    align-items: center;
  }
}
.m-banner--gateway .gateway-hero__label {
  color: var(--secondary-color3);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.m-banner--gateway .gateway-hero__btn {
  min-width: 220px;
}

/* Heading Component */ /**
 * HEADING Module
 *
 * Standalone heading selectors, title, pre/sub-title
 *
 */
.-h1 {
  line-height: var(--h1-line-height, 1);
  font-weight: var(--h1-font-weight, 600);
  font-family: var(--h1-font);
  margin-bottom: var(--h1-margin-bottom, 0.5em);
  text-transform: var(--h1-text-transform);
  letter-spacing: var(--h1-letter-spacing, 0);
  font-size: clamp(var(--h1-font-size-mobile), 4.5vw, var(--h1-font-size));
  color: var(--titles-color);
}
.colors-inverted .-h1 {
  color: var(--titles-color-alt);
}
.-h1 .c-heading__sub {
  font-size: clamp(var(--h1-subtitle-font-size-mobile, 18px), 1.354vw, var(--h1-subtitle-font-size, 2.6rem));
}

.-h2, .is-wysiwyg h2 {
  line-height: var(--h2-line-height, 1);
  font-weight: var(--h2-font-weight, 600);
  font-family: var(--h2-font);
  text-transform: var(--h2-text-transform);
  letter-spacing: var(--h2-letter-spacing, 0);
  font-size: clamp(var(--h2-font-size-mobile), 2.82vw, var(--h2-font-size));
  margin-bottom: var(--h2-margin-bottom, 0.5em);
}
.-h2 .c-heading__sub, .is-wysiwyg h2 .c-heading__sub {
  font-size: clamp(var(--h2-subtitle-font-size-mobile, 16px), 1.146vw, var(--h2-subtitle-font-size, 2.2rem));
}

.-h3, .is-wysiwyg h3 {
  line-height: var(--h3-line-height, 1);
  font-weight: var(--h3-font-weight, 600);
  font-family: var(--h3-font);
  text-transform: var(--h3-text-transform);
  letter-spacing: var(--h3-letter-spacing, 0);
  font-size: clamp(var(--h3-font-size-mobile), 1.57vw, var(--h3-font-size));
  margin-bottom: var(--h3-margin-bottom, 0.5em);
}

.-h4, .is-wysiwyg h4 {
  line-height: var(--h4-line-height, 1);
  font-weight: var(--h4-font-weight, 600);
  font-family: var(--h4-font);
  text-transform: var(--h4-text-transform);
  letter-spacing: var(--h4-letter-spacing, 0);
  font-size: clamp(var(--h4-font-size-mobile), 1.1vw, var(--h4-font-size));
  margin-bottom: var(--h4-margin-bottom, 0.5em);
}

.c-heading {
  /**
   * #.# Modifiers
   */
}
.c-heading__title {
  position: relative;
  font-size: inherit;
  font-weight: inherit;
  text-transform: inherit;
  line-height: inherit;
  margin: 0;
  z-index: 1;
  color: var(--titles-color);
}
.colors-inverted .c-heading__title {
  color: var(--titles-color-alt);
}
.c-heading__title span {
  color: var(--titles-color-accent);
}
.text-center .c-heading__title {
  margin: 0 auto;
}
.c-heading__pre {
  color: var(--pretitle-color, var(--primary-color2));
  line-height: var(--pretitle-line-height, 1.4);
  letter-spacing: var(--pretitle-letter-spacing, 0);
  margin: var(--pretitle-margin-bottom, 0.5em) 0;
  font-family: var(--pretitle-font);
  font-weight: var(--pretitle-font-weight, 500);
  text-transform: var(--pretitle-text-transform);
  font-size: clamp(var(--pretitle-font-size-mobile, 18px), 2.25vw, var(--pretitle-font-size, 2.4rem));
}
.colors-inverted .c-heading__pre, .style-dark .c-heading__pre {
  color: var(--pretitle-color-alt);
}
.c-heading__sub {
  color: var(--subtitle-color, var(--primary-color2));
  line-height: var(--subtitle-line-height, 1.4);
  letter-spacing: var(--subtitle-letter-spacing, 0);
  margin: var(--subtitle-margin-bottom, 0.5em) 0;
  font-family: var(--subtitle-font);
  font-weight: var(--subtitle-font-weight, 500);
  text-transform: var(--subtitle-text-transform);
  font-size: clamp(var(--subtitle-font-size-mobile, 16px), 1.146vw, var(--subtitle-font-size, 2.4rem));
}
.colors-inverted .c-heading__sub, .style-dark .c-heading__sub {
  color: var(--subtitle-color-alt);
}
.c-heading__text {
  font-size: var(--base-text-size);
}
.text-center .c-heading {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.c-heading.-small.-h2 {
  --h2-font-size: 3rem;
  --h2-margin-bottom: 32px;
}

/* Heading Layout */
.l-heading-v2 {
  --h2-letter-spacing: .1em;
  --h2-font: var(--font-family-primary);
  --h2-font-weight: 500;
  --h2-text-transform: uppercase;
  --pretitle-color: var(--secondary-color2);
  --pretitle-font-size: 2rem;
  --pretitle-letter-spacing: 0;
  --subtitle-color: var(--primary-color1);
  --subtitle-font-size: 1.8rem;
  --subtitle-letter-spacing: 0;
  --h2-font-size: 2.8rem;
}
.l-heading-v2 .c-heading__title {
  font-size: 2.8rem;
}

/**
 ############################
 #   Buttons Component
 ############################
 */
/**
 *************
 **  Core
 *************
 *  Common properties of buttons
 */
/** Buttons Core Component */
.btn, .c-btn, .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
  --btn-ico-color: currentColor;
  --icon-shift: 10px;
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: center;
  backface-visibility: hidden;
  background-color: transparent;
  position: relative;
  text-decoration: none;
  border: none;
  text-align: center;
  white-space: nowrap;
  transition: all var(--base-transition);
}

.c-btn, .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
  font-size: var(--btn-font-size, 1.8rem);
  font-family: var(--btn-font-family);
  text-transform: var(--btn-text-transform, none);
  font-weight: var(--btn-font-weight, 400);
  letter-spacing: 0;
  box-shadow: var(--btn-box-shadow, none);
  border-radius: var(--btn-border-radius, 0);
  margin: 2px;
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: var(--btn-padding-top-bottom, 10px) var(--btn-padding-left-right, 20px);
  /* Button Visual Variants */
  /* Button Size Variants */
  /* Button Icon */
}
@media (max-width: 767px) {
  .c-btn, .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
    font-size: 14px;
  }
}
.c-btn > span, .wpcf7-submit > span,
.gform_button > span,
.m-banner .search-submit > span {
  box-sizing: border-box;
}
.c-btn:focus, .wpcf7-submit:focus,
.gform_button:focus,
.m-banner .search-submit:focus {
  outline: 0;
}
.c-btn.-more, .-more.wpcf7-submit,
.-more.gform_button,
.m-banner .-more.search-submit {
  font-weight: 700;
  padding: 0;
  flex-direction: row;
  margin-top: 15px;
}
.c-btn.-more:after, .-more.wpcf7-submit:after,
.-more.gform_button:after,
.m-banner .-more.search-submit:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.49972 3.67925L1.79136 0.27975C1.38115 -0.0932504 0.717451 -0.0932504 0.307244 0.279749C-0.102414 0.656749 -0.102414 1.26575 0.307244 1.64275L4.75794 5.72025C5.16815 6.09325 5.8324 6.09325 6.24206 5.72025L10.6928 1.64275C11.103 1.26575 11.1019 0.65675 10.6928 0.27975C10.2831 -0.09325 9.6194 -0.0932501 9.20919 0.27975L5.49972 3.67925Z' fill='%233397EF'/%3E%3C/svg%3E%0A");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: 50%;
  width: 11px;
  height: 6px;
  margin-left: 5px;
  position: relative;
  top: 1px;
}
.is-active .c-btn.-more:after, .is-active .-more.wpcf7-submit:after,
.is-active .-more.gform_button:after,
.is-active .m-banner .-more.search-submit:after,
.m-banner .is-active .-more.search-submit:after {
  transform: rotate(180deg);
}
.c-btn.-primary .c-btn__ico, .wpcf7-submit .c-btn__ico,
.gform_button .c-btn__ico,
.m-banner .search-submit .c-btn__ico, .c-btn.-secondary .c-btn__ico {
  padding-right: calc(var(--btn-padding-left-right, 20px) / 2);
}
@media (max-width: 767px) {
  .c-btn.-primary .c-btn__ico, .wpcf7-submit .c-btn__ico,
.gform_button .c-btn__ico,
.m-banner .search-submit .c-btn__ico, .c-btn.-secondary .c-btn__ico {
    padding-right: 10px;
  }
}
.c-btn.-primary, .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
  background-color: var(--btn-primary-bg);
  color: var(--btn-primary-color);
  border: var(--btn-primary-border) solid var(--btn-primary-border-color);
}
@media (hover: hover) {
  .c-btn.-primary:hover, .wpcf7-submit:hover,
.gform_button:hover,
.m-banner .search-submit:hover {
    background-color: var(--btn-primary-bg-hover);
    color: var(--btn-primary-color-hover);
    border-color: var(--btn-primary-border-color-hover);
  }
}
.c-btn.-primary.-white, .-white.wpcf7-submit,
.-white.gform_button,
.m-banner .-white.search-submit {
  --btn-primary-bg: #ffffff;
}
.c-btn.-secondary, .-secondary.wpcf7-submit,
.-secondary.gform_button,
.m-banner .-secondary.search-submit {
  background-color: var(--btn-secondary-bg);
  color: var(--btn-secondary-color);
  border: var(--btn-secondary-border) solid var(--btn-secondary-border-color);
}
@media (hover: hover) {
  .c-btn.-secondary:hover, .-secondary.wpcf7-submit:hover,
.-secondary.gform_button:hover,
.m-banner .-secondary.search-submit:hover {
    background-color: var(--btn-secondary-bg-hover);
    color: var(--btn-secondary-color-hover);
    border-color: var(--btn-secondary-border-color-hover);
  }
}
.c-btn.-secondary:focus, .-secondary.wpcf7-submit:focus,
.-secondary.gform_button:focus,
.m-banner .-secondary.search-submit:focus {
  background-color: var(--btn-secondary-bg-hover);
  color: var(--btn-secondary-color-hover);
  border-color: var(--btn-secondary-border-color-hover);
}
.c-btn.-link, .-link.wpcf7-submit,
.-link.gform_button,
.m-banner .-link.search-submit {
  color: var(--btn-link-color);
  box-shadow: none !important;
  padding: 0;
  /*        &.icon-left {
      .c-btn__ico {
          margin-right: 10px;
          margin-left: 0;
      }
  }*/
}
.c-btn.-link .c-btn__ico, .-link.wpcf7-submit .c-btn__ico,
.-link.gform_button .c-btn__ico,
.m-banner .-link.search-submit .c-btn__ico {
  max-width: 35px;
  margin-left: 10px;
}
.c-btn.-link .c-btn__ico svg, .-link.wpcf7-submit .c-btn__ico svg,
.-link.gform_button .c-btn__ico svg,
.m-banner .-link.search-submit .c-btn__ico svg {
  color: var(--link-icon-color, currentColor);
}
.c-btn.-link .c-btn__ico svg, .-link.wpcf7-submit .c-btn__ico svg,
.-link.gform_button .c-btn__ico svg,
.m-banner .-link.search-submit .c-btn__ico svg,
.c-btn.-link .c-btn__ico img,
.-link.wpcf7-submit .c-btn__ico img,
.-link.gform_button .c-btn__ico img,
.m-banner .-link.search-submit .c-btn__ico img {
  max-height: 1em;
}
@media (hover: hover) {
  .c-btn.-link:hover, .-link.wpcf7-submit:hover,
.-link.gform_button:hover,
.m-banner .-link.search-submit:hover {
    color: var(--btn-link-color-hover);
  }
}
.c-btn.-small, .-small.wpcf7-submit,
.-small.gform_button,
.m-banner .-small.search-submit {
  --btn-padding-left-right: 20px;
  --btn-padding-top-bottom: 10px;
  font-size: 0.8em;
}
.c-btn.-small .icon, .-small.wpcf7-submit .icon,
.-small.gform_button .icon,
.m-banner .-small.search-submit .icon {
  max-width: 60%;
}
.c-btn.-large, .-large.wpcf7-submit,
.-large.gform_button,
.m-banner .-large.search-submit {
  font-size: 1.4em;
}
.c-btn__ico {
  min-width: 40px;
  max-width: 40px;
  position: relative;
  transition: transform var(--base-transition), filter var(--base-transition), opacity var(--base-transition);
  pointer-events: none;
  display: flex;
}
@media (max-width: 767px) {
  .c-btn__ico {
    min-width: 30px;
    max-width: 30px;
  }
}
.c-btn__ico svg,
.c-btn__ico img {
  margin: auto;
  max-height: 1.5em;
  transition: transform 0.3s;
}
.c-btn__ico svg {
  fill: var(--btn-ico-color);
  color: var(--btn-ico-color);
}
.c-btn__ico img {
  transition: transform var(--base-transition), filter var(--base-transition), opacity var(--base-transition);
  max-width: 100%;
}
.c-btn.icon-right, .icon-right.wpcf7-submit,
.icon-right.gform_button,
.m-banner .icon-right.search-submit {
  flex-direction: row;
}
.c-btn.icon-right .c-btn__ico, .icon-right.wpcf7-submit .c-btn__ico,
.icon-right.gform_button .c-btn__ico,
.m-banner .icon-right.search-submit .c-btn__ico {
  padding-left: calc(var(--btn-padding-left-right, 20px) / 2);
  padding-right: 0;
}
.c-btn.icon-right:hover .c-btn__ico .icon, .icon-right.wpcf7-submit:hover .c-btn__ico .icon,
.icon-right.gform_button:hover .c-btn__ico .icon,
.m-banner .icon-right.search-submit:hover .c-btn__ico .icon {
  transform: translate(5px);
}
.c-btn-bar .c-btn, .c-btn-bar .wpcf7-submit,
.c-btn-bar .gform_button,
.c-btn-bar .m-banner .search-submit,
.m-banner .c-btn-bar .search-submit {
  vertical-align: middle;
}
@media (hover: hover) {
  .c-btn:hover .c-btn__ico .icon:not(.icon-shopping-cart):not(.icon-search), .wpcf7-submit:hover .c-btn__ico .icon:not(.icon-shopping-cart):not(.icon-search),
.gform_button:hover .c-btn__ico .icon:not(.icon-shopping-cart):not(.icon-search),
.m-banner .search-submit:hover .c-btn__ico .icon:not(.icon-shopping-cart):not(.icon-search) {
    transform: rotate(180deg);
  }
  .c-btn:hover .c-btn__ico.icon-reversed, .wpcf7-submit:hover .c-btn__ico.icon-reversed,
.gform_button:hover .c-btn__ico.icon-reversed,
.m-banner .search-submit:hover .c-btn__ico.icon-reversed {
    transform: translateX(-5px) scaleX(-1);
  }
}
.c-btn.loading:hover .c-btn__ico, .loading.wpcf7-submit:hover .c-btn__ico,
.loading.gform_button:hover .c-btn__ico,
.m-banner .loading.search-submit:hover .c-btn__ico {
  transform-origin: 69%;
}
@media (max-width: 1112px) {
  .c-btn.loading:hover .c-btn__ico, .loading.wpcf7-submit:hover .c-btn__ico,
.loading.gform_button:hover .c-btn__ico,
.m-banner .loading.search-submit:hover .c-btn__ico {
    transform-origin: 75%;
  }
}
.c-btn.loading .c-btn__ico, .loading.wpcf7-submit .c-btn__ico,
.loading.gform_button .c-btn__ico,
.m-banner .loading.search-submit .c-btn__ico {
  animation: rotation 1s infinite linear;
  transform-origin: 69%;
}
@media (max-width: 1112px) {
  .c-btn.loading .c-btn__ico, .loading.wpcf7-submit .c-btn__ico,
.loading.gform_button .c-btn__ico,
.m-banner .loading.search-submit .c-btn__ico {
    transform-origin: 75%;
  }
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
/* CF7 Submit Button */
.wpcf7-submit,
.gform_button,
.m-banner .search-submit {
  font-size: var(--btn-font-size, 1.8rem);
  font-family: var(--btn-font-family);
  text-transform: var(--btn-text-transform, none);
  font-weight: var(--btn-font-weight, 400);
  box-shadow: var(--btn-box-shadow, none);
  border-radius: var(--btn-border-radius, 0);
  padding: var(--btn-padding-top-bottom) var(--btn-padding-left-right);
  transition: all var(--base-transition);
}
@media (hover: hover) {
  .wpcf7-submit:hover,
.gform_button:hover,
.m-banner .search-submit:hover {
    box-shadow: 0 2px 2px rgba(0, 7, 63, 0.2);
  }
}
@media (max-width: 767px) {
  .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
    font-size: 14px;
  }
}

.sso-login .shortcode-wrap {
  display: none;
}
.sso-login .c-btn, .sso-login .wpcf7-submit,
.sso-login .gform_button,
.sso-login .m-banner .search-submit,
.m-banner .sso-login .search-submit {
  margin-top: 0;
  width: 100%;
  margin-bottom: 30px;
}
.sso-login .c-btn:last-of-type, .sso-login .wpcf7-submit:last-of-type,
.sso-login .gform_button:last-of-type,
.sso-login .m-banner .search-submit:last-of-type,
.m-banner .sso-login .search-submit:last-of-type {
  margin-bottom: 0;
}

/**
 ############################
 #   Content Block Component
 ############################
 */
.c-block {
  background-color: var(--c-block-bg);
  box-shadow: var(--c-block-shadow);
  border-radius: var(--c-block-radius);
  border: 1px solid var(--c-block-border);
  isolation: isolate;
}
.c-block__body {
  padding: var(--c-block-padding, 15px);
  text-align: var(--c-block-align, left);
  font-size: var(--c-block-text-size);
  color: var(--c-block-color);
}
.c-block__title {
  position: relative;
  font-size: var(--c-block-title-size);
  font-weight: var(--c-block-title-weight);
  text-transform: var(--c-block-title-transform);
  color: var(--c-block-title-color);
  margin-bottom: var(--h4-margin-bottom, 0.5em);
}
.c-block__title a {
  color: inherit;
  display: block;
}
.c-block__title a:hover {
  color: var(--btn-link-color-hover);
}
.c-block__pretitle {
  margin-bottom: 0.5em;
}
.c-block__media {
  aspect-ratio: var(--c-block-img-ratio, 4/3);
  position: relative;
}
.c-block__media img {
  max-width: 100%;
  max-height: 100%;
}
.c-block__btn {
  margin-top: 1em;
}
.c-block .c-image {
  width: 100%;
}
.c-block ul {
  text-align: left;
}

.check-list li {
  margin-bottom: 1em;
  display: flex;
}
.check-list .icon {
  width: 22px;
  min-width: 22px;
  color: var(--wc-product-bullet-icon-p, #5E328B);
  fill: var(--wc-product-bullet-icon-s, #8E6FAE);
  height: clamp(13px, 0.93vw, 18px);
  margin-top: clamp(3px, 0.26vw, 5px);
  /*.bullet-style1 & {
      color: #5E328B;
      fill: #8E6FAE;
  }

  .bullet-style2 & {
      color: #81B25C;
      fill: #B1D299;
  }

  .bullet-style3 & {
      color: #573586;
      fill: #EB8B34;
  }

  .bullet-style4 & {
      color: #81B25C;
      fill: #B1D299;
  }

  .bullet-style5 & {
      color: #5E328B;
      fill: #5EBFCF;
  }

  .bullet-style6 & {
      color: #81B25C;
      fill: #2455C9;
  }

  .bullet-style7 & {
      color: #2455C9;
      fill: #EC8B34;
  }*/
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9faGVscGVycy9fcmVib290LnNjc3MiLCJfX2NvcmUvbWl4aW5zL19hc3BlY3QtcmF0aW8uc2NzcyIsIl9fY29yZS9taXhpbnMvX3BhZ2Utc2l6ZXMuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3MtbWFpbi5zY3NzIiwiX19jb3JlL21peGlucy9faW5jbHVkZS1tZWRpYS5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1mb250LnNjc3MiLCJfX2NvcmUvbWl4aW5zL19mb250LWZhY2Uuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3MtYnV0dG9ucy5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1mb3Jtcy5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1oZWFkZXIuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3MtZm9vdGVyLnNjc3MiLCJfX2NvcmUvc2V0dGluZ3MvX3NldHRpbmdzLW1vZHVsZXMuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3Mtc2xpZGVycy5zY3NzIiwiY3JpdGljYWwuc2NzcyIsIl9sYXlvdXQvX19iYXNlLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9faGVhZGVyLWNvcmUuc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2xheW91dHMvX2hlYWRlcl9yb3dzLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfc3RpY2t5LnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfbW9iaWxlLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfc2ltcGxlLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfZGV2aWNlcy5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19uYXZiYXJfbWVudS5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19uYXZiYXJfZHJvcGRvd24uc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2Jsb2Nrcy9fbmF2YmFyX2J1cmdlci5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19uYXZiYXJfbWVnYW1lbnUuc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2Jsb2Nrcy9fbmF2YmFyX3dob193ZV9zZXJ2ZS5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19zaXRlX3NlYXJjaC5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19hY2NvdW50LnNjc3MiLCJfbGF5b3V0L2hlYWRlci9ibG9ja3MvX2NhcnQuc2NzcyIsIl9tb2R1bGVzL19iYW5uZXJzLnNjc3MiLCJfbW9kdWxlcy9iYW5uZXJzL19fYmFubmVycy1jb3JlLnNjc3MiLCJfX2NvcmUvbWl4aW5zL19taW5pLW1peGlucy5zY3NzIiwiX21vZHVsZXMvYmFubmVycy9fX2Jhbm5lcnMtbGF5b3V0LnNjc3MiLCJfbW9kdWxlcy9iYW5uZXJzL19fYmFubmVycy1zZXR0aW5ncy5zY3NzIiwiX21vZHVsZXMvYmFubmVycy9sYXlvdXRzL19jdGEtYmFubmVyLnNjc3MiLCJfbW9kdWxlcy9iYW5uZXJzL2xheW91dHMvX2ZpbHRlci1zZWFyY2guc2NzcyIsIl9tb2R1bGVzL2Jhbm5lcnMvbGF5b3V0cy9fZ2F0ZXdheS1oZXJvLnNjc3MiLCJfbW9kdWxlcy9faGVhZGluZ3Muc2NzcyIsIl9tb2R1bGVzL2hlYWRpbmdzL19faGVhZGluZ3MtY29yZS5zY3NzIiwiX21vZHVsZXMvaGVhZGluZ3MvX19oZWFkaW5ncy1sYXlvdXRzLnNjc3MiLCJfY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiX2NvbXBvbmVudHMvYnV0dG9ucy9fYnV0dG9ucy1jb3JlLnNjc3MiLCJfY29tcG9uZW50cy9fYy1ibG9jay5zY3NzIiwiX2NvbXBvbmVudHMvYy1ibG9jay9fYy1ibG9jay1jb3JlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSztJQUNHOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1JO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0lBQ0k7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7SUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUtKO0FBQUE7RUFFSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJO0VBQ0E7RUFDQTtFQUVBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUk7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtJQUNJOzs7QUFJUjtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU9JOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUNoWko7QUFBQTtBQUFBO0FBQUE7QUNsQkE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FDWkE7QUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUN3Z0JBO0VEN2lCSjtJQWdCUTs7OztBRWhCUjtBQ2lDQTtBQVZFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxLQVJNOztBQUdQO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxLQVJNOztBQUdQO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxLQVJNOztBQUdQO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxLQVJNOztBRGRUO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FEaWVBO0VDdmlCSjtJQXdFUTs7OztBRTlFUjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzlCSjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdEJKO0FBRUE7RUFDSTs7QUwwaUJBO0VLM2lCSjtJQUdROzs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBTG9nQkE7RUtwaUJKO0lBa0NRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzlESjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBTnloQkE7RU0zaUJKO0lBb0JRO0lBQ0E7SUFDQTs7OztBQ3hCUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBUGloQkE7RU90aEJKO0lBT1E7Ozs7QUFLUjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDcERKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FSZ2lCQTtFUTdpQko7SUFlUTtJQUNBO0lBQ0E7Ozs7QUNWUjtBQ1BBO0FBR0E7QUFFQTtFQUNJOztBVnVpQkE7RVV4aUJKO0lBR1E7OztBVnFpQko7RVV4aUJKO0lBTVE7Ozs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBTUk7QUFBQTtBQUFBO0VBQ0k7O0FBR1I7RUFDSTs7O0FBTVo7QUFFQTtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOzs7QUFJUjtFQUNJOztBQUNBO0VBQ0k7OztBQUlSO0FBQUE7RUFFSTtFQUNBO0VBQ0E7OztBQUlKO0FBRUE7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FWdWRBO0VVcGRJO0lBQ0k7Ozs7QUFLWjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJOzs7QUFJUjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QVY4YUE7RVVqYko7SUFLUTs7O0FWNGFKO0VVamJKO0lBUVE7SUFDQTs7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FWOFpBO0VVMVpBO0FBQUE7QUFBQTtJQUdJOztFQUVKO0FBQUE7QUFBQTtJQUdJOzs7QVZrWko7RVU3WUE7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7OztBQ2hMUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FYd2lCQTtFVzdpQko7SUFPUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FYZ2lCSjtFVzdpQko7SUFnQlE7O0VBQ0E7SUFDSTs7O0FBR1I7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QVhraEJKO0VXcGhCQTtJQUlRO0lBQ0E7OztBQUVKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVhxZ0JSO0VXN2dCSTtBQUFBO0lBVVE7SUFDQTs7O0FYa2dCWjtFVzdnQkk7QUFBQTtJQWNROzs7QUFLQTtFQUNJOztBQUtoQjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBWHllSjtFVzFlQTtJQUdRO0lBQ0E7OztBWHNlUjtFVzFlQTtJQU9RO0lBQ0E7SUFDQTs7RUFDQTtJQUNJOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJOzs7QUFJWjtFQUNJOztBQUVKO0VBQ0k7O0FBQ0E7RUFDSTs7O0FDL0ZaO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBWitoQko7RVluaUJBO0lBTVE7Ozs7QUFNWjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBWitnQkE7RVlyaEJKO0lBUVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FabWdCSjtFYTFpQlE7SUFDSTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBO0lBQ0E7O0VBSVI7SUFDSTs7O0FiOGhCWjtFYTdpQko7SUFxQlE7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBO0lBQ0E7O0VBR1I7SUFDSTs7RUFDQTtBQUFBO0lBRUk7O0VBR1I7SUFDSTtJQUNBO0lBQ0E7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7O0FieWZSO0VjM2lCSTtJQUNJOztFQUdSO0lBQ0k7O0VBRUo7SUFDSTs7RUFDQTtJQUNJOztFQUNBO0lBQ0k7SUFDQTs7RUFJWjtBQStDSTs7RUE5Q0E7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNJOztFQUVKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVKO0lBQ0k7O0VBR1I7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTs7RUFJSjtBQUNJO0FBT0E7O0VBTkE7SUFDSTs7RUFDQTtJQUNJOztFQUlSO0lBQ0k7SUFDQTtBQXdCQTtBQVVBO0FBZ0JBOztFQWpEQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNJOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUNBO0lBQ0k7SUFDQTs7RUFJWjtJQUNJOztFQUtJO0lBQ0k7SUFDQTtJQUNBOztFQUtaO0lBQ0k7O0VBQ0E7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUNBO0lBQ0k7O0VBS1o7SUFDSTtJQUNBOztFQUNBO0FBQUE7SUFFSTs7O0FDbElwQjtBQUFBO0FBQUE7QUFBQTtFQUNJOztBZndpQko7RWV0aUJBO0FBQUE7QUFBQTtBQUFBO0lBRVE7Ozs7QWZvaUJSO0VlOWhCQTtJQUVROzs7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7O0FBR1I7RUFDSTs7O0FmOGdCSjtFZ0IzaUJJO0lBQ0k7Ozs7QWhCMGlCUjtFZ0JuaUJJO0lBQ0k7Ozs7QWhCa2lCUjtFZ0I1aEJBO0lBQ0k7OztBaEIyaEJKO0VnQnRoQkE7SUFDSTs7O0FDeEJSO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QWpCdWlCQTtFaUJyaUJJO0lBQ0k7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBT1k7SUFDSTs7RUFPWjtBQUFBO0lBRUk7O0VBS0k7SUFDSTtJQUNBOztFQU1aO0FBQUE7SUFFSTs7RUFNSjtJQUVJOztFQUdKO0lBQ0k7O0VBQ0E7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSVo7QUFBQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdKO0lBQ0k7O0VBSUo7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVKO0lBSUk7O0VBR0k7SUFDSTtJQUNBO0lBQ0E7OztBakIwYXhCO0VpQm5hQTtJQUVROzs7QUFFSjtFQUNJOzs7QUFNWjtBakJ3Wkk7RWlCalpnQjtJQUNJOzs7QWpCZ1pwQjtFaUJwWW9CO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHSjtJQUlJOztFQUlJO0lBQ0k7SUFDQTtJQUNBOzs7QWpCa1doQztFaUJ6WUE7SUFtRFE7SUFDQTtJQUNBOztFQUNBO0lBQ0k7SUFDQTs7RUFDQTtJQUNJOztFQUVKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTs7RUFNUjtBQUFBO0lBQ0k7OztBakJpVHBCO0VpQjNTSTtJQUVRO0lBQ0E7SUFDQTs7RUFDQTtJQUNJO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOzs7QUFPWjtBQUFBO0VBQ0k7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBakJnUlI7RWlCOVFZO0lBQ0k7OztBQUdSO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBR1I7QUFBQTtBQUFBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QWpCNlBSO0VpQmpRSTtBQUFBO0FBQUE7QUFBQTtJQU1ROztFQUNBO0FBQUE7QUFBQTtBQUFBO0lBQ0k7OztBakJ5UGhCO0VpQnBQQTtJQUVROzs7O0FDMVRSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FsQnFpQko7RWtCNWlCQTtJQVNRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHUTtJQUVJOztFQUlaO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7O0VBQ0E7QUFBQTtJQUVJO0lBQ0E7O0VBR1I7SUFDSTs7RUFDQTtJQUNJO0lBQ0E7SUFDQTs7O0FsQnNlaEI7RWtCamVBO0lBRVE7SUFDQTtJQUNBO0lBQ0E7O0VBRUk7SUFDSTtJQUNBO0lBQ0E7O0VBR1I7SUFDSTs7RUFFSTtJQUNJOztFQUVKO0lBQ0k7O0VBQ0E7SUFFSTs7RUFHUjtJQUNJOztFQUNBO0lBRUk7O0VBSVo7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0lBQ0k7O0VBQ0E7SUFDSTs7O0FsQnNieEI7RWtCN2lCSjtBQStIUTs7RUFHSTtBQUFBO0FBaUNJOztFQTdCUTtBQUFBO0FBQUE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDSTtJQUNBOztFQUtoQjtBQUFBO0FBQUE7QUFBQTtJQUdJOztFQUlBO0FBQUE7SUFDSTs7RUFDQTtBQUFBO0lBQ0k7SUFDQTs7RUFNcEI7QUFDSTs7RUFJWTtJQUNJOztFQUNBO0lBRUk7O0VBT3hCO0lBQ0k7O0VBQ0E7SUFDSTs7RUFHSTtJQUNJOztFQUlSO0lBQ0k7SUFDQTs7RUFJSjtJQUNJO0lBQ0E7O0VBSUE7SUFDSTs7RUFJUjtJQUNJO0lBQ0E7O0VBRUk7SUFDSTs7RUFDQTtJQUVJOztFQUdSO0lBQ0k7Ozs7QUN2TzVCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFJSjtFQUNJOztBQUNBO0VBRUk7RUFDQTtFQUNBOztBQUVKO0VBQ0k7OztBbkJvZVo7RW9CNWlCQTtJQUNJO0lBQ0E7SUFDQTtJQUNBOzs7QXBCd2lCSjtFb0I1aUJBO0lBTVE7OztBcEJzaUJSO0VvQnBpQkk7QUFDSTs7RUFFSTtBQWdCSTs7RUFkSTtJQUNJOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUVBO0lBQ0k7O0VBT1I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUVJOztFQUdKO0lBQ0k7O0VBR0E7SUFDSTtJQUNBO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOztFQU1KO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBOztFQUNBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTs7RUFFSjtJQUdJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7O0VBR1I7SUFDSTs7RUFHQTtJQUVJOztFQUlaO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0lBRUk7O0VBT1I7QUFBQTtJQUVJO0lBQ0E7SUFDQTs7RUFDQTtBQUFBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7QUFBQTtJQUNJO0lBQ0E7O0VBR1I7QUFBQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUo7QUFBQTtJQUNJOztFQUdSO0lBSUk7SUFDQTs7RUFDQTtJQUVJOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUdSO0lBQ0k7O0VBRUo7SUFDSTs7RUFDQTtJQUVJOztFQVNwQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTs7RUFJUjtJQUNJOztFQUdKO0lBQ0k7O0VBRUE7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOztFQUlSO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFTWjtJQUNJO0lBQ0E7OztBQVE1QjtBcEJnVEk7RW9CM1NZO0lBQ0k7O0VBQ0E7SUFDSTs7RUFDQTtJQUNJO0lBQ0E7SUFDQTs7RUFHQTtJQUNJOztFQUNBO0lBQ0k7SUFDQTtJQUNBOztFQVl4QjtJQUNJO0lBQ0E7SUFDQTs7O0FDaFNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNJOztBckJxaUJBO0VxQnRpQko7SUFJUTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUM5RnBCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFHUjtFQUNJOztBQUNBO0VBQ0k7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F0QjRmUjtFc0JwZ0JJO0lBVVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0F0QjhlWjtFc0JqZlE7SUFLUTtJQUNBO0lBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUlaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0F0QnlkWjtFc0I3ZFE7SUFNUTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QXRCbWRoQjtFc0IvY29CO0lBQ0k7SUFDQTs7O0FBS2hCO0VBQ0k7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7QXRCa2NoQjtFc0I3YmdCO0lBQ0k7SUFDQTs7RUFJSjtJQUNJOzs7QUFNcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F0QmthSjtFc0J6YUE7SUFTUTs7O0FBRUo7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0F0QmtXQTtFc0IxVlk7QUFBQTtJQUNJOzs7QXRCeVZoQjtFc0JyVkk7QUFBQTtJQUVROzs7QUFHUjtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBdEI2VVI7RXNCaFZJO0FBQUE7SUFLUTs7O0FBR0E7QUFBQTtFQUNJOztBQUdSO0FBQUE7RUFDSTtFQUNBO0VBQ0E7O0F0QmlVWjtFc0JwVVE7QUFBQTtJQUtROzs7QUFFSjtBQUFBO0VBQ0k7O0FBR1I7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS1I7QUFBQTtFQUNJOztBQUNBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7OztBdEJnU1o7RXNCelJBO0FBQ0k7QUFBQTtBQUFBOzs7QUFNUjtFQUNJO0lBQ0k7O0VBRUo7SUFDSTs7O0FDL1JKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBdkJzaUJKO0V1QjVpQkE7SUFRUTs7O0F2Qm9pQlI7RXVCNWlCQTtJQVdRO0lBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QXZCbWhCUjtFdUJ6aEJJO0lBU1E7OztBQUdSO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBRUk7RUFDSTtFQUNBOztBdkJvZ0JoQjtFdUJ0Z0JZO0lBSVE7SUFDQTtJQUNBO0lBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBdkIwZnBCO0V1QjdmZ0I7SUFLUTtJQUNBOzs7QUFLaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBR1I7RUFDSTtFQUdBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBQ0E7RUFDSTs7QUFNUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdSO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7O0FBS2hCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTs7QUFDQTtFQUVJO0VBQ0E7RUFDQTs7QUFLaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXZCOFJaO0V1QmpUUTtJQXFCUTs7O0F2QjRSaEI7RXVCeFJJO0lBRVE7OztBQUtKO0FBQUE7RUFDSTtFQUNBOztBdkIrUVo7RXVCalJRO0FBQUE7SUFJUTtJQUNBOzs7O0FDalNoQjtFQUNJOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFDQTtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFJWjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUlJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNJOztBQUlaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNQTtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFSTtFQUNBOztBQUlaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBSVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7O0FBR1I7RUFDSTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7QUFDQTtFQUNJOztBQUdSO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTs7QUFjaEI7RUFDSTtFQUNBOztBQUNBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBRUk7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBSUo7RUFFSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVJO0VBQ0k7O0FBTXBCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7OztBZmpZaEI7QUFHQTtBZ0JwQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUErR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQTlHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTFCd2hCSjtFMEI5aEJBO0lBUVE7SUFDQTs7O0FBR1I7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0ExQnNnQko7RTBCN2dCQTtJQVVROzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ25DUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JEOEJ5QjtFQzdCekIsU0Q2QitDO0VDNUIvQzs7QUQrQko7RUFDSTtFQUNBO0VBQ0E7O0ExQjZlSjtFMEJ6ZVE7SUFDSTs7O0FBTVI7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0ExQndkUjtFMEJsZUk7SUFZUTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBMUIyY1I7RTBCcGNRO0lBRUk7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBRUk7O0FBVVo7RUFDSTs7QTFCeWFKO0UwQnZhUTtJQUVJO0lBQ0E7SUFDQTtJQUNBOzs7QTFCa2FaO0UwQjFhQTtJQVlROzs7QUFFSjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTs7QTFCd1paO0UwQjVaSTtJQU9ROztFQUVJO0lBQ0k7O0VBRUo7SUFFSTs7O0FBS2hCO0VBQ0k7O0ExQndZUjtFMEJ6WUk7SUFHUTtJQUNBOzs7QUFFSjtFQUNJO0VBQ0E7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7O0ExQjJYUjtFMEJ4WFE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJWjtFQUNJOztBQUVBO0VBQ0k7O0FBTVk7RUFDSTs7QUFRNUI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QTFCdVZKO0UwQjNWQTtJQU1RO0lBQ0E7SUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTFCMFVSO0UwQmpWSTtJQVNROzs7QUFHUjtFQUNJOztBQUNBO0VBQ0k7O0ExQmtVWjtFMEJuVVE7SUFHUTtJQUNBOzs7QUFJWjtFQUNJOztBQUNBO0VBQ0k7O0FBSUo7RUFDSTs7QUFLUjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QTFCeVNSO0UwQnZTSTtJQUVROztFQUNBO0lBS0k7O0VBR0o7SUFDSTs7O0ExQjJSaEI7RTBCdFJRO0lBRVE7OztBQUlaO0VBQ0k7O0FBR0E7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7O0ExQnNRUjtFMEJ4UUk7SUFLUTs7RUFFSTtJQUNJOzs7QTFCZ1FwQjtFMEJ4UUk7SUFhUTs7RUFFQTtJQUNJO0lBQ0E7OztBMUJ1UGhCO0UwQnhRSTtJQXFCUTs7O0ExQm1QWjtFMEJqUFE7SUFFUTtJQUNBOztFQUNBO0lBQ0k7OztBMUI0T3BCO0UwQnhPUTtJQUVRO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBOztFQUNBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHUjtJQUNJOztFQUVKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QTFCME1wQjtFMEJyTVk7SUFHUTs7O0ExQmtNcEI7RTBCL0xZO0lBR1E7OztBMUI0THBCO0UwQnhMUTtJQUVROzs7QUFJWjtFQUNJOztBQUNBO0VBQ0k7O0FBR0o7RUFDSTs7QUFDQTtFQUNJOztBMUJ5S2hCO0UwQm5LSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBQ0E7SUFDSTs7O0ExQnNKWjtFMEJsSkE7SUFFUTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7O0ExQitIUjtFMEJsSUk7SUFNUTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTFCa0haO0UwQnhIUTtJQVNROzs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFNaEI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0VBQ0k7OztBQU1SO0VBQ0k7OztBRW5lUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBNUJraUJHO0U0QnZpQko7SUFRRTtJQUNBOzs7QTVCOGhCRTtFNEJ2aUJKO0lBWUU7OztBQUdEO0VBQ0M7RUFDQTtFQUNBOztBNUJxaEJFO0U0QnhoQkg7SUFLRTs7O0FBRUQ7RUFDQztFQUNBOzs7QUM5Qkg7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDUko7RUFDSTtFQVVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQWxCSTtFQUNJOztBOUJ5aUJSO0U4QjNpQkE7SUFLUTtJQUNBOzs7QUFjUjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUdSO0FBQUE7QUFBQTtBQUFBO0VBQ0k7OztBQy9CUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJOztBL0JraUJKO0UrQm5pQkE7SUFHUTs7RUFDQTtJQUNJOzs7QS9COGhCWjtFK0JuaUJBO0lBU1E7OztBL0IwaEJSO0UrQnRoQkk7SUFDSTtJQUNBOzs7QUFHUjtFQUNJOztBL0JnaEJKO0UrQmpoQkE7SUFJUTs7RUFDQTtJQUNJOztFQUVKO0lBQ0k7OztBQUlaO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQVFJOztBL0JzZko7RStCOWZBO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0EvQndmUjtFK0JuZkk7SUFFUTs7O0EvQmlmWjtFK0I5ZUk7SUFFUTs7O0FBR1I7RUFDSTs7QS9Cd2VSO0UrQnBmQTtJQWVROzs7QS9CcWVSO0UrQnBmQTtJQWtCUTs7RUFFQTtJQUNJOztFQUVKO0lBQ0k7OztBQUtKO0FBQUE7RUFDSTs7QUFHUjtFQUNJOztBQUdSO0VBQ0k7O0EvQjhjSjtFK0IvY0E7SUFHUTtJQUNBOzs7QUFFSjtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7O0EvQnVjUjtFK0J0Y1E7SUFFUTs7O0EvQm9jaEI7RStCdGNRO0lBS1E7OztBL0JpY2hCO0UrQjliUTtJQUVROzs7QUFLQTtBQUFBO0FBQUE7QUFBQTtFQUNJOztBQUtoQjtFQUNJO0VBQ0E7O0FBR1I7QUFBQTtBQUFBO0FBQUE7RUFJSTs7QS9Cd2FKO0UrQjVhQTtBQUFBO0FBQUE7QUFBQTtJQU1RO0lBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBL0JzWlo7RStCamFJO0lBY1E7SUFDQTtJQUNBOzs7QS9CaVpaO0UrQmphSTtJQW1CUTtJQUNBO0lBQ0E7OztBQUVKO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBOztBQUVJO0VBQ0k7O0FBR1I7RUFDSTtFQUNBOzs7QUMzTHBCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWhDZ2lCSjtFZ0NyaUJBO0lBUVE7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7OztBQzlCUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNPQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDQzs7QUFFRDtFQUNDOzs7QUFHRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0M7OztBQUdGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0FBMkRDO0FBQUE7QUFBQTs7QUExREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUVDOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVDOztBQUlGO0VBQ0M7O0FBT0Q7RUFDQztFQUNBO0VBQ0E7O0FBS0E7RUFDQztFQUNBOzs7QUMvSEg7QUFNQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7O0FBRUE7RUFDQzs7O0FDeEJGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNQQTtBQUVBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQStCQTtBQXFFQTtBQVlBOztBckM2WkE7RXFDM2hCSjtBQUFBO0FBQUE7SUFnQlE7OztBQUVKO0FBQUE7QUFBQTtFQUNJOztBQUVKO0FBQUE7QUFBQTtFQUNJOztBQUVKO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBT1I7QUFBQTtBQUFBO0VBQ0k7O0FyQzBlUjtFcUMzZUk7QUFBQTtBQUFBO0lBR1E7OztBQUlaO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0FBQUE7QUFBQTtJQUNJO0lBQ0E7SUFDQTs7O0FBR1I7QUFBQTtBQUFBO0VBQ0k7O0FBR1I7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQ0k7QUFBQTtBQUFBO0lBQ0k7SUFDQTtJQUNBOzs7QUFHUjtBQUFBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7O0FBR1I7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0FBaUJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFoQkE7QUFBQTtBQUFBO0VBQ0k7RUFDQTs7QUFDQTtBQUFBO0FBQUE7RUFDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVJOztBQUdSO0VBQ0k7QUFBQTtBQUFBO0lBQ0k7OztBQVdaO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtBQUFBO0FBQUE7RUFDSTs7QUFHUjtBQUFBO0FBQUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXJDc1pKO0VxQzVaQTtJQVFRO0lBQ0E7OztBQUVKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFHUjtBQUFBO0FBQUE7RUFDSTs7QUFDQTtBQUFBO0FBQUE7RUFDSTtFQUNBOztBQUdBO0FBQUE7QUFBQTtFQUNJOztBQU9aO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBRUo7RUFHWTtBQUFBO0FBQUE7SUFDSTs7RUFFSjtBQUFBO0FBQUE7SUFDSTs7O0FBYVI7QUFBQTtBQUFBO0VBRUk7O0FyQzBWWjtFcUM1VlE7QUFBQTtBQUFBO0lBSVE7OztBQUlaO0FBQUE7QUFBQTtFQUNJO0VBQ0E7O0FyQ2tWUjtFcUNwVkk7QUFBQTtBQUFBO0lBSVE7Ozs7QUFNaEI7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUtSO0FBRUE7QUFBQTtBQUFBO0VBS0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0FBQUE7QUFBQTtJQUNJOzs7QXJDK1NSO0VxQzlUSjtBQUFBO0FBQUE7SUFtQlE7Ozs7QUFLSjtFQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7OztBQy9RWjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUNBO0VBQ0k7O0FBSVo7RUFDSTs7QUFPSjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUdSO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOzs7QUFLSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQSIsImZpbGUiOiJjcml0aWNhbC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBNb2RpZmllZCBCb290c3RyYXAgUmVib290IHY1LjEuMSAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLykgKHJlbW92ZWQgY29sb3JzIGFuZCBsaW5rcyB1bmRlcmxpbmluZylcclxuICogQ29weXJpZ2h0IDIwMTEtMjAyMCBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcclxuICogQ29weXJpZ2h0IDIwMTEtMjAyMCBUd2l0dGVyLCBJbmMuXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxyXG4gKiBGb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzLCBsaWNlbnNlZCBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZClcclxuICovXHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xyXG4gICAgIDpyb290IHtcclxuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxuICAgIH1cclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LWZhbWlseTogc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuXHJcblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xyXG4gICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ociB7XHJcbiAgICBtYXJnaW46IDFyZW0gMDtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgb3BhY2l0eTogMC4yNTtcclxufVxyXG5cclxuaHI6bm90KFtzaXplXSkge1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG59XHJcblxyXG5oMSB7XHJcbiAgICBmb250LXNpemU6IGNhbGMoMS4zNzVyZW0gKyAxLjV2dyk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuaDIge1xyXG4gICAgZm9udC1zaXplOiBjYWxjKDEuMzI1cmVtICsgMC45dncpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5oMyB7XHJcbiAgICBmb250LXNpemU6IGNhbGMoMS4zcmVtICsgMC42dncpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5oNCB7XHJcbiAgICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XHJcbn1cclxuXHJcbnAge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbmFiYnJbdGl0bGVdLFxyXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcclxuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xyXG4gICAgY3Vyc29yOiBoZWxwO1xyXG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XHJcbn1cclxuXHJcbmFkZHJlc3Mge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5vbCxcclxudWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxub2wsXHJcbnVsLFxyXG5kbCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5vbCBvbCxcclxudWwgdWwsXHJcbm9sIHVsLFxyXG51bCBvbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5kdCB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5kZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlIHtcclxuICAgIG1hcmdpbjogMCAwIDFyZW07XHJcbn1cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG5zbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDAuODc1ZW07XHJcbn1cclxuXHJcbm1hcmsge1xyXG4gICAgcGFkZGluZzogMC4yZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xyXG59XHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LXNpemU6IDAuNzVlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdWIge1xyXG4gICAgYm90dG9tOiAtLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgICB0b3A6IC0uNWVtO1xyXG59XHJcblxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuYTpob3ZlciB7fVxyXG5cclxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSksXHJcbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pOmhvdmVyIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5wcmUsXHJcbmNvZGUsXHJcbmtiZCxcclxuc2FtcCB7XHJcbiAgICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgZGlyZWN0aW9uOiBsdHIvKiBydGw6aWdub3JlICovXHJcbiAgICA7XHJcbiAgICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7XHJcbn1cclxuXHJcbnByZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBmb250LXNpemU6IDAuODc1ZW07XHJcbn1cclxuXHJcbnByZSBjb2RlIHtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgd29yZC1icmVhazogbm9ybWFsO1xyXG59XHJcblxyXG5jb2RlIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcclxuICAgIGNvbG9yOiAjZDYzMzg0O1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG59XHJcblxyXG5hPmNvZGUge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmtiZCB7XHJcbiAgICBwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xyXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNTI5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xyXG59XHJcblxyXG5rYmQga2JkIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xyXG59XHJcblxyXG5pbWcsXHJcbnN2ZyB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbn1cclxuXHJcbmNhcHRpb24ge1xyXG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcbiAgICBjb2xvcjogIzZjNzU3ZDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbnRoIHtcclxuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XHJcbiAgICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDtcclxufVxyXG5cclxudGhlYWQsXHJcbnRib2R5LFxyXG50Zm9vdCxcclxudHIsXHJcbnRkLFxyXG50aCB7XHJcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwO1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcblxyXG5idXR0b246Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZDtcclxuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcclxufVxyXG5cclxuaW5wdXQsXHJcbmJ1dHRvbixcclxuc2VsZWN0LFxyXG5vcHRncm91cCxcclxudGV4dGFyZWEge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCB7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbltyb2xlPVwiYnV0dG9uXCJdIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuc2VsZWN0IHtcclxuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xyXG59XHJcblxyXG5bbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxufVxyXG5cclxuYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLFxyXG5bdHlwZT1cImJ1dHRvblwiXTpub3QoOmRpc2FibGVkKSxcclxuW3R5cGU9XCJyZXNldFwiXTpub3QoOmRpc2FibGVkKSxcclxuW3R5cGU9XCJzdWJtaXRcIl06bm90KDpkaXNhYmxlZCkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG46Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG5cclxubGVnZW5kIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICBsZWdlbmQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5sZWdlbmQrKiB7XHJcbiAgICBjbGVhcjogbGVmdDtcclxufVxyXG5cclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXHJcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXHJcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxyXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG59XHJcblxyXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG46Oi13ZWJraXQtY29sb3Itc3dhdGNoLXdyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgICBmb250OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbm91dHB1dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbmlmcmFtZSB7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbnN1bW1hcnkge1xyXG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbltoaWRkZW5dIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufSIsIkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCY6YmVmb3Jle1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRjb250ZW50OiBcIiBcIjtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XHJcblx0fVxyXG5cclxuXHQ+IC5jb250ZW50IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi8qXHJcbi5zaXh0ZWVuLW5pbmUge1xyXG5cdEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxNiw5KTtcclxufSovXHJcbiIsIi8qIE1lZGlhIFF1ZXJpZXMgQnJlYWtwb2ludHMgKi9cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gICAgICAgICdwaG9uZSc6IDMyMHB4LFxyXG4gICAgICAgICdwaG9uZS1sJzogNTc1cHgsXHJcbiAgICAgICAgJ3RhYmxldCc6IDc2N3B4LFxyXG4gICAgICAgICdkZXNrdG9wJzogMTExMnB4LFxyXG4gICAgICAgICdkZXNrdG9wLW0nOiAxMjgwcHgsXHJcbiAgICAgICAgJ2Rlc2t0b3AtbCc6IDE0NDBweCxcclxuICAgICAgICAnZGVza3RvcC14bCc6IDE2NjBweFxyXG4pO1xyXG5cclxuLyoqXHJcbiogKioqKioqKioqKioqKioqKioqKlxyXG4qICBVc2FnZSBleGFtcGxlc1xyXG4qICoqKioqKioqKioqKioqKioqKipcclxuKlxyXG4vL1xyXG4vLyAgdXNlIDw9XHJcbiogICBBTFdBWVMgdXNlIDw9ICggJzwnIHdpdGggJz0nIGNoYXJhY3RlcikgZm9yIGFsbCBicmVha3BvaW50c1xyXG4qICAgd2hlbiBzZXR0aW5nIG1heC13aWR0aCwgZXg6IG1heC13aWR0aDogNzY3cHgsXHJcbipcclxuKiAgIHNvIG1heC13aWR0aDogMTQ0MHB4ICA9PSBtZWRpYSgnPD1kZXNrdG9wLWwnKVxyXG4qXHJcbiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKlxyXG4vLyAgdXNlID5cclxuKiAgIEFMV0FZUyB1c2Ugb25seSA+IGFzIHNpbmdsZSBjaGFyYWN0ZXIgZm9yIGFsbCBicmVha3BvaW50c1xyXG4qICAgd2hlbiBzZXR0aW5nIG1pbi13aWR0aCwgZXg6IG1pbi13aWR0aDogNzY4cHgsXHJcbipcclxuKiAgIHNvIG1pbi13aWR0aDogMTAyNXB4ICA9PSBtZWRpYSgnPmRlc2t0b3AnKVxyXG4qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKlxyXG4qIyMgRVhBTVBMRTpcclxuKlxyXG4qICAgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpXHJcbiogICA9XHJcbiogICBtZWRpYSAoJz50YWJsZXQnKSwgKCc8PWRlc2t0b3AnKVxyXG4qXHJcbi8vXHJcblxyXG4gKi9cclxuIiwiOnJvb3Qge1xyXG4gICAgLyogTGF5b3V0IFNldHRpbmdzICovXHJcbiAgICAtLXBob25lLXdpZHRoOiA1NzZweDtcclxuICAgIC0tdGFibGV0LXdpZHRoOiA3NjhweDtcclxuICAgIC0tZGVza3RvcC13aWR0aDogMTExMnB4O1xyXG4gICAgLS1kZXNrdG9wLXdpZHRoLXNtOiAxMDI0cHg7XHJcbiAgICAtLWRlc2t0b3Atd2lkdGgtbTogMTI4MHB4O1xyXG4gICAgLS1kZXNrdG9wLXdpZHRoLWw6IDE0NDBweDtcclxuICAgIC0tZGVza3RvcC13aWR0aC14bDogMTY2MHB4O1xyXG4gICAgLS1jb250ZW50LXdpZHRoOiB2YXIoLS1kZXNrdG9wLXdpZHRoLWwpOyAvLyBEZWZhdWx0IGNvbnRlbnQgd2lkdGggKDEyODApXHJcbiAgICAtLWJsb2ctd2lkdGg6IDc2MHB4O1xyXG4gICAgLS1wYWdlLWd1dHRlcjogMjBweDtcclxuICAgIC0tZ3JpZC1ndXR0ZXI6IDI0cHg7XHJcbiAgICAtLXZlcnRpY2FsLWdhcDogOHZtaW47IC8vIHZlcnRpY2FsIHNwYWNlIGJldHdlZW4gcGFnZSBzZWN0aW9ucyAoLmdhcC10b3AsIC5nYXAtdG9wLXMsIC5nYXAtdG9wLWwsIC5nYXAtYm90LCAuZ2FwLWJvdC1zLCAuZ2FwLWJvdC1sKVxyXG4gICAgLS1iYXNlLXRyYW5zaXRpb246IC4zczsgLy8gZGVmYXVsdCB0cmFuc2l0aW9uIGZvciBob3ZlcnNcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgLS12ZXJ0aWNhbC1nYXA6IDM1cHg7XHJcbiAgICB9XHJcbiAgICAvKiBDb2xvcnMgKi9cclxuICAgIC0tcHJpbWFyeS1jb2xvcjE6ICMyMTNCOEM7XHJcbiAgICAtLXByaW1hcnktY29sb3IyOiAjRjVERDU3O1xyXG4gICAgLS1wcmltYXJ5LWNvbG9yMzogI2ZmZjtcclxuICAgIC0tc2Vjb25kYXJ5LWNvbG9yMTogI0Y1RkFGRTtcclxuICAgIC0tc2Vjb25kYXJ5LWNvbG9yMjogI0QyRDhFMDtcclxuICAgIC0tc2Vjb25kYXJ5LWNvbG9yMzogIzIxM0I4QztcclxuICAgIC0tc2Vjb25kYXJ5LWNvbG9yNDogIzVFMzI4QTtcclxuICAgIC0tc2Vjb25kYXJ5LWNvbG9yNTogIzI0NTVDOTtcclxuICAgIC0tYm9keS1iZzogI2ZmZjtcclxuICAgIC0tYm9keS1iZy1hbHQ6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tYm9keS10ZXh0LWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgIC0tYm9keS10ZXh0LWNvbG9yLWFsdDogdmFyKC0tcHJpbWFyeS1jb2xvcjMpOyAvLyBpbnZlcnRlZCBjb2xvclxyXG4gICAgLS10aXRsZXMtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tdGl0bGVzLWNvbG9yLWFsdDogdmFyKC0tcHJpbWFyeS1jb2xvcjMpOyAvLyBpbnZlcnRlZCBjb2xvclxyXG4gICAgLS10aXRsZXMtY29sb3ItYWNjZW50OiBpbmhlcml0O1xyXG4gICAgLS1wcmltYXJ5LWxpbmstY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgLS1wcmltYXJ5LWxpbmstY29sb3ItYWx0OiB2YXIoLS1zZWNvbmRhcnktY29sb3IyKTsgLy8gaW52ZXJ0ZWQgY29sb3JcclxuICAgIC0tYm9yZGVyLWNvbG9yOiAjREVFMkU4O1xyXG4gICAgLS1kaXZpZGVyLWNvbG9yOiAjRUNFRkYyO1xyXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgJ3Bob25lJzogMzIwcHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICdkZXNrdG9wJzogMTAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuICAncHgnOiAxLFxyXG4gICdlbSc6IDAuMDEsXHJcbiAgJ3JlbSc6IDAuMSxcclxuICAnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuICAgIEBlcnJvciAkbWVzc2FnZTtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuICRtZXNzYWdlO1xyXG4gICAgJF86IG5vb3AoKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcbiAgICAgICRkaWdpdHM6IDE7XHJcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuICBAY29udGVudDtcclxuXHJcbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qIFR5cG9ncmFwaHkgKi9cclxuXHJcbkBpbXBvcnQgJy4uL21peGlucy9mb250LWZhY2UnO1xyXG4vLyBGb3IgZ29vZ2xlIGZvbnRzIHBsZWFzZSB1c2UgaHR0cHM6Ly9nb29nbGUtd2ViZm9udHMtaGVscGVyLmhlcm9rdWFwcC5jb20vZm9udHMgaWYgcG9zc2libGVcclxuQGluY2x1ZGUgYWRkRm9udEZhY2UoJ2ludGVyJywgJy4uLy4uL2ZvbnRzL2ludGVyJywgKCd3b2ZmJywgJ3dvZmYyJyksICggY3JlYXRlRm9udE1hcCgnaW50ZXItdjExLWxhdGluLXJlZ3VsYXInLCA0MDApLCBjcmVhdGVGb250TWFwKCdpbnRlci12MTEtbGF0aW4tNjAwJywgNjAwKSwgY3JlYXRlRm9udE1hcCgnaW50ZXItdjExLWxhdGluLTgwMCcsIDgwMCkpKTtcclxuQGluY2x1ZGUgYWRkRm9udEZhY2UoJ3JvYm90bycsICcuLi8uLi9mb250cy9yb2JvdG8nLCAoJ3dvZmYnLCAnd29mZjInKSwgKCBjcmVhdGVGb250TWFwKCdyb2JvdG8tdjMwLWxhdGluLTUwMCcsIDUwMCksICkpO1xyXG46cm9vdCB7XHJcbiAgICAtLWZvbnQtZmFtaWx5LXByaW1hcnk6IFwiaW50ZXJcIiwgc2Fucy1zZXJpZjtcclxuICAgIC0tZm9udC1mYW1pbHktc2Vjb25kYXJ5OiBcImludGVyXCIsIHNhbnMtc2VyaWY7XHJcbiAgICAtLWZvbnQtZmFtaWx5LXNlY29uZGFyeS0yOiBcInJvYm90b1wiLCBzYW5zLXNlcmlmO1xyXG4gICAgLS1iYXNlLXRleHQtc2l6ZTogY2xhbXAoMTRweCwgMS4wNXZ3LCAycmVtKTtcclxuICAgIC0tYmFzZS10ZXh0LWZvbnQ6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xyXG4gICAgLS1iYXNlLXRleHQtbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIC0tYmFzZS10ZXh0LWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAtLWxhcmdlci10ZXh0LXNpemU6IDIuNnJlbTtcclxuICAgIC0tbGFyZ2VyLXRleHQtZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIC0tc21hbGxlci10ZXh0LXNpemU6IGNsYW1wKDEycHgsIDAuODR2dywgMS42cmVtKTtcclxuICAgIC0tc21hbGxlci10ZXh0LWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAtLWJsb2ctdGV4dC1zaXplOiBjbGFtcCgxLjZyZW0sIDEuMDV2dywgMnJlbSk7XHJcbiAgICAtLWJsb2ctdGV4dC1mb250LXdlaWdodDogNDAwO1xyXG4gICAgLS1oLWNsYW1wLWZvcm11bGE6IDN2dyArIDEuOHJlbTsgLy8gaGVhZGluZ3Mgc2l6ZSB0cmFuc2Zvcm1hdGlvblxyXG4gICAgLS1oMS1mb250LXNpemU6IDYuOHJlbTtcclxuICAgIC0taDEtZm9udC1zaXplLW1vYmlsZTogMzBweDtcclxuICAgIC0taDEtbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgIC0taDEtbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XHJcbiAgICAtLWgxLW1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAtLWgxLWZvbnQ6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xyXG4gICAgLS1oMS1mb250LXdlaWdodDogODAwO1xyXG4gICAgLS1oMS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIC0taDEtc3VidGl0bGUtZm9udC1zaXplOiAyLjZyZW07XHJcbiAgICAtLWgxLXN1YnRpdGxlLWZvbnQtc2l6ZS1tb2JpbGU6IDE4cHg7XHJcbiAgICAtLWgyLWZvbnQtc2l6ZTogNS40cmVtO1xyXG4gICAgLS1oMi1mb250LXNpemUtbW9iaWxlOiAyNXB4O1xyXG4gICAgLS1oMi1saW5lLWhlaWdodDogMS4yO1xyXG4gICAgLS1oMi1sZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcclxuICAgIC0taDItbWFyZ2luLWJvdHRvbTogLjVlbTtcclxuICAgIC0taDItZm9udDogdmFyKC0tZm9udC1mYW1pbHktc2Vjb25kYXJ5KTtcclxuICAgIC0taDItZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgIC0taDItdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAtLWgyLXN1YnRpdGxlLWZvbnQtc2l6ZTogMi4ycmVtO1xyXG4gICAgLS1oMi1zdWJ0aXRsZS1mb250LXNpemUtbW9iaWxlOiAxNnB4O1xyXG4gICAgLS1oMy1mb250LXNpemU6IDNyZW07XHJcbiAgICAtLWgzLWZvbnQtc2l6ZS1tb2JpbGU6IDE4cHg7XHJcbiAgICAtLWgzLWxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAtLWgzLWxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgLS1oMy1tYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgLS1oMy1mb250OiB2YXIoLS1mb250LWZhbWlseS1zZWNvbmRhcnkpO1xyXG4gICAgLS1oMy1mb250LXdlaWdodDogODAwO1xyXG4gICAgLS1oMy10ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIC0taDQtZm9udC1zaXplOiAyLjFyZW07XHJcbiAgICAtLWg0LWZvbnQtc2l6ZS1tb2JpbGU6IDE4cHg7XHJcbiAgICAtLWg0LWxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAtLWg0LWxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xyXG4gICAgLS1oNC1tYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgLS1oNC1mb250OiB2YXIoLS1mb250LWZhbWlseS1zZWNvbmRhcnkpO1xyXG4gICAgLS1oNC1mb250LXdlaWdodDogNzAwO1xyXG4gICAgLS1oNC10ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIC0tcHJldGl0bGUtY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIC0tcHJldGl0bGUtY29sb3ItYWx0OiBjdXJyZW50Q29sb3I7XHJcbiAgICAtLXByZXRpdGxlLWZvbnQtc2l6ZTogMi4ycmVtO1xyXG4gICAgLS1wcmV0aXRsZS1mb250LXNpemUtbW9iaWxlOiAyMHB4O1xyXG4gICAgLS1wcmV0aXRsZS1saW5lLWhlaWdodDogMS4yO1xyXG4gICAgLS1wcmV0aXRsZS1sZXR0ZXItc3BhY2luZzogMDtcclxuICAgIC0tcHJldGl0bGUtbWFyZ2luLWJvdHRvbTogLjVlbTtcclxuICAgIC0tcHJldGl0bGUtZm9udDogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XHJcbiAgICAtLXByZXRpdGxlLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAtLXByZXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgLS1zdWJ0aXRsZS1jb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgLS1zdWJ0aXRsZS1jb2xvci1hbHQ6IGN1cnJlbnRDb2xvcjtcclxuICAgIC0tc3VidGl0bGUtZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICAtLXN1YnRpdGxlLWZvbnQtc2l6ZS1tb2JpbGU6IDE2cHg7XHJcbiAgICAtLXN1YnRpdGxlLWxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICAtLXN1YnRpdGxlLWxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgLS1zdWJ0aXRsZS1tYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAtLXN1YnRpdGxlLWZvbnQ6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xyXG4gICAgLS1zdWJ0aXRsZS1mb250LXdlaWdodDogNDAwO1xyXG4gICAgLS1zdWJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgIC0taDItbWFyZ2luLWJvdHRvbTogMS4yZW07XHJcbiAgICB9XHJcbn0iLCJAZnVuY3Rpb24gY3JlYXRlRm9udE1hcCgkZmlsZSwgJHdlaWdodDpub3JtYWwsICRzdHlsZTpub3JtYWwpIHtcclxuXHQkZGVmOiAoXHJcblx0XHRcdGZpbGU6ICRmaWxlLFxyXG5cdFx0XHR3ZWlnaHQ6ICR3ZWlnaHQsXHJcblx0XHRcdHN0eWxlOiAkc3R5bGVcclxuXHQpO1xyXG5cdEByZXR1cm4gJGRlZjtcclxufVxyXG5cclxuQG1peGluIGFkZEZvbnRGYWNlKCRmb250RmFtaWx5LCAkYmFzZVBhdGgsICRmb3JtYXRzLCAkZGVmTGlzdCkge1xyXG5cdEBlYWNoICRkZWYgaW4gJGRlZkxpc3Qge1xyXG5cdFx0JHNyYzogKCk7XHJcblx0XHRAZWFjaCAkZm9ybWF0IGluICRmb3JtYXRzIHtcclxuXHRcdFx0JGV4dDogJGZvcm1hdDtcclxuXHJcblx0XHRcdEBpZiAoJGZvcm1hdCA9PSAndHJ1ZXR5cGUnKSB7XHJcblx0XHRcdFx0JGV4dDogJ3R0Zic7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCR1cmw6IHVybCgnI3skYmFzZVBhdGh9LyN7bWFwX2dldCgkZGVmLCAnZmlsZScpfS4jeyRleHR9JykgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKTtcclxuXHRcdFx0JHNyYzogYXBwZW5kKCRzcmMsICR1cmwsIGNvbW1hKTtcclxuXHRcdH1cclxuXHJcblx0XHRAZm9udC1mYWNlIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IHF1b3RlKCRmb250RmFtaWx5KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IG1hcF9nZXQoJGRlZiwgJ3dlaWdodCcpO1xyXG5cdFx0XHRmb250LXN0eWxlOiBtYXBfZ2V0KCRkZWYsICdzdHlsZScpO1xyXG5cdFx0XHRmb250LWRpc3BsYXk6IHN3YXA7XHJcblx0XHRcdHNyYzogJHNyYztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qIE1peGluIG9yaWdpbjogaHR0cHM6Ly9tYXJjLWVkLXJhZmZhbGxpLmdpdGh1Yi5pby8yMDE3LzEwLzE0L3Nhc3MtZm9udC1mYWNlLmh0bWwgKi8iLCIvKiBCdXR0b25zKi9cclxuXHJcbjpyb290IHtcclxuICAgIC0tYnRuLWZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1wcmltYXJ5KTtcclxuICAgIC0tYnRuLWZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMC45NXZ3LCAxLjhyZW0pO1xyXG4gICAgLS1idG4tZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIC0tYnRuLXRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgLS1idG4tcGFkZGluZy10b3AtYm90dG9tOiAxM3B4O1xyXG4gICAgLS1idG4tcGFkZGluZy1sZWZ0LXJpZ2h0OiAzMHB4O1xyXG4gICAgLS1idG4tYm9yZGVyLXJhZGl1czogMzVweDtcclxuICAgIC0tYnRuLXByaW1hcnktY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgLS1idG4tcHJpbWFyeS1jb2xvci1ob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LWJnOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LWJnLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LWJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1idG4tcHJpbWFyeS1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgLS1idG4tcHJpbWFyeS1ib3JkZXI6IDA7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LXNoYWRvdzogbm9uZTtcclxuICAgIC0tYnRuLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAtLWJ0bi1zZWNvbmRhcnktY29sb3ItaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tcHJpbWFyeS1jb2xvcjM6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xyXG4gICAgLS1idG4tc2Vjb25kYXJ5LWJnOiAjZmZmO1xyXG4gICAgLS1idG4tc2Vjb25kYXJ5LWJnLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAtLWJ0bi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IyKTtcclxuICAgIC0tYnRuLXNlY29uZGFyeS1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xyXG4gICAgLS1idG4tc2Vjb25kYXJ5LWJvcmRlcjogMnB4O1xyXG4gICAgLS1idG4tc2Vjb25kYXJ5LXNoYWRvdzogbm9uZTtcclxuICAgIC0tYnRuLWxpbmstY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tYnRuLWxpbmstY29sb3ItaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvcjUpO1xyXG4gICAgLS1saW5rLWljb24tY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tYnV0dG9uLWZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn0iLCIvKiBGb3JtcyAqL1xyXG5cclxuOnJvb3Qge1xyXG4gICAgLS1sYWJlbC1mb250LXNpemU6IGNsYW1wKDEuM3JlbSwgMC44NHZ3LCAxLjZyZW0pO1xyXG4gICAgLS1sYWJlbC1mb250LXdlaWdodDogMzAwO1xyXG4gICAgLS1sYWJlbC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1pbnB1dC1ib3JkZXItd2lkdGg6IDFweDtcclxuICAgIC0taW5wdXQtYm9yZGVyLXJhZGl1czogMTIwcHg7XHJcbiAgICAtLWlucHV0LXBhZGRpbmctdG9wLWJvdHRvbTogMTBweDtcclxuICAgIC0taW5wdXQtcGFkZGluZy1sZWZ0LXJpZ2h0OiAyNXB4O1xyXG4gICAgLS1pbnB1dC1mb250LXNpemU6IGNsYW1wKDEuM3JlbSwgMC44NHZ3LCAxLjZyZW0pO1xyXG4gICAgLS1pbnB1dC1mb250LXdlaWdodDogNDAwO1xyXG4gICAgLS1pbnB1dC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1pbnB1dC1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgLS1pbnB1dC1ib3JkZXItY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xyXG4gICAgLS1mb3JtLXJvdy1tYXJnaW4tdG9wLWJvdHRvbTogMTVweDtcclxuICAgIC0tZm9ybS1yb3ctbWFyZ2luLWxlZnQtcmlnaHQ6IDBweDtcclxuICAgIC0tbWVzc2FnZS1mb250LXNpemU6IGNsYW1wKDEuM3JlbSwgMC44NHZ3LCAxLjZyZW0pO1xyXG4gICAgLS1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAtLW1lc3NhZ2UtZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIC0tdmFsaWRhdGlvbi1lcnJvci1jb2xvcjogI2RhNzQ3YjtcclxuICAgIC0tdmFsaWRhdGlvbi1zdWNjZXNzLWNvbG9yOiAjNTBiMmEwO1xyXG4gICAgLS12YWxpZGF0aW9uLW5vdGljZS1jb2xvcjogI2ZmYjcwMDtcclxufSIsIi8qIEhlYWRlciAqL1xyXG5cclxuOnJvb3Qge1xyXG4gICAgLS1oZWFkZXItaGlnaHQ6IDE0NXB4OyAvLyBoZWFkZXIgaGVpZ2h0XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJykge1xyXG4gICAgICAgIC0taGVhZGVyLWhpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2l0ZS1oZWFkZXIge1xyXG4gICAgLS1oZWFkZXItc3RpY2t5LXR5cGU6IGZpeGVkO1xyXG4gICAgLS1oZWFkZXItc3RpY2t5LWJnOiAjZmZmO1xyXG4gICAgLS1oZWFkZXItdG9wLWJnOiB0cmFuc3BhcmVudDtcclxuICAgIC0taGVhZGVyLXRvcC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAtLWhlYWRlci10b3AtY29sb3ItaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvcjQpO1xyXG4gICAgLS1oZWFkZXItdG9wLXNpemU6IGNsYW1wKDEycHgsIDAuODV2dywgMTZweCk7XHJcbiAgICAtLWhlYWRlci10b3AtdmVydGljYWwtcGFkZGluZzogY2xhbXAoNXB4LCAwLjY3dncsIDEzcHgpO1xyXG4gICAgLS1oZWFkZXItdG9wLWdhcC1iZXR3ZWVuLWl0ZW1zOiAxMnB4O1xyXG4gICAgLS1oZWFkZXItbWFpbi1iZzogI2ZmZjtcclxuICAgIC0taGVhZGVyLW1haW4tY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgLS1oZWFkZXItbWFpbi1jb2xvci1ob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yNCk7XHJcbiAgICAtLWhlYWRlci1tYWluLWZvbnQtc2l6ZTogY2xhbXAoMTJweCwgMC44NXZ3LCAxNnB4KTtcclxuICAgIC0taGVhZGVyLW1haW4tZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIC0taGVhZGVyLW1haW4tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXM6IDIwcHg7XHJcbiAgICAtLWhlYWRlci1tYWluLXZlcnRpY2FsLXBhZGRpbmc6IDA7XHJcbiAgICAtLWhlYWRlci1tYWluLW5hdi1oZWlnaHQ6IGNsYW1wKDQwcHgsIDMuMTJ2dywgNjBweCk7XHJcbiAgICAtLWhlYWRlci1sb2dvLXdpZHRoOiAxMDAlO1xyXG4gICAgLS1oZWFkZXItbG9nby1oZWlnaHQ6IDY0cHg7XHJcbiAgICAtLWRyb3Bkb3duLWJnOiAjZmZmO1xyXG4gICAgLS1kcm9wZG93bi1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1kcm9wZG93bi1jb2xvci1hY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tZHJvcGRvd24tZm9udC1zaXplOiBjbGFtcCgxNHB4LCAwLjg0dncsIDE2cHgpO1xyXG4gICAgLS1kcm9wZG93bi1mb250LXdlaWdodDogNDAwO1xyXG4gICAgLS1kcm9wZG93bi1wYWRkaW5nOiA0MHB4IDI1cHggMjBweDtcclxuICAgIC0tZHJvcGRvd24td2lkdGg6IDI3NnB4O1xyXG4gICAgLS1idXJnZXItd2lkdGg6IDE4cHg7XHJcbiAgICAtLWJ1cmdlci1zZWdtZW50LWhpZ2h0OiAzcHg7XHJcbiAgICAtLWJ1cmdlci1zZWdtZW50LWdhcDogN3B4O1xyXG4gICAgLS1idXJnZXItc2VnbWVudC1yYWRpdXM6IDVweDtcclxuICAgIC0tYnVyZ2VyLWNvbG9yOiAjZmZmO1xyXG4gICAgLS1idXJnZXItYmc6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgLS1oZWFkZXItaGlnaHQ6IDU1cHg7XHJcbiAgICAgICAgLS1oZWFkZXItbW9iaWxlLWJnOiAjZmZmO1xyXG4gICAgICAgIC0taGVhZGVyLW1haW4tY29sb3ItaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICAtLWxpbmstc2l6ZS1sMTogMTRweDtcclxuICAgICAgICAtLWxpbmstc2l6ZS1sMjogMTRweDtcclxuICAgICAgICAtLWxpbmstY29sb3I6ICNmZmY7XHJcbiAgICAgICAgLS1saW5rLWdhcDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNpdGUtc2VhcmNoIHtcclxuICAgIC0tc2VhcmNoLXNpemU6IGNsYW1wKDI0cHgsIDEuNTd2dywgMjhweCk7XHJcbiAgICAtLXNlYXJjaC1idG4tYmc6IHRyYW5zcGFyZW50O1xyXG4gICAgLS1zZWFyY2gtYnRuLXJhZGl1czogNHB4O1xyXG4gICAgLS1zZWFyY2gtaGVpZ2h0OiAzMHB4O1xyXG4gICAgLS1zZWFyY2gtd2lkdGg6IDI1MHB4O1xyXG4gICAgLS1zZWFyY2gtcmFkaXVzOiAxNXB4O1xyXG4gICAgLS1zZWFyY2gtb3V0ZXItYmc6ICNmZmY7XHJcbiAgICAtLXNlYXJjaC1vdXRlci1nYXA6IDVweDtcclxuICAgIC0tc2VhcmNoLW91dGVyLWJvcmRlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcbn0iLCIvKiBGb290ZXIgKi9cclxuXHJcbi5zaXRlLWZvb3RlciB7XHJcbiAgICAtLWZvb3Rlci1iZy1jb2xvcjogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgyNDUsIDI1MCwgMjU0LCAwKSAwJSwgI0Y1RkFGRSAxMDAlKTtcclxuICAgIC0tZm9vdGVyLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgIC0tZm9vdGVyLXRvcC1wYWRkaW5nOiBjbGFtcCg1MHB4LCA2dncsIDExNXB4KSAwO1xyXG4gICAgLS1mb290ZXItdG9wLWZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgLS1mb290ZXItdG9wLW5hdi1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC0tZm9vdGVyLWJvdHRvbS1iZy1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAtLWZvb3Rlci1ib3R0b20tY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IzKTtcclxuICAgIC0tZm9vdGVyLWJvdHRvbS1wYWRkaW5nOiAxLjJlbTtcclxuICAgIC0tZm9vdGVyLWJvdHRvbS1mb250LXNpemU6IDE0cHg7XHJcbiAgICAtLWZvb3Rlci10b3AtYm9yZGVyOiB0cmFuc3BhcmVudDtcclxuICAgIC0tZm9vdGVyLXRvcC1ib3JkZXItc2l6ZTogMDtcclxuICAgIC0tZm9vdGVyLWxpbmstZ2FwX3Y6IC41ZW07XHJcbiAgICAtLWZvb3Rlci1saW5rLWdhcF9oOiAwO1xyXG4gICAgLS1mb290ZXItbG9nby1oZWlnaHQ6IDYwcHg7XHJcbiAgICAtLWZvb3Rlci1sb2dvLXdpZHRoOiAzMDVweDtcclxuICAgIC0tZm9vdGVyLXRpdGxlLXNpemU6IDIuMnJlbTtcclxuICAgIC0tZm9vdGVyLXRpdGxlLXdlaWdodDogNzAwO1xyXG4gICAgLS1mb290ZXItdGl0bGUtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgIC0tZm9vdGVyLXRvcC1wYWRkaW5nOiAzMHB4IDA7XHJcbiAgICAgICAgLS1mb290ZXItYm90dG9tLWZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAtLWZvb3Rlci1ib3R0b20tcGFkZGluZzogMC41ZW07XHJcbiAgICB9XHJcbn0iLCI6cm9vdCB7XHJcbiAgICAtLWwtYmxvY2stZ2FwLXZlcnRpY2FsOiAxNXB4O1xyXG4gICAgLS1sLWJsb2NrLWdhcC1ob3Jpem9udGFsOiAxNnB4O1xyXG4gICAgLS1jLWJsb2NrLXRpdGxlLXNpemU6IGNsYW1wKHZhcigtLWg0LWZvbnQtc2l6ZS1tb2JpbGUpLCAxLjF2dywgdmFyKC0taDQtZm9udC1zaXplKSk7XHJcbiAgICAtLWMtYmxvY2stdGl0bGUtd2VpZ2h0OiB2YXIoLS1oNC1mb250LXdlaWdodCk7XHJcbiAgICAtLWMtYmxvY2stdGl0bGUtdHJhbnNmb3JtOiB2YXIoLS1oNC10ZXh0LXRyYW5zZm9ybSk7XHJcbiAgICAtLWMtYmxvY2stdGl0bGUtY29sb3I6IHZhcigtLXRpdGxlcy1jb2xvcik7XHJcbiAgICAtLWMtYmxvY2stdGV4dC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XHJcbiAgICAtLWMtYmxvY2stcGFkZGluZzogMTVweDtcclxuICAgIC0tYy1ibG9jay1hbGlnbjogbGVmdDtcclxuICAgIC0tYy1ibG9jay1iZzogI2ZmZjtcclxuICAgIC0tYy1ibG9jay1jb2xvcjogaW5oZXJpdDtcclxuICAgIC0tYy1ibG9jay1zaGFkb3c6IG5vbmU7XHJcbiAgICAtLWMtYmxvY2stcmFkaXVzOiBjbGFtcCgxMHB4LCAxLjA1dncsIDIwcHgpO1xyXG4gICAgLS1jLWJsb2NrLWJvcmRlcjogdmFyKC0tYm9yZGVyLWNvbG9yKTtcclxuICAgIC0tb3ZlcmxheS1vcGFjaXR5OiAuOTtcclxuICAgIC0tb3ZlcmxheS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1ibG9ja3F1b3RlLXN0eWxlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSc1NScgaGVpZ2h0PSc0Nicgdmlld0JveD0nMCAwIDU1IDQ2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMzEuMjQ2MyA2LjQxODYxTDMxLjI0NjMgMjcuNkMzMS4yNDYzIDMxLjczNjQgMzIuMDIxNCAzNS4xNTk3IDMzLjU3MTcgMzcuODY5OEMzNi41MzEzIDQzLjI4OTkgNDEuNzQ1NyA0NiA0OS4yMTUxIDQ2TDUxLjExNzcgNDZMNTMuNDQzIDQ1LjU3MjFMNTMuNDQzIDM4LjA4MzdMNTMuMDIwMiAzOC4wODM3QzQ4LjM2OTUgMzguMDgzNyA0Ni4wNDQxIDM1LjY1ODkgNDYuMDQ0MSAzMC44MDkzTDQ2LjA0NDEgMjUuMDMyNkw0OC43OTIzIDI1LjAzMjZDNTIuNTk3NCAyNS4wMzI2IDU0LjUgMjMuMDM1NyA1NC41IDE5LjA0MTlMNTQuNSA2LjQxODYxQzU0LjUgMi4xMzk1NCA1Mi41OTc0IC03LjgzNTE3ZS0wNyA0OC43OTIzIC00LjUwODZlLTA3TDM2Ljk1NCA1Ljg0MDcxZS0wN0MzMy4xNDg5IDkuMTY3MjhlLTA3IDMxLjI0NjMgMi4xMzk1NCAzMS4yNDYzIDYuNDE4NjFaTTE4LjgxNDMgNDZDMTkuNjU5OSA0NiAyMC43MTY5IDQ1Ljg1NzQgMjEuOTg1MyA0NS41NzIxTDIxLjk4NTMgMzguMDgzN0wyMS41NjI1IDM4LjA4MzdDMTcuMDUyNyAzOC4wODM3IDE0Ljc5NzggMzUuNjU4OSAxNC43OTc4IDMwLjgwOTNMMTQuNzk3OCAyNS4wMzI2TDE3LjMzNDYgMjUuMDMyNkMyMS4yODA2IDI1LjAzMjYgMjMuMjUzNyAyMy4wMzU3IDIzLjI1MzcgMTkuMDQxOUwyMy4yNTM3IDYuNDE4NjJDMjMuMjUzNyAyLjEzOTU0IDIxLjI4MDYgMS45NTQyOGUtMDYgMTcuMzM0NiAyLjI5OTI2ZS0wNkw1LjQ5NjMyIDMuMzM0MTllLTA2QzEuODMyMSAzLjY1NDUzZS0wNiAtMy44MzQ0ZS0wNiAyLjEzOTU1IC0zLjQ2MDMxZS0wNiA2LjQxODYyTC0xLjYwODU4ZS0wNiAyNy42Qy01LjM2MTkzZS0wNyAzOS44NjY3IDYuMjcxNDUgNDYgMTguODE0MyA0NlonIGZpbGw9JyUyMzMzOTdFRicvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcclxufVxyXG5cclxuXHJcbi8qIFdZU0lXWUcgKi9cclxuXHJcbi5pcy13eXNpd3lnIHtcclxuICAgIC0td3lzaXd5Zy1tYXJnaW46IDEuNWVtO1xyXG4gICAgLS13eXNpd3lnLWxpLXBhZGRpbmc6IDAgMCAwIDMwcHg7XHJcbiAgICAtLXd5c2l3eWctbGktYmdwOiAwIC40ZW07XHJcbiAgICAtLXd5c2l3eWctbGktbWFyZ2luOiAxZW07XHJcbiAgICAtLWxpc3QtaXRlbS1zdHlsZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjInIGhlaWdodD0nMTYnIHZpZXdCb3g9JzAgMCAyMiAxNicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgeD0nNS4xNDg0JyB5PScxMS4yNzU5JyB3aWR0aD0nMTYnIGhlaWdodD0nNCcgcng9JzInIHRyYW5zZm9ybT0ncm90YXRlKC00Mi42MzggNS4xNDg0IDExLjI3NTkpJyBmaWxsPSclMjMzMzk3RUYnLyUzRSUzQ3JlY3QgeD0nNy40MzM2JyB5PScxNC41Mjg4JyB3aWR0aD0nMTAnIGhlaWdodD0nNCcgcng9JzInIHRyYW5zZm9ybT0ncm90YXRlKC0xMzIuNjM4IDcuNDMzNiAxNC41Mjg4KScgZmlsbD0nJTIzNzBCNkY0Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgIC0td3lzaXd5Zy1saS1wYWRkaW5nOiAwIDAgMCAyNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogU29jaWFsIEljb25zICovXHJcblxyXG4uc29jaWFsLWxpc3Qge1xyXG4gICAgLS1zb2NpYWwtaWNvbi1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1zb2NpYWwtaWNvbi1jb2xvci1ob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xyXG4gICAgLS1zb2NpYWwtaWNvbi1iZzogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgLS1zb2NpYWwtaWNvbi1iZy1ob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1zb2NpYWwtaWNvbi1yYWRpdXM6IDUwJTtcclxuICAgIC0tc29jaWFsLWljb24tc2l6ZTogY2xhbXAoMzVweCwgNS4ydncsIDUwcHgpO1xyXG59XHJcblxyXG4uYmxvZy1maWx0ZXIge1xyXG4gICAgLS1maWx0ZXItYmc6ICNmZmY7XHJcbiAgICAtLWZpbHRlci1saW5rLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLWZpbHRlci1saW5rLWNvbG9yLWFjdGl2ZTogI2ZmZjtcclxuICAgIC0tZmlsdGVyLWxpbmstc2l6ZTogY2xhbXAoMTRweCwgMC44NHZ3LCAxOHB4KTtcclxuICAgIC0tZmlsdGVyLWxpbmstd2VpZ2h0OiA2MDA7XHJcbiAgICAtLWZpbHRlci12c3BhY2U6IDA7XHJcbn0iLCIubS1zbGlkZXIge1xyXG4gICAgLS1zd2lwZXItb3V0ZXItZ2FwOiA4MHB4O1xyXG4gICAgLS1zd2lwZXItYXJyb3dzLWJnOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAtLXN3aXBlci1hcnJvd3MtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tc3dpcGVyLWFycm93cy1zaGFkb3c6IDAgMTJweCAxNHB4IHJnYmEoMzMsIDMzLCAzMywgMC4xKSwgMCA0cHggNHB4IHJnYmEoMzMsIDMzLCAzMywgMC4xKTtcclxuICAgIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwOiAxMHB4O1xyXG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZTogMjRweDtcclxuICAgIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWJvcmRlcjogI2NjYztcclxuICAgIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWJvcmRlci1hY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHk6IC44O1xyXG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1yYWRpdXM6IDIwcHg7XHJcbiAgICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDUycHg7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJykge1xyXG4gICAgICAgIC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTogNDVweDtcclxuICAgICAgICAtLXN3aXBlci1vdXRlci1nYXA6IDQwcHg7XHJcbiAgICAgICAgLS10aHVtYi1zaXplOiAzMHB4O1xyXG4gICAgfVxyXG59IiwiLy8gQmFzZSBzdHlsZXMgZm9yIHRoZSBmaXJzdCB2aWV3cG9ydFxyXG4vLyBIZWxwZXJzIGFuZCB1dGlsaXRpZXNcclxuQGltcG9ydCAnX19oZWxwZXJzL3JlYm9vdCc7XHJcbi8vIENvcmUgc2V0dGluZ3NcclxuQGltcG9ydCAnX19jb3JlL2NvcmUtbWl4aW5zJztcclxuQGltcG9ydCAnX19jb3JlL2NvcmUtc2V0dGluZ3MnO1xyXG5cclxuLyoqKiogU2l0ZSBIZWFkZXIgKi9cclxuXHJcbkBpbXBvcnQgJ19sYXlvdXQvX2Jhc2UnO1xyXG5AaW1wb3J0ICdfbGF5b3V0L19oZWFkZXInO1xyXG4vLyBTZWFyY2ggY29tcG9uZW50IFx0XHRcdFx0XHRcdFx0KHJlbW92ZSBpZiBubyBzZWFyY2ggaW4gaGVhZGVyKVxyXG5AaW1wb3J0IFwiX2xheW91dC9oZWFkZXIvYmxvY2tzL3NpdGVfc2VhcmNoXCI7XHJcbi8vIFdvb2NvbW1lcmNlIFx0XHRcdFx0XHRcdFx0XHRcdChyZW1vdmUgaWYgbm8gV29vQ29tbWVyY2UpXHJcbkBpbXBvcnQgXCJfbGF5b3V0L2hlYWRlci9ibG9ja3MvYWNjb3VudFwiO1xyXG5AaW1wb3J0IFwiX2xheW91dC9oZWFkZXIvYmxvY2tzL2NhcnRcIjtcclxuXHJcbi8qKioqIEVuZCBIZWFkZXIgKi9cclxuXHJcblxyXG4vKiBBYm92ZSB0aGUgZm9sZCBtb2R1bGVzICovXHJcblxyXG5AaW1wb3J0IFwiX21vZHVsZXMvYmFubmVyc1wiO1xyXG5AaW1wb3J0IFwiX21vZHVsZXMvaGVhZGluZ3NcIjtcclxuQGltcG9ydCBcIl9jb21wb25lbnRzL2J1dHRvbnNcIjtcclxuQGltcG9ydCBcIl9jb21wb25lbnRzL2MtYmxvY2tcIjsiLCIvKiBCYXNlIFR5cG9ncmFwaHkgKi9cclxuXHJcblxyXG4vKiAxcmVtID0gMTBweCAqL1xyXG5cclxuaHRtbCB7XHJcbiAgICBmb250LXNpemU6IDUwJTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbVwiKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA1OCU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLWxcIikge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNjIuNSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tYmFzZS10ZXh0LWZvbnQtd2VpZ2h0LCA0MDApO1xyXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1saW5lLWhlaWdodCwgMSk7XHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICB9XHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMjBweCAyMHB4IDAgdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcbiAgICB9XHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yNSk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LWNvbG9yNSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LWNvbG9yNSk7XHJcbiAgICB9XHJcbiAgICAmLmxhc3Rfc2VjdGlvbl9ibHVlIHtcclxuICAgICAgICAuY3RhLWJhbm5lcl9fd3JhcC4tYmx1ZSxcclxuICAgICAgICAucHJvZHVjdC10YWJzLFxyXG4gICAgICAgIC5jYXJkcy1wcm9ncmFtc19fd3JhcC5jb2xvcnMtaW52ZXJ0ZWQge1xyXG4gICAgICAgICAgICAmLi1sYXN0IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1mb290ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBCYXNlIENvbG9ycyAqL1xyXG5cclxuYm9keSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib2R5LWJnLCAjZmZmZmZmKTtcclxuICAgIGNvbG9yOiB2YXIoLS1ib2R5LXRleHQtY29sb3IsICMzMzMzMzMpO1xyXG4gICAgW2NvbG9yLW1vZGU9XCJkYXJrXCJdICYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWJvZHktYmcsICNmZmZmZmYpO1xyXG4gICAgfVxyXG59XHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWxpbmstY29sb3IpO1xyXG4gICAgW2NvbG9yLW1vZGU9XCJkYXJrXCJdICYge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWxpbmstY29sb3ItYWx0KTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbG9ycy1pbnZlcnRlZCxcclxuLmJnLWFsdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib2R5LWJnLWFsdCk7XHJcbiAgICBjb2xvcjogdmFyKC0tYm9keS10ZXh0LWNvbG9yLWFsdCk7XHJcbiAgICAtLXNlY3Rpb24tdGl0bGUtY29sb3I6IHZhcigtLXNlY3Rpb24tdGl0bGUtY29sb3ItYWx0KTtcclxufVxyXG5cclxuXHJcbi8qIEJhc2UgbGF5b3V0ICovXHJcblxyXG5ib2R5LFxyXG5odG1sIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi53cmFwcGVyIHtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiA1NnB4O1xyXG4gICAgICAgIC53b29jb21tZXJjZS1hY2NvdW50ICYge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWNvbnRlbnQge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgbWluLWhlaWdodDogNDAwcHg7XHJcbiAgICAuYmxvZyAmIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgICY+c2VjdGlvbjpmaXJzdC1jaGlsZDpub3QoLm0tYmFubmVyKTpub3QoLmJsb2ctd3JhcHBlcikge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWhlYWRlci1oaWdodCkgKyBjbGFtcCgxMDBweCwgNy44dncsIDE1MHB4KSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWhlYWRlcixcclxuLnNpdGUtY29udGVudCxcclxuLnNpdGUtZm9vdGVyIHtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4uY29udGFpbmVyLWZsdWlkLFxyXG4uY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZ2UtZ3V0dGVyKTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZ2UtZ3V0dGVyKTtcclxuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9ZGVza3RvcC1sJykge1xyXG4gICAgICAgIC0tY29udGVudC13aWR0aDogdmFyKC0tZGVza3RvcC13aWR0aC1tKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAtLXBhZ2UtZ3V0dGVyOiAyMHB4O1xyXG4gICAgICAgIC0tY29udGVudC13aWR0aDogdmFyKC0tdGFibGV0LXdpZHRoKTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtb3V0ZXItbWFyZ2luLCAyZW0pO1xyXG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1vdXRlci1tYXJnaW4sIDJlbSk7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiBjbGFtcCgxMDI0cHgsIDgzLjV2dywgY2FsYyh2YXIoLS1jb250ZW50LXdpZHRoKSArIHZhcigtLXBhZ2UtZ3V0dGVyLCAyMHB4KSAqIDIpKTtcclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcclxuICAgIC5nYXAtdG9wLFxyXG4gICAgLmdhcC10b3AtcyxcclxuICAgIC5nYXAtdG9wLWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS12ZXJ0aWNhbC1nYXApO1xyXG4gICAgfVxyXG4gICAgLmdhcC1ib3QsXHJcbiAgICAuZ2FwLWJvdC1zLFxyXG4gICAgLmdhcC1ib3QtbCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXZlcnRpY2FsLWdhcCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcclxuICAgIC5nYXAtdG9wIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tdmVydGljYWwtZ2FwKTtcclxuICAgIH1cclxuICAgIC5nYXAtYm90IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tdmVydGljYWwtZ2FwKTtcclxuICAgIH1cclxuICAgIC5nYXAtdG9wLXMge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgLyAyKTtcclxuICAgIH1cclxuICAgIC5nYXAtYm90LXMge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgLyAyKTtcclxuICAgIH1cclxuICAgIC5nYXAtdG9wLWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgKiAxLjUpO1xyXG4gICAgfVxyXG4gICAgLmdhcC1ib3QtbCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tdmVydGljYWwtZ2FwKSAqIDEuNSk7XHJcbiAgICB9XHJcbn0iLCIuc2l0ZS1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgei1pbmRleDogMTAyO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IHZhcigtLWhlYWRlci1oaWdodCk7XHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTZweCByZ2JhKDkyLCA5NSwgMTA3LCAwLjI1KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcclxuICAgICAgICBwb3NpdGlvbjogdmFyKC0taGVhZGVyLXN0aWNreS10eXBlLCBzdGlja3kpO1xyXG4gICAgICAgIC5hZG1pbi1iYXIgJiB7XHJcbiAgICAgICAgICAgIHRvcDogMjhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItbW9iaWxlLWJnKTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gICAgfVxyXG4gICAgJl9fbG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcsXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjbGFtcCgxNTBweCwgMTUuNnZ3LCAzMDBweCk7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1oZWFkZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgIHBhdGhbZmlsbD0nIzE2Mjc1QyddIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICB9XHJcbiAgICAmX19yb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgfVxyXG4gICAgJl9fY29sIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1oZWFkZXItaG9yaXpvbnRhbC1nYXAsIDF2dykgKiAyKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJi4tbGVmdCB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi4tY2VudGVyIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc29jaWFsLWxpc3Qge1xyXG4gICAgICAgIGdhcDogdmFyKC0taGVhZGVyLWhvcml6b250YWwtZ2FwKTtcclxuICAgIH1cclxuICAgIGE6bm90KC5jLWJ0bikge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvci1ob3ZlciwgdmFyKC0tcHJpbWFyeS1jb2xvcjIpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKiBIZWFkZXIgTWFpbiBSb3cgKi9cclxuXHJcbi5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICAtLWhlYWRlci1saW5rLWNvbG9yOiB2YXIoLS1oZWFkZXItbWFpbi1jb2xvcik7XHJcbiAgICAtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1oZWFkZXItbWFpbi1jb2xvci1ob3Zlcik7XHJcbiAgICAtLWhlYWRlci1ob3Jpem9udGFsLWdhcDogdmFyKC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXMpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRlci1tYWluLWZvbnQtd2VpZ2h0KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1oZWFkZXItbWFpbi10ZXh0LXRyYW5zZm9ybSwgdXBwZXJjYXNlKTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLW1haW4tZm9udC1zaXplLCAxNnB4KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgLnNpdGUtaGVhZGVyX19yb3cge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItbWFpbi12ZXJ0aWNhbC1wYWRkaW5nKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0taGVhZGVyLW1haW4tdmVydGljYWwtcGFkZGluZyk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogSGVhZGVyIFRvcCBSb3cgKi9cclxuXHJcbi5zaXRlLWhlYWRlcl9fdG9wIHtcclxuICAgIC0taGVhZGVyLWxpbmstY29sb3I6IHZhcigtLWhlYWRlci10b3AtY29sb3IpO1xyXG4gICAgLS1oZWFkZXItbGluay1jb2xvci1ob3ZlcjogdmFyKC0taGVhZGVyLXRvcC1jb2xvci1ob3Zlcik7XHJcbiAgICAtLWhlYWRlci1ob3Jpem9udGFsLWdhcDogdmFyKC0taGVhZGVyLXRvcC1nYXAtYmV0d2Vlbi1pdGVtcyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItdG9wLWJnKTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLXRvcC1zaXplKTtcclxuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItdG9wLWNvbG9yKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLXRvcC12ZXJ0aWNhbC1wYWRkaW5nKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0taGVhZGVyLXRvcC12ZXJ0aWNhbC1wYWRkaW5nKTtcclxuICAgIH1cclxufSIsIi5pcy1zdGlja3kge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIC5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAuc2l0ZS1oZWFkZXJfX3JvdzphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zaXRlLWhlYWRlcl9fdG9wIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLS1oZWFkZXItbWFpbi12ZXJ0aWNhbC1wYWRkaW5nOiAxcHg7XHJcbiAgICAgICAgLS1oZWFkZXItdG9wLXZlcnRpY2FsLXBhZGRpbmc6IDFweDtcclxuICAgICAgICAtLWhlYWRlci1tYWluLWJnOiB2YXIoLS1oZWFkZXItc3RpY2t5LWJnLCB2YXIoLS1wcmltYXJ5LWNvbG9yMSkpO1xyXG4gICAgICAgIC0taGVhZGVyLW1haW4tbmF2LWhlaWdodDogNTBweDtcclxuICAgICAgICAuc2l0ZS1oZWFkZXJfX3RvcCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEzcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMXB4IDQwcHggcmdiYSgxNDUsIDEzNywgMTMwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhlYWRlci1tYWluLWJnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1oZWFkZXJfX2xvZ28ge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBpbWcsXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2LW1haW5fX2J0bi4tZGVza3RvcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgIC5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICAgICAgLm5hdi1hY3RpdmUgJiB7XHJcbiAgICAgICAgICAgIC0taGVhZGVyLW1haW4tYmc6IHZhcigtLWhlYWRlci1tb2JpbGUtYmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWhlYWRlcl9fY29sLi1sZWZ0IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDE2NXB4O1xyXG4gICAgfVxyXG4gICAgLm5hdi1zZWNvbmRhcnkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgLmRlc2t0b3AtaGVhZGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdi1tYWluIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIC0tbmF2LXBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgdG9wOiB2YXIoLS1oZWFkZXItaGlnaHQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItbW9iaWxlLWJnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tbG9nby1saWdodCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODAlIDEyMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDUwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwM1wiIGhlaWdodD1cIjI5MFwiIHZpZXdCb3g9XCIwIDAgMjAzIDI5MFwiIGZpbGw9XCJub25lXCI+PGcgb3BhY2l0eT1cIjAuMVwiPjxwYXRoIGQ9XCJNMjQ0LjAyNiAxMC42MTcxQzI1OC4xNSAtMy41MzkwNSAyODEuMjgyIC0zLjUzOTA2IDI5NS40MDYgMTAuNjE3MkMzMDkuNTMxIDI0Ljc3MzUgMzA5LjUzMSA0Ny45NTY5IDI5NS40MDYgNjIuMTEzMUwyMjYuNDIzIDEzMS4yNTNDMjEyLjI5OCAxNDUuNDA5IDE4OS4xNjcgMTQ1LjQwOSAxNzUuMDQyIDEzMS4yNTNDMTYwLjkxNyAxMTcuMDk3IDE2MC45MTcgOTMuOTEzNSAxNzUuMDQyIDc5Ljc1NzNMMjQ0LjAyNiAxMC42MTcxWlwiIGZpbGw9XCIlMjMyMTNCOENcIiBmaWxsLW9wYWNpdHk9XCIwLjI1XCIvPjxwYXRoIGQ9XCJNMjU1LjAwMSAyMDMuMzlMMjk1LjQwNyAyNDMuODg3QzMwOS41MzEgMjU4LjA0MyAzMDkuNTMxIDI4MS4yMjYgMjk1LjQwNyAyOTUuMzgyQzI4MS4yODIgMzA5LjUzOSAyNTguMTUgMzA5LjUzOSAyNDQuMDI2IDI5NS4zODJMMjAzLjQ5NCAyNTQuNzZMMjAzLjYyIDI1NC42OTdMMTc1LjIyOSAyMjYuMjQyQzE2MS4xMDQgMjEyLjA4NiAxNjEuMTA0IDE4OS4xMDggMTc1LjIyOSAxNzQuNzQ2QzE4OS4zNTMgMTYwLjU5IDIxMi40ODUgMTYwLjU5IDIyNi42MDkgMTc0Ljc0NkwyNTUuMDYzIDIwMy4yNjRMMjU1LjAwMSAyMDMuMzlaXCIgZmlsbD1cIiUyMzIxM0I4Q1wiIGZpbGwtb3BhY2l0eT1cIjAuMjVcIi8+PHBhdGggZD1cIk02MS45NzQyIDEwLjYxNzVDNDcuODQ5NiAtMy41Mzg2OCAyNC43MTggLTMuNTM4NyAxMC41OTM0IDEwLjYxNzVDLTMuNTMxMTYgMjQuNzczOCAtMy41MzExMyA0Ny45NTcxIDEwLjU5MzUgNjIuMTEzNEw3OS41NzcyIDEzMS4yNTRDOTMuNzAxOCAxNDUuNDEgMTE2LjgzMyAxNDUuNDEgMTMwLjk1OCAxMzEuMjU0QzE0NS4wODMgMTE3LjA5NyAxNDUuMDgzIDkzLjkxNDEgMTMwLjk1OCA3OS43NTc4TDYxLjk3NDIgMTAuNjE3NVpcIiBmaWxsPVwiJTIzMjEzQjhDXCIgZmlsbC1vcGFjaXR5PVwiMC4yNVwiLz48cGF0aCBkPVwiTTUwLjk5OTMgMjAzLjM5MUwxMC41OTM3IDI0My44ODdDLTMuNTMwOSAyNTguMDQzIC0zLjUzMDg4IDI4MS4yMjcgMTAuNTkzNyAyOTUuMzgzQzI0LjcxODMgMzA5LjUzOSA0Ny44NDk5IDMwOS41MzkgNjEuOTc0NSAyOTUuMzgzTDEwMi41MDYgMjU0Ljc2MUwxMDIuMzggMjU0LjY5OEwxMzAuNzcxIDIyNi4yNDNDMTQ0Ljg5NiAyMTIuMDg3IDE0NC44OTYgMTg5LjEwOCAxMzAuNzcxIDE3NC43NDdDMTE2LjY0NyAxNjAuNTkxIDkzLjUxNTIgMTYwLjU5MSA3OS4zOTA2IDE3NC43NDdMNTAuOTM2OCAyMDMuMjY0TDUwLjk5OTMgMjAzLjM5MVpcIiBmaWxsPVwiJTIzMjEzQjhDXCIgZmlsbC1vcGFjaXR5PVwiMC4yNVwiLz48L2c+PC9zdmc+Jyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTkwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcclxuICAgICAgICAgICAgJi4tLWJnLWJsdWUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RkFGRTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDU1cHgpO1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubmF2LWFjdGl2ZS5hZG1pbi1iYXIgJiB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA1NXB4IC0gNDZweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtaGVhZGVyX193aWRnZXQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX193cmFwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU3R5bGUgdGhlIG1lbnUgaXRzZWxmICovXHJcbiAgICAgICAgJl9fbGlua3Mge1xyXG4gICAgICAgICAgICAvKiBIaWRlIGV2ZXJ5IHN1Yi1tZW51IGJ5IGRlZmF1bHQgKi9cclxuICAgICAgICAgICAgLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAmLi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvKiBTdHlsZSBldmVyeSBsaXN0IGl0ZW0gYW5kIGxpbmssIHJlZ2FyZGxlc3MgdGhlIGxldmVsICovXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDMzLCA1OSwgMTQwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMzMzZW07XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjMzZW0gdmFyKC0tbmF2LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51LWl0ZW1fX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvKiBTdHlsZSBldmVyeSBtZW51IGl0ZW0gdGhhdCBoYXMgY2hpbGRyZW4gKi9cclxuICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI5XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDkgMTRcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGQ9XCJNNS44MTk3MyA3LjAwMDMxTDEuMjg3MDYgMTEuNjYwOEMwLjc4OTcyOSAxMi4xNzY0IDAuNzg5NzI5IDEzLjAxMDUgMS4yODcwNiAxMy41MjZDMS43ODk3MyAxNC4wNDA5IDIuNjAxNzMgMTQuMDQwOSAzLjEwNDQgMTMuNTI2TDguNTQxMDYgNy45MzI1NUM5LjAzODQgNy40MTcwMiA5LjAzODQgNi41ODIyMiA4LjU0MTA2IDYuMDY3MzdMMy4xMDQ0IDAuNDczOTAxQzIuNjAxNzMgLTAuMDQxNjMzIDEuNzg5NzMgLTAuMDQwMjUwOSAxLjI4NzA2IDAuNDczOTAxQzAuNzg5NzI5IDAuOTg4NzQzIDAuNzg5NzI5IDEuODIyODYgMS4yODcwNiAyLjMzODM5TDUuODE5NzMgNy4wMDAzMVpcIiBmaWxsPVwiJTIzMTYyNzVDXCIvPjwvc3ZnPicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8qIFN0eWxlIGV2ZXJ5IGFjdGl2ZSBlbGVtZW50ICovXHJcbiAgICAgICAgICAgICAgICAmLi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBhbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjlcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgOSAxNFwiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk00LjAwODQgNi45OTk2OUw4LjU0MTA2IDIuMzM5MTVDOS4wMzg0IDEuODIzNjIgOS4wMzg0IDAuOTg5NTA3IDguNTQxMDYgMC40NzM5NzNDOC4wMzg0IC0wLjA0MDg2OTggNy4yMjY0IC0wLjA0MDg2OTkgNi43MjM3MyAwLjQ3Mzk3M0wxLjI4NzA2IDYuMDY3NDRDMC43ODk3MyA2LjU4Mjk4IDAuNzg5NzMgNy40MTc3OCAxLjI4NzA2IDcuOTMyNjNMNi43MjM3MyAxMy41MjYxQzcuMjI2NCAxNC4wNDE2IDguMDM4NCAxNC4wNDAzIDguNTQxMDYgMTMuNTI2MUM5LjAzODQgMTMuMDExMyA5LjAzODQgMTIuMTc3MSA4LjU0MTA2IDExLjY2MTZMNC4wMDg0IDYuOTk5NjlaXCIgZmlsbD1cIiUyM0Y1REQ1N1wiLz48L3N2Zz4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8qIFN0eWxlIGV2ZXJ5IGhpZGRlbiBlbGVtZW50ICovXHJcbiAgICAgICAgICAgICAgICAmLi0taGlkZGVuIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaW1wbGUtdGV4dCxcclxuLnNpbmdsZS1wb3N0LFxyXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zdHlsZWd1aWRlLFxyXG4uZXJyb3I0MDQge1xyXG4gICAgLnNpdGUtaGVhZGVyX19tYWluIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItc3RpY2t5LWJnLCB2YXIoLS1wcmltYXJ5LWNvbG9yMSkpO1xyXG4gICAgfVxyXG4gICAgLnNpdGUtY29udGVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCB7XHJcbiAgICAuc2l0ZS1jb250ZW50IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1oaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VhcmNoIHtcclxuICAgIC5wdC1wYW5lbCB7XHJcbiAgICAgICAgPmRpdj5hIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wdC1wYW5lbF9fcHJvZHVjdHMge1xyXG4gICAgICAgIC0tbC1ibG9jay1jb2w6IDQ7XHJcbiAgICB9XHJcbn0iLCIuc2l0ZS1oZWFkZXJfX3RvcCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLm5hdi1zZWNvbmRhcnlfX2xpbmtzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAubmF2LXNlY29uZGFyeV9fbGlua3Mge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAubmF2LW1haW5fX2J0bi4tZGVza3RvcCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAubmF2LW1haW5fX2J0bi4tbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59IiwiLyogTmF2YmFyIE1haW4gKi9cclxuXHJcbi5uYXYtbWFpbiB7XHJcbiAgICAtLW5hdmJhci1ib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgLS1uYXZiYXItYm9yZGVyLWFjdGl2ZS13aWR0aDogNHB4O1xyXG4gICAgLS1oZWFkZXItbGluay1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1oZWFkZXItbGluay1jb2xvci1ob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgJl9fd3JhcCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19saW5rcyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMmVtO1xyXG4gICAgICAgICAgICA+Lm1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLW5hdmJhci1ib3JkZXItYWN0aXZlLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1uYXZiYXItYm9yZGVyLWFjdGl2ZS13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS1iYXNlLXRyYW5zaXRpb24pIGFsbDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOm5vdCgubWVudS1pdGVtLWhhcy1jaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXMsIDF2dykpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXMsIDF2dykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHZhcigtLWhlYWRlci1tYWluLWdhcC1iZXR3ZWVuLWl0ZW1zLCAxdncpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWhlYWRlci1tYWluLWdhcC1iZXR3ZWVuLWl0ZW1zLCAxdncpICogMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPmEsXHJcbiAgICAgICAgICAgICAgICAucGxhaW4tbWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCB2YXIoLS1oZWFkZXItbWFpbi1nYXAtYmV0d2Vlbi1pdGVtcywgMXZ3KTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0taGVhZGVyLW1haW4tbmF2LWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBmb250LXNpemUgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxMnB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogLjVlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICZfX2ljbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJl9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtLjVlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBhbGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgJi4tLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3VycmVudC1tZW51LWl0ZW0ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID5hIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyLCB2YXIoLS1wcmltYXJ5LWNvbG9yMikpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIE5hdmJhciBTZWNvbmRhcnkgKi9cclxuXHJcbi5zaXRlLWhlYWRlciB7XHJcbiAgICAubmF2LW1haW4ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAmX19saW5rcyB7XHJcbiAgICAgICAgICAgICAgICBsaS5tZW51LWl0ZW1fX21lZ2FtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxMnB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdi1zZWNvbmRhcnkge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAmX19saW5rcyB7XHJcbiAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogLjVlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJl9faWNvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmX19pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtLjVlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBhbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIC8vd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICZfX2xpbmtzIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDMzLCA1OSwgMTQwLCAuMik7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgJi4tLWhpZGRlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzMnIHZpZXdCb3g9JzAgMCAxMiAzJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDbGluZSB4MT0nMTAuNScgeTE9JzEuNScgeDI9JzEuNScgeTI9JzEuNScgc3Ryb2tlPSclMjM2RTg4REInIHN0cm9rZS13aWR0aD0nMycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tZW51LWl0ZW1fX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jdXJyZW50LW1lbnUtaXRlbSxcclxuICAgICAgICAgICAgICAgIC5jdXJyZW50X3BhZ2VfcGFyZW50IHtcclxuICAgICAgICAgICAgICAgICAgICA+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMikgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2xpbmtzIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIGdhcDogMS43NWVtO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VycmVudF9wYWdlX3BhcmVudCxcclxuICAgICAgICAuY3VycmVudF9wYWdlX2l0ZW0ge1xyXG4gICAgICAgICAgICA+YSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IC41ZW07XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIC5uYXYtYWN0aXZlICYge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstY29sb3ItaG92ZXIsIHZhcigtLXByaW1hcnktY29sb3IyKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNsYW1wKDI0cHgsIDEuNTd2dywgMjhweCk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNsYW1wKDI0cHgsIDEuNTd2dywgMjhweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmMtYnRuIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ0bi1zZWNvbmRhcnktYmctaG92ZXIsICNGNURENTcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW07XHJcbiAgICAgICAgICAgICAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhzLXdlYi1pbnRlcmFjdGl2ZXMtdG9wLWJhbm5lci1vcGVuICYge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgIHRvcDogOTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5zaXRlLWhlYWRlciB7XHJcbiAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgLS1zdWJtZW51LXBvc3Rpb24tbGVmdDogNTAlO1xyXG4gICAgICAgIC0tc3VibWVudS1wb3N0aW9uLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIC0tc3VibWVudS1wb3N0aW9uLXRvcDogY2FsYyggMTAwJSArIHZhcigtLW5hdmJhci1ib3JkZXItYWN0aXZlLXdpZHRoKSApO1xyXG4gICAgICAgIC0tc3VibWVudS1ib3R0b206IGF1dG87XHJcbiAgICAgICAgLS1zdWJtZW51LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMHB4KTtcclxuICAgICAgICAtLXN1Ym1lbnUtbGluay1wYWRkaW5nOiAxLjRyZW0gMS40cmVtO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICB0b3A6IHZhcigtLXN1Ym1lbnUtcG9zdGlvbi10b3ApO1xyXG4gICAgICAgICAgICBib3R0b206IHZhcigtLXN1Ym1lbnUtYm90dG9tKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB2YXIoLS1zdWJtZW51LXRyYW5zZm9ybSk7XHJcbiAgICAgICAgICAgIGxlZnQ6IHZhcigtLXN1Ym1lbnUtcG9zdGlvbi1sZWZ0KTtcclxuICAgICAgICAgICAgcmlnaHQ6IHZhcigtLXN1Ym1lbnUtcG9zdGlvbi1yaWdodCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4IDA7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tZHJvcGRvd24td2lkdGgpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZHJvcGRvd24tYmcpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAzNHB4IHJnYmEoMCwgNywgNjMsIDAuMSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1uYXZiYXItYm9yZGVyLXJhZGl1cykgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1uYXZiYXItYm9yZGVyLXJhZGl1cykgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1kcm9wZG93bi1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAuNmVtO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWRyb3Bkb3duLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZHJvcGRvd24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY3VycmVudC1tZW51LWl0ZW0gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZHJvcGRvd24tY29sb3ItYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVudS1pdGVtLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVudS1pdGVtLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tZW51LWl0ZW0tY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVudS1pdGVtLWltZy13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgICBpbWcsXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1zdWJtZW51LWxpbmstcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAuNWVtO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgID4uc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIC0tc3VibWVudS10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLS1zdWJtZW51LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIC0tc3VibWVudS1wb3N0aW9uLWxlZnQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgLS1zdWJtZW51LXBvc3Rpb24tdG9wOiAtNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogODtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgIC8qIFRhcmdldCBmaXJzdCBsZXZlbCBsaW5rcywgYW5kIGFkZCBjYXJyZXQgKi9cclxuICAgICAgICAubmF2LW1haW5fX2xpbmtzLFxyXG4gICAgICAgIC5uYXYtc2Vjb25kYXJ5X19saW5rcyB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwJSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLyogVGFyZ2V0IGxhc3QgZmV3IGxpIGVsZW1lbnRzICovXHJcbiAgICAgICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uICsgMykge1xyXG4gICAgICAgICAgICAgICAgICAgICYgPiAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtLXN1Ym1lbnUtcG9zdGlvbi1sZWZ0OiAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc3VibWVudS1wb3N0aW9uLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXN1Ym1lbnUtcG9zdGlvbi1yaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2LW1haW5fX2xpbmtzIHtcclxuICAgICAgICAgICAgLyogVGFyZ2V0IGZpcnN0IGxldmVsIGxpbmtzLCBhbmQgcmVtb3ZlIGJvcmRlciByYWRpdXMgKi9cclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAmID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICYgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXYtc2Vjb25kYXJ5X19saW5rcyB7XHJcbiAgICAgICAgICAgIC0tbmF2YmFyLWJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICAgICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICAtLXN1Ym1lbnUtbGluay1wYWRkaW5nOiAxLjFlbSAxLjVlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0taGVhZGVyLXRvcC1jb2xvciwgIzIxM0I4Qyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLS1zdWJtZW51LXBvc3Rpb24tdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1uYXZiYXItYm9yZGVyLXJhZGl1cykgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICYgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1uYXZiYXItYm9yZGVyLXJhZGl1cykgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLm5hdi1tYWluX19idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMTBweCAwIDAgMTEwcHg7XHJcbiAgICBjb2xvcjogdmFyKC0tYnVyZ2VyLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1cmdlci1iZyk7XHJcbiAgICBwYWRkaW5nOiAxOHB4IDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIC5uYXYtYWN0aXZlICYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxufVxyXG5cclxuLmJ1cmdlci1pY29uIHtcclxuICAgIHdpZHRoOiB2YXIoLS1idXJnZXItd2lkdGgpO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuNHMgZWFzZTtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICA+ZGl2IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxleDogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IHZhcigtLWJ1cmdlci1zZWdtZW50LWhpZ2h0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnVyZ2VyLXNlZ21lbnQtcmFkaXVzKTtcclxuICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEyMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tYnVyZ2VyLXNlZ21lbnQtaGlnaHQpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1idXJnZXItc2VnbWVudC1yYWRpdXMpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgdG9wOiBjYWxjKHZhcigtLWJ1cmdlci1zZWdtZW50LWdhcCkgKiAtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0b3A6IHZhcigtLWJ1cmdlci1zZWdtZW50LWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLWFjdGl2ZSAmIHtcclxuICAgICAgICA+ZGl2IHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAuc2l0ZS1oZWFkZXIge1xyXG4gICAgICAgIC0tbWVnYS1tZW51LXdpZHRoOiA4ODVweDtcclxuICAgICAgICAtLW1lZ2EtbWVudS1sZWZ0OiAwO1xyXG4gICAgICAgIC0tbWVnYS1tZW51LXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIC0tc3ViLW1lbnUtd2lkdGg6IDI0MnB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3AtbFwiKSB7XHJcbiAgICAgICAgICAgIC0tbWVnYS1tZW51LXdpZHRoOiA2NTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdi1tYWluIHtcclxuICAgICAgICAgICAgLyogVGhpcyBpcyBhIHJvb3QgbGV2ZWwgdWwgKi9cclxuICAgICAgICAgICAgJl9fbGlua3Mge1xyXG4gICAgICAgICAgICAgICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5tZW51LXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLyogVGhpcyBpcyBhIGxpIGl0ZW0sIHRoYXQgaGFzIGEgbWVnYW1lbnUgY2xhc3MgKi9cclxuICAgICAgICAgICAgICAgICAgICAmX19tZWdhbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1tZWdhLW1lbnUtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdmFyKC0tbWVnYS1tZW51LWxlZnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHZhcigtLW1lZ2EtbWVudS1yaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZHJvcGRvd24tYmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgdmFyKC0tbmF2YmFyLWJvcmRlci1hY3RpdmUtd2lkdGgsIDRweCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLW5hdmJhci1ib3JkZXItcmFkaXVzKSB2YXIoLS1uYXZiYXItYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDExcHggNDBweCAwcHggcmdiYSgxNDQsIDEzNywgMTMwLCAwLjQwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3Qgc2hvdyBzdWItbWVudXMuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWVudS1pdGVtLW1lZ2FtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDIxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubWVudS1pdGVtLW1lZ2FtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uczogMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW5zOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWNvbHVtbnM6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNHJlbSAzcmVtIDEuNHJlbSAzcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXA6IC41ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogLjVlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSguNWVtKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDFlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2xhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS40cmVtIDAgMS40cmVtIDEuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAwLjVlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0uNWVtKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS1iYXNlLXRyYW5zaXRpb24pIGFsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuLS1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIHZhcigtLW5hdmJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIHZhcigtLW5hdmJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJl9fbWVnYW1lbnUtbXVsdGljb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gdWwuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tc3ViLW1lbnUtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tc3ViLW1lbnUtd2lkdGgsIDI0MnB4KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsICNFQ0VGRjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDIwcHggOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gY2hhbmdlIHN1Yi1tZWdhbWVudSBwb3NpdGlvbiB0byBvcHBvc2l0ZSBzdGFydGluZyBmcm9tIHRoZSA0dGggaXRlbS5cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChuICsgNCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tbWVnYS1tZW51LWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLW1lZ2EtbWVudS1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKiBTdHlsZSBtb2JpbGUgbWVnYW1lbnUgaXRlbXMgKi9cclxuQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgLm1lbnUtaXRlbV9fbWVnYW1lbnUge1xyXG4gICAgICAgICYgPiB1bCB7XHJcbiAgICAgICAgICAgICYgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNjY3ZW0gMS4zM2VtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiOFwiIGhlaWdodD1cIjhcIiB2aWV3Qm94PVwiMCAwIDggOFwiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk0wLjU0MDM4MSA2LjQxOTA0QzAuMjg2NTQgNi42NzI4OCAwLjI4NjU0IDcuMDg0NDQgMC41NDAzODEgNy4zMzgyOEMwLjc5NDIyMSA3LjU5MjEyIDEuMjA1NzggNy41OTIxMiAxLjQ1OTYyIDcuMzM4MjhMMC41NDAzODEgNi40MTkwNFpNNy42NSAwLjg3ODY2MkM3LjY1IDAuNTE5Njc3IDcuMzU4OTkgMC4yMjg2NjIgNyAwLjIyODY2MkwxLjE1IDAuMjI4NjYyQzAuNzkxMDE2IDAuMjI4NjYyIDAuNTAwMDAxIDAuNTE5Njc3IDAuNTAwMDAxIDAuODc4NjYyQzAuNSAxLjIzNzY1IDAuNzkxMDE2IDEuNTI4NjYgMS4xNSAxLjUyODY2SDYuMzVWNi43Mjg2NkM2LjM1IDcuMDg3NjUgNi42NDEwMiA3LjM3ODY2IDcgNy4zNzg2NkM3LjM1ODk5IDcuMzc4NjYgNy42NSA3LjA4NzY1IDcuNjUgNi43Mjg2Nkw3LjY1IDAuODc4NjYyWk0xLjQ1OTYyIDcuMzM4MjhMNy40NTk2MiAxLjMzODI4TDYuNTQwMzggMC40MTkwNDJMMC41NDAzODEgNi40MTkwNEwxLjQ1OTYyIDcuMzM4MjhaXCIgZmlsbD1cIiUyM0Y1REQ1N1wiLz48L3N2Zz4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtaGVhZGVyIHtcclxuICAgICAgICAubmF2LW1haW4ge1xyXG4gICAgICAgICAgICAubWVudS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKipcclxuICogSGVhZGVyIEJsb2NrOiBXaG8gV2UgU2VydmUgRHJvcGRvd25cclxuICpcclxuICogQXVkaWVuY2Utc2VnbWVudGF0aW9uIGRyb3Bkb3duIHNpdHRpbmcgaW4gdGhlIGhlYWRlciB0b3Agcm93IG5leHQgdG8gdGhlIGxvZ28uXHJcbiAqIEluaGVyaXRzIGhlYWRlciBDU1MgdmFyaWFibGVzIGZvciBjb25zaXN0ZW50IGNvbG91ciBhbmQgdHlwb2dyYXBoeS5cclxuICovXHJcblxyXG4ud3dzLWRyb3Bkb3duIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7IC8vIGhpZGRlbiBvbiBtb2JpbGUg4oCUIG1vYmlsZSBuYXYgaGFuZGxlcyBhdWRpZW5jZSBsaW5rcyBzZXBhcmF0ZWx5XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdG9nZ2xlIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oZWFkZXItdG9wLXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oZWFkZXItbWFpbi1mb250LXdlaWdodCk7XHJcbiAgICAgICAgZ2FwOiAwLjRlbTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1oZWFkZXItbWFpbi10ZXh0LXRyYW5zZm9ybSwgdXBwZXJjYXNlKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyLCB2YXIoLS1wcmltYXJ5LWNvbG9yMikpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRG93biBjYXJldCDigJQgbWlycm9ycyB0aGUgcGF0dGVybiBpbiBfbmF2YmFyX2Ryb3Bkb3duLnNjc3NcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcGFuZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRyb3Bkb3duLWJnKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpIHZhcigtLW5hdmJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAzNHB4IHJnYmEoMCwgNywgNjMsIDAuMSk7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgICAgICYuaXMtb3BlbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19saW5rcyB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNGM0YzQ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWRyb3Bkb3duLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1kcm9wZG93bi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWRyb3Bkb3duLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNHJlbSAxLjZyZW07XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZHJvcGRvd24tY29sb3ItYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuc2l0ZS1zZWFyY2gge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICBoZWlnaHQ6IHZhcigtLXNlYXJjaC1zaXplKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiB2YXIoLS1zZWFyY2gtc2l6ZSk7XHJcbiAgICAmX190b2dnbGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlYXJjaC1idG4tYmcpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2VhcmNoLWJ0bi1yYWRpdXMpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zZWFyY2gtc2l6ZSk7XHJcbiAgICAgICAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXNlYXJjaC1zaXplKTtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLS1oZWFkZXItbGluay1jb2xvcjogdmFyKC0taGVhZGVyLWxpbmstY29sb3ItaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2ljb24ge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgICAgICAuc2l0ZS1oZWFkZXIgJiB7XHJcbiAgICAgICAgICAgIHN0cm9rZTogI2ZmZmZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICYuaXMtc2hvd24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWFyY2gtb3V0ZXItYmcpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zZWFyY2gtb3V0ZXItYm9yZGVyKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2VhcmNoLXJhZGl1cykgMCB2YXIoLS1zZWFyY2gtcmFkaXVzKSB2YXIoLS1zZWFyY2gtcmFkaXVzKTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLXNlYXJjaC13aWR0aCkgKyAyMHB4KTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXNlYXJjaC1vdXRlci1nYXApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMHB4KTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDMwcHgpO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlYXJjaC1maWVsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLXNlYXJjaC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSA0MXB4KTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQxcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICArLnNpdGUtc2VhcmNoX190b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KSBzY2FsZSgwLjYpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCkgc2NhbGUoMC44KTtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAuc2l0ZS1zZWFyY2hfX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNpdGUtc2VhcmNoX19jbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstY29sb3ItaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNsYW1wKDE4cHgsIDAuN3Z3LCAyMnB4KTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNsYW1wKDE4cHgsIDAuN3Z3LCAyMnB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICAuc2l0ZS1zZWFyY2hfX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIC5uYXYtYWN0aXZlICYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm5hdi1hY3RpdmUgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faWNvbiB7XHJcbiAgICAgICAgZmlsbDogdmFyKC0taGVhZGVyLWxpbmstY29sb3IpO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBbdHlwZT0nc3VibWl0J10ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zZWFyY2gtaGVpZ2h0KTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaXMtc2hvd24gJiB7fVxyXG4gICAgfVxyXG4gICAgJl9fY2xvc2Uge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2VhcmNoLW91dGVyLWJnKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zZWFyY2gtb3V0ZXItYm9yZGVyKTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDE0cHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcclxuICAgICAgICB3aWR0aDogMzhweDtcclxuICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VhcmNoLWZpZWxkIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zZWFyY2gtcmFkaXVzKTtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMC44NHZ3LCAxNnB4KTtcclxuICAgIGhlaWdodDogdmFyKC0tc2VhcmNoLWhlaWdodCk7XHJcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgd2lkdGg6IHZhcigtLXNlYXJjaC13aWR0aCk7XHJcbiAgICAuc2l0ZS1oZWFkZXIgJiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5nZW5lcmFsLWJnLWxvZ28ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LWhlaWdodDogNzMwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDczMHB4O1xyXG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgb3BhY2l0eTogMC4yO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IC04MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxufVxyXG5cclxuLnNlYXJjaC1uby1yZXN1bHRzLFxyXG4uc2VhcmNoLXJlc3VsdHMge1xyXG4gICAgLm0tYmFubmVyIHtcclxuICAgICAgICAmLmhlYWRlci1sYXAge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIC5tLWJhbm5lcl9faW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMjVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sLWJhbm5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2xhbXAoNDBweCwgMy42dncsIDgwcHgpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VhcmNoLWZvcm0ge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJl9fbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNlYXJjaC1yYWRpdXMpIDAgMCB2YXIoLS1zZWFyY2gtcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjVweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWFyY2gtc3VibWl0IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI1JyBoZWlnaHQ9JzI1JyB2aWV3Qm94PScwIDAgMjUgMjUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xNy45NjQxIDE1Ljc4ODVoLTEuMTE5M2wtLjM4NzItLjM5MDRjMS4zNzk4LTEuNjEwOSAyLjIxMDUtMy43MDQ0IDIuMjEwNS01Ljk5NjYgMC01LjA5NTUtNC4wOTcxLTkuMjI1Ny05LjE1MTQtOS4yMjU3QzQuNDYyMi4xNzU4LjM2NTEgNC4zMDYuMzY1MSA5LjQwMTRjMCA1LjA5NTUgNC4wOTcgOS4yMjU3IDkuMTUxNSA5LjIyNTcgMi4yNzM3IDAgNC4zNTA0LS44Mzc0IDUuOTQ4NC0yLjIyMTJsLjM4NzEuMzkwM3YxLjEyMTNsNy4wMzk2IDcuMDgyNCAyLjA5NzgtMi4xMTQ4LTcuMDI1NS03LjA5NjZabS04LjQ0NzQgMGMtMy40OTg3IDAtNi4zMzU3LTIuODYtNi4zMzU3LTYuMzg3IDAtMy41MjcgMi44MzctNi4zODcgNi4zMzU3LTYuMzg3IDMuNDk4NiAwIDYuMzM1NSAyLjg2IDYuMzM1NSA2LjM4NyAwIDMuNTI3LTIuODM2OSA2LjM4Ny02LjMzNTUgNi4zODdaJyBmaWxsPSclMjMxMTIyMzknLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1zZWFyY2gtcmFkaXVzKSB2YXIoLS1zZWFyY2gtcmFkaXVzKSAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmRzLXByb2dyYW1zX193cmFwIHtcclxuICAgICAgICAuYy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcclxuICAgIC5zaXRlLWhlYWRlcl9fc2VhcmNoIHtcclxuICAgICAgICAvKlx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICByaWdodDogNjBweDsqL1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG92ZXJsYXktYXBwZWFyIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufSIsIi5zaXRlLWhlYWRlciB7XHJcbiAgICAmX19hY2NvdW50IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IHZhcigtLWhlYWRlci1ob3Jpem9udGFsLWdhcCwgMXZ3KTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2UtdGV4dC1mb250KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxNHB4LCAwLjg0dncsIDE2cHgpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tYmFzZS10ZXh0LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgIC8vY29sb3I6ICRncmV5MDE7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYS5kZXNrdG9wLWhlYWRlcixcclxuICAgICAgICAmLWNhcnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLmhvdmVyLWNhcnQge1xyXG4gICAgICAgICAgICAgICAgJj5hIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2xhbXAoMjRweCwgMS41N3Z3LCAyOHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjbGFtcCgyNHB4LCAxLjU3dncsIDI4cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBvcHVwLXNob3cge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDgxcHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTc1cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDMwcHggNjBweCByZ2JhKDAsIDAsIDAsIDAuMTEpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgIC8vYm9yZGVyOiAzcHggc29saWQgJGdyZWVuMDE7XHJcbiAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRiZy1ib2R5O1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzgwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IC0yM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAkZ3JlZW4wMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jYXJ0LXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjVweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tYmFzZS10ZXh0LWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWgyLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRibHVlMDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGJsdWUwMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2UtdGV4dC1mb250KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1iYXNlLXRleHQtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkZ3JleTAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jYXJ0LXByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9ib3JkZXItdG9wOiAycHggc29saWQgJHdoaXRlMDE7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiAkYmctYm9keTtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmOWZiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FydC1wcm9kdWN0LWVkaXQtZGVsZXRlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlMDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGdyZXkwMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNlLXRleHQtZm9udCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYmFzZS10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tYmFzZS10ZXh0LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2UtdGV4dC1mb250KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYmFzZS10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRncmV5MDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wLWxcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIHVzZUZvbnQoT3BlblNhbnMsIDEuNiwgNDAwLCAxLjYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYtYXRyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNlLXRleHQtZm9udCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1iYXNlLXRleHQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi1lZGl0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLW1vbmV5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNlLXRleHQtZm9udCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1iYXNlLXRleHQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkZ3JlZW4wMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLWRlbGV0ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2UtdGV4dC1mb250KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1iYXNlLXRleHQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGJsdWUwMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkYmx1ZTAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2RiNzU3YztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi1zdWJ0b3RhbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAyNXB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYm9yZGVyLXRvcDogMnB4IHNvbGlkICR3aGl0ZTAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2UtdGV4dC1mb250KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYmFzZS10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRncmV5MDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYtc3VtbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tYmFzZS10ZXh0LWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tYmFzZS10ZXh0LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1iYXNlLXRleHQtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGdyZWVuMDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYtb3JkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tYmFzZS10ZXh0LWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1iYXNlLXRleHQtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRiZy1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6ICR2aW9sZXQwMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkYmctYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jYXJ0LXZhbHVlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtOXB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1zZWNvbmRhcnktMik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMTJlbTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYS5kZXNrdG9wLWhlYWRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAub3Blbi1jYXJ0LFxyXG4gICAgICAgIC5kZXNrdG9wLWhlYWRlciB7XHJcbiAgICAgICAgICAgID4uaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiAgICAuc2l0ZS1oZWFkZXJfX2FjY291bnQtY2FydCB7XHJcbiAgICAgICAgLS13Yy1xdWFudGl0eS1pbnB1dC1zaXplOiA1OXB4O1xyXG4gICAgICAgIC5pcy1zdGlja3kgLmNhcnQtcG9wdXAge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4NXZoO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FydC1wb3B1cCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggNDBweCByZ2JhKDg5LCAxMTksIDIxNSwgMC4yKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHktdGV4dC1jb2xvciwgIzMzMzMzMyk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3NXZoO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDMzMHB4O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMjVweDtcclxuICAgICAgICAgICAgdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDE7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNhcnQtcHJvZHVjdHMtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MCU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucG9wdXAtaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTNiOGM7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNtYWxsZXItdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2UtaW4tb3V0IDI1MG1zO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTMnIHZpZXdCb3g9JzAgMCAxMiAxMycgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTkuNzg4MDcgMTEuOTA5OUw2IDguMTIxODNMMi4yMTE5MyAxMS45MDk5QzEuNzk1MjQgMTIuMzI2NiAxLjExMzM5IDEyLjMyNjYgMC42OTY2OTkgMTEuOTA5OUMwLjI4MDAxMSAxMS40OTMyIDAuMjgwMDEyIDEwLjgxMTQgMC42OTY3IDEwLjM5NDdMNC40ODQ3NyA2LjYwNjZMMC42OTY2OTkgMi44MTg1M0MwLjI4MDAxMSAyLjQwMTg0IDAuMjgwMDExIDEuNzE5OTkgMC42OTY2OTkgMS4zMDMzQzEuMTEzMzkgMC44ODY2MTMgMS43OTUyNCAwLjg4NjYxMyAyLjIxMTkzIDEuMzAzM0w2IDUuMDkxMzdMOS43ODgwNyAxLjMwMzNDMTAuMjA0OCAwLjg4NjYxMyAxMC44ODY2IDAuODg2NjEzIDExLjMwMzMgMS4zMDMzQzExLjcyIDEuNzE5OTkgMTEuNzIgMi40MDE4NCAxMS4zMDMzIDIuODE4NTNMNy41MTUyMyA2LjYwNjZMMTEuMzAzMyAxMC4zOTQ3QzExLjcyIDEwLjgxMTQgMTEuNzIgMTEuNDkzMiAxMS4zMDMzIDExLjkwOTlDMTAuODg2NiAxMi4zMjY2IDEwLjIwNDggMTIuMzI2NiA5Ljc4ODA3IDExLjkwOTlaJyBmaWxsPSclMjMyMTNCOEMnLyUzRSUzQy9zdmclM0UlMEFcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc1O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2FydC1wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNXB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnktY29sb3IyKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnktY29sb3IyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1vcmRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgID4qOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc21hbGxlci10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYtYXR0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5LXRleHQtY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi10b3RhbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgODBweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNtYWxsZXItdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmlwdGlvbi1zd2l0Y2gtZGlyZWN0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYtZWRpdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kcy1xdHktYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kcy1idG4tc3ViIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZHMtYnRuLWluYyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLnF1YW50aXR5IC5pdGVtX3F0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXdjLXF1YW50aXR5LWlucHV0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIGlucHV0IGFycm93c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi1kZWxldGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1vcmRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVtb3ZlLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEzJyB2aWV3Qm94PScwIDAgMTIgMTMnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J005Ljc4ODA3IDExLjkwOTlMNiA4LjEyMTgzTDIuMjExOTMgMTEuOTA5OUMxLjc5NTI0IDEyLjMyNjYgMS4xMTMzOSAxMi4zMjY2IDAuNjk2Njk5IDExLjkwOTlDMC4yODAwMTEgMTEuNDkzMiAwLjI4MDAxMiAxMC44MTE0IDAuNjk2NyAxMC4zOTQ3TDQuNDg0NzcgNi42MDY2TDAuNjk2Njk5IDIuODE4NTNDMC4yODAwMTEgMi40MDE4NCAwLjI4MDAxMSAxLjcxOTk5IDAuNjk2Njk5IDEuMzAzM0MxLjExMzM5IDAuODg2NjEzIDEuNzk1MjQgMC44ODY2MTMgMi4yMTE5MyAxLjMwMzNMNiA1LjA5MTM3TDkuNzg4MDcgMS4zMDMzQzEwLjIwNDggMC44ODY2MTMgMTAuODg2NiAwLjg4NjYxMyAxMS4zMDMzIDEuMzAzM0MxMS43MiAxLjcxOTk5IDExLjcyIDIuNDAxODQgMTEuMzAzMyAyLjgxODUzTDcuNTE1MjMgNi42MDY2TDExLjMwMzMgMTAuMzk0N0MxMS43MiAxMC44MTE0IDExLjcyIDExLjQ5MzIgMTEuMzAzMyAxMS45MDk5QzEwLjg4NjYgMTIuMzI2NiAxMC4yMDQ4IDEyLjMyNjYgOS43ODgwNyAxMS45MDk5WicgZmlsbD0nJTIzMjEzQjhDJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uby1wcm9kdWN0cyB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAycmVtIDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDRkZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYy1idG4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNhcnQtcHJvZHVjdHMtc3VidG90YWwge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNtYWxsZXItdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDIwcHggMThweDtcclxuICAgICAgICAgICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyYTNkMjQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLXN1bW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNhcnQtY2hlY2tvdXQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAuYy1ibG9ja19fYnRuIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYy1idG4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC8vICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcclxuICAgICAgICAgICAgLy8gICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIC8vICAgICAmOmJlZm9yZSxcclxuICAgICAgICAgICAgLy8gICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmhvdmVyLWNhcnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDIzcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjEzYjhjO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogOXB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmNhcnQtcG9wdXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcclxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMTNiOGM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY2FydC1wb3B1cCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgLnBvcHVwLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcnQtbm90aWZ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcclxuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc21hbGxlci10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCwgMC44KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgcmdiYSg1MSwgNTEsIDUxLCAwKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzMzMzMzM7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0iLCIvKipcclxuICMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAjICAgTW9kdWxlOiBCQU5ORVJTXHJcbiAjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJiYW5uZXJzL19iYW5uZXJzLWNvcmVcIjtcclxuQGltcG9ydCBcImJhbm5lcnMvX2Jhbm5lcnMtbGF5b3V0XCI7XHJcbkBpbXBvcnQgXCJiYW5uZXJzL19iYW5uZXJzLXNldHRpbmdzXCI7XHJcbkBpbXBvcnQgXCJiYW5uZXJzL2xheW91dHMvY3RhLWJhbm5lclwiO1xyXG5AaW1wb3J0IFwiYmFubmVycy9sYXlvdXRzL2ZpbHRlci1zZWFyY2hcIjtcclxuQGltcG9ydCBcImJhbm5lcnMvbGF5b3V0cy9nYXRld2F5LWhlcm9cIjsiLCIvKipcclxuICMjIyMjIyMjIyMjIyMjIyNcclxuICMgICBNb2R1bGUgQkFOTkVSUzogQ29yZVxyXG4gIyMjIyMjIyMjIyMjIyMjI1xyXG4gKi9cclxuXHJcbi5tLWJhbm5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtLXNlYXJjaC1oZWlnaHQ6IDYwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAtLXNlYXJjaC1yYWRpdXM6IDQ1cHg7XHJcbiAgICAtLXNlYXJjaC13aWR0aDogMjAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWJhbm5lckhlaWdodCwgYXV0byk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwdmg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlYXJjaC1maWVsZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIC5zZWFyY2gtc3VibWl0IHt9XHJcbiAgICB9XHJcbiAgICAmX19tZWRpYSB7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyxcclxuICAgICAgICBwaWN0dXJlLFxyXG4gICAgICAgIHZpZGVvLFxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5oYXMtb3ZlcmxheSAmIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGFzLW92ZXJsYXkodmFyKC0tb3ZlcmxheS1jb2xvciksIHZhcigtLW92ZXJsYXktb3BhY2l0eSkpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpeGVkLWhlYWRlci5zaW5nbGUtcHJvZHVjdCAmIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAmLmhlYWRlci1sYXAge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAubS1iYW5uZXJfX2lubmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi4tYWR2YW5jZWQsXHJcbiAgICAmLi1oZXJvLXdjIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42MzcxNTMpIDM2LjI4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjRkZGRkZGIDAlLCAjRkZGRkZGIDI3LjQzJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSA0Ny43NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkgNzIuNTElLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTkpIDg1LjU5JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZGRkZGRiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYzNzE1MykgMzYuMjglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygyNSUgKyB2YXIoLS1oZWFkZXItaGlnaHQpKTtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMjQ1LCAyNTAsIDI1NCwgMCkgMCUsICNmNWZhZmUgMTAwJSk7XHJcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgyNDUsIDI1MCwgMjU0LCAwKSAwJSwgI2Y1ZmFmZSAxMDAlKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI0NSwgMjUwLCAyNTQsIDApIDAlLCAjRjVGQUZFIDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAyMS44OSUsICNGRkZGRkYgOTcuOTglKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsICNGRkZGRkYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNDkuODElKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MCU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5uby1ncmFkaWVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqKioqKioqKioqKioqKipcclxuICAgICAqKiAgVmFyaWF0aW9uc1xyXG4gICAgICoqKioqKioqKioqKioqKlxyXG4gICAgICogIC5tLWJhbm5lci0tc21hbGwsIC0tbWVkaXVtLCAtLWZ1bGxcclxuICAgICAqL1xyXG4gICAgJi4taGVyby13YyB7XHJcbiAgICAgICAgLS1iYW5uZXJIZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICAmOmFmdGVyLFxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjBweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjQ1LCAyNTAsIDI1NCwgMCkgMCUsICNmNWZhZmUgMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaW5nbGUgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIC5sLWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogY2xhbXAoNTBweCwgM3Z3LCAxNTBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgICAgICAgICAgICYuaGVhZGVyLWxhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm0tYmFubmVyX19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAubC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWJhbm5lci10b3AtcGFkZGluZywgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sLWJhbm5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDYwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hcmNoaXZlICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm0tYmFubmVyIHtcclxuICAgICAgICAgICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubm8tZ3JhZGllbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgLy8gJjphZnRlcixcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5oYXMtb3ZlcmxheSB7XHJcbiAgICAgICAgICAgICAgICAubS1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICZfX21lZGlhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnNpbmdsZS1wcm9kdWN0ICYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3ZlcmxheS1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLi1zaW1wbGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExNzcnIGhlaWdodD0nNDk2JyB2aWV3Qm94PScwIDAgMTE3NyA0OTYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NtYXNrIGlkPSdhJyBzdHlsZT0nbWFzay10eXBlOmFscGhhJyBtYXNrVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyB4PScwJyB5PScwJyB3aWR0aD0nMTE3NycgaGVpZ2h0PSc0OTYnJTNFJTNDcGF0aCBkPSdNMCAwaDExNzd2NDk2SDBWMFonIGZpbGw9JyUyM0M0QzRDNCcvJTNFJTNDL21hc2slM0UlM0NnIG9wYWNpdHk9Jy4xJyBtYXNrPSd1cmwoJTIzYSknJTNFJTNDcmVjdCB4PScyMjQnIHk9JzMzLjU2MTknIHdpZHRoPScxNjAuNjAxJyBoZWlnaHQ9JzM2Ni4wMicgcng9JzgwLjMwMDQnIHRyYW5zZm9ybT0ncm90YXRlKC00NSAyMjQgMzMuNTYxOSknIGZpbGw9JyUyMzI0NTVDOScvJTNFJTNDcmVjdCB4PSc5NTInIHk9JzUzMi43MDknIHdpZHRoPScxNjAuNjAxJyBoZWlnaHQ9JzM2Ni4wMicgcng9JzgwLjMwMDQnIHRyYW5zZm9ybT0ncm90YXRlKDEzNSA5NTIgNTMyLjcwOSknIGZpbGw9JyUyM0VCOEIzNCcvJTNFJTNDcmVjdCB3aWR0aD0nMTYwLjYwMScgaGVpZ2h0PSczNjYuMDInIHJ4PSc4MC4zMDA0JyB0cmFuc2Zvcm09J3NjYWxlKC0xIDEpIHJvdGF0ZSgtNDUgLTQzNS40ODcgMTE2NS45NDYyKScgZmlsbD0nJTIzODFCMjVDJy8lM0UlM0NyZWN0IHdpZHRoPScxNjAuNjAxJyBoZWlnaHQ9JzM2Ni4wMicgcng9JzgwLjMwMDQnIHRyYW5zZm9ybT0nc2NhbGUoMSAtMSkgcm90YXRlKC00NSAtNTMxLjAzNjUgLTUzNi43NDYzKScgZmlsbD0nJTIzNUUzMjhCJy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExNzcnIGhlaWdodD0nNDk2JyB2aWV3Qm94PScwIDAgMTE3NyA0OTYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NtYXNrIGlkPSdhJyBzdHlsZT0nbWFzay10eXBlOmFscGhhJyBtYXNrVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyB4PScwJyB5PScwJyB3aWR0aD0nMTE3NycgaGVpZ2h0PSc0OTYnJTNFJTNDcGF0aCBkPSdNMCAwaDExNzd2NDk2SDBWMFonIGZpbGw9JyUyM0M0QzRDNCcvJTNFJTNDL21hc2slM0UlM0NnIG9wYWNpdHk9Jy41JyBtYXNrPSd1cmwoJTIzYSknJTNFJTNDcmVjdCB4PScyMjQnIHk9JzMzLjU2MTknIHdpZHRoPScxNjAuNjAxJyBoZWlnaHQ9JzM2Ni4wMicgcng9JzgwLjMwMDQnIHRyYW5zZm9ybT0ncm90YXRlKC00NSAyMjQgMzMuNTYxOSknIGZpbGw9JyUyMzI0NTVDOScvJTNFJTNDcmVjdCB4PSc5NTInIHk9JzUzMi43MDknIHdpZHRoPScxNjAuNjAxJyBoZWlnaHQ9JzM2Ni4wMicgcng9JzgwLjMwMDQnIHRyYW5zZm9ybT0ncm90YXRlKDEzNSA5NTIgNTMyLjcwOSknIGZpbGw9JyUyM0VCOEIzNCcvJTNFJTNDcmVjdCB3aWR0aD0nMTYwLjYwMScgaGVpZ2h0PSczNjYuMDInIHJ4PSc4MC4zMDA0JyB0cmFuc2Zvcm09J3NjYWxlKC0xIDEpIHJvdGF0ZSgtNDUgLTQzNS40ODcgMTE2NS45NDYyKScgZmlsbD0nJTIzODFCMjVDJy8lM0UlM0NyZWN0IHdpZHRoPScxNjAuNjAxJyBoZWlnaHQ9JzM2Ni4wMicgcng9JzgwLjMwMDQnIHRyYW5zZm9ybT0nc2NhbGUoMSAtMSkgcm90YXRlKC00NSAtNTMxLjAzNjUgLTUzNi43NDYzKScgZmlsbD0nJTIzNUUzMjhCJy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTUwJSAxNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNDUsIDI1MCwgMjU0LCAwKSAwJSwgI2Y1ZmFmZSAxMDAlKTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLi1sZWZ0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgLmwtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLi1jZW50ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC5sLWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgJi4taDEge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1oZXJvIHtcclxuICAgICAgICAuaG9tZSAmIHtcclxuICAgICAgICAgICAgLS1oMS1mb250LXNpemU6IDcuNXJlbTtcclxuICAgICAgICAgICAgLS1oMS1tYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ibG9nICYge1xyXG4gICAgICAgICAgICAtLWgxLW1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sLWJhbm5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAuaG9tZSAmLFxyXG4gICAgICAgICAgICAgICAgLmFyY2hpdmUgJixcclxuICAgICAgICAgICAgICAgIC5ibG9nICYsXHJcbiAgICAgICAgICAgICAgICAucGFnZS1jb250YWN0ICYsXHJcbiAgICAgICAgICAgICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRlbXBsYXRlLWluZGl2aWR1YWwgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MyU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmhvbWU6bm90KC5ibG9nKSAmIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubS1iYW5uZXJfX21lZGlhIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmMtaGVhZGluZ19fc3ViIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYy1oZWFkaW5nX19idG4ge1xyXG4gICAgICAgICAgICAuYy1idG4ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi4tYWR2YW5jZWQge1xyXG4gICAgICAgICAgICAtLWJhbm5lckhlaWdodDogdmFyKC0tYmFubmVyLWhlaWdodC0tZnVsbCwgMTAwdmgpO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3MHZoO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgICAgICAgICAgICYuaGVhZGVyLWxhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm0tYmFubmVyX19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTB2aDtcclxuXHJcbiAgICAgICAgICAgICAgICAubC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCdwb3J0cmFpdCcpIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1heC1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tLWJhbm5lcl9fY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAuaG9tZSAmIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tLWJhbm5lcl9fbWVkaWEge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDQ1JTtcclxuICAgICAgICAgICAgICAgICAgICAuaG9tZSAmIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAzMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMzAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjQ1LCAyNTAsIDI1NCwgMCkgMCUsICNmOGZjZmYgMTAwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjUlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDI0NSwgMjUwLCAyNTQsIDApIDAlLCAjZjhmY2ZmIDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjUlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sLXRicGFuZWwge1xyXG4gICAgICAgICAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNsYW1wKDEwcHgsIDEuNTd2dywgMzBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJl9fbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi4tc2ltcGxlIHtcclxuICAgICAgICAgICAgLS1iYW5uZXJIZWlnaHQ6IDQ5NnB4O1xyXG4gICAgICAgICAgICAudGF4LXByb2R1Y3RfY2F0ICYge1xyXG4gICAgICAgICAgICAgICAgLS1iYW5uZXJIZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuLWNlbnRlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAubC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAmLS1ibG9nIHtcclxuICAgICAgICAgICAgLS1iYW5uZXJIZWlnaHQ6IHZhcigtLWJhbm5lci1oZWlnaHQtLWJsb2csIDQyMHB4KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1zbWFsbCB7XHJcbiAgICAgICAgICAgIC0tYmFubmVySGVpZ2h0OiB2YXIoLS1iYW5uZXItaGVpZ2h0LS1zbWFsbCwgMzAwcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1tZWRpdW0ge1xyXG4gICAgICAgICAgICAtLWJhbm5lckhlaWdodDogdmFyKC0tYmFubmVyLWhlaWdodC0tbWVkaXVtLCA0NTBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLWZ1bGwge1xyXG4gICAgICAgICAgICAtLWJhbm5lckhlaWdodDogdmFyKC0tYmFubmVyLWhlaWdodC0tZnVsbCwgMTAwdmgpO1xyXG4gICAgICAgICAgICAubS1iYW5uZXJfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYrLnByb2R1Y3QtdGFicyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5oZXJvLXByb2R1Y3QtY2FyZHMge1xyXG5cclxuICAgICAgICAubC1iYW5uZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTQ1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAuY3RhLWJsb2NrcyB7XHJcbiAgICAgICAgJi5ib3hlcyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdhcDogMjRweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY3RhLWJsb2NrIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDIwcHggNjBweCAwIHJnYmEoMTcsIDMyLCA3MCwgMC4yKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUsICNmZmZmZmYpO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJiArIC5jdGEtYmxvY2sge1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS1ibG9jayB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYy1idG4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmdlbmVyYWwtYmctbG9nbysubS1iYW5uZXIuLWhlcm8td2Mge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn0iLCIvLyBjbGVhcmZpeFxyXG5AbWl4aW4gY2xlYXJmaXgoKSB7XHJcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtZGF0YSgkc2l6ZTogZmFsc2UsICRsaDogZmFsc2UsICR3ZWlnaHQ6IGZhbHNlLCAkZm9udDogZmFsc2UpIHtcclxuICAgIEBpZiAkc2l6ZSB7IGZvbnQtc2l6ZTogJHNpemU7IH1cclxuICAgIEBpZiAkbGggeyBsaW5lLWhlaWdodDogJGxoOyB9XHJcbiAgICBAaWYgJHdlaWdodCB7IGZvbnQtd2VpZ2h0OiAkd2VpZ2h0OyB9XHJcbiAgICBAaWYgJGZvbnQgeyBmb250LWZhbWlseTogJGZvbnQ7IH1cclxufVxyXG5cclxuQG1peGluIGhhcy1vdmVybGF5KCRiZzogZmFsc2UsICRvcGFjaXR5OiBmYWxzZSkge1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY292ZXItYmFja2dyb3VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxufVxyXG5cclxuLy8gcm90YXRlXHJcbkBtaXhpbiByb3RhdGUoJGRlZykge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgjeyRkZWd9ZGVnKSk7XHJcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHNjYWxlXHJcbkBtaXhpbiBzY2FsZSgkeCwkeSkge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCR4LCAkeSkpO1xyXG59XHJcblxyXG4vLyB0cmFuc2xhdGVcclxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoJHgsICR5KSk7XHJcbn1cclxuXHJcbi8vIHNrZXdcclxuQG1peGluIHNrZXcoJHgsICR5KSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygjeyR4fWRlZywgI3skeX1kZWcpKTtcclxuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgfVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgfVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgQGNvbnRlbnRcclxuICAgIH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cclxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcbiIsIi8qKlxyXG4gIyMjIyMjIyMjIyMjIyMjI1xyXG4gIyAgIE1vZHVsZSBCQU5ORVJTOiBCYXNlIExheW91dFxyXG4gIyMjIyMjIyMjIyMjIyMjI1xyXG4gKi9cclxuXHJcbi5sLWJhbm5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctdG9wOiB2YXIoLS1iYW5uZXItdG9wLXBhZGRpbmcsIDApO1xyXG5cdHBhZGRpbmctYm90dG9tOiAgdmFyKC0tYmFubmVyLWJvdC1wYWRkaW5nLCAwKTtcclxuXHR6LWluZGV4OiAyO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJykge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Jl9fbWVkaWEge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG5cdFx0XHRmbGV4OiAxIDEgYXV0bztcclxuXHRcdH1cclxuXHRcdC5jLWltYWdlIHtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5tLWJhbm5lciB7XHJcblxyXG59XHJcblxyXG5cclxuIiwiLyogQmFubmVycyAqL1xyXG5cclxuLm0tYmFubmVyIHtcclxuICAgIC0tYmFubmVyLWhlaWdodC0tc21hbGw6IDMwMHB4O1xyXG4gICAgLS1iYW5uZXItaGVpZ2h0LS1tZWRpdW06IDY1MHB4O1xyXG4gICAgLS1iYW5uZXItaGVpZ2h0LS1ibG9nOiA0MDBweDtcclxuICAgIC0tYmFubmVyLWhlaWdodC0tZnVsbDogNzB2aDtcclxuICAgIC0tYmFubmVyLXRvcC1wYWRkaW5nOiA1dm1pbjtcclxuICAgIC0tYmFubmVyLWJvdC1wYWRkaW5nOiA1dm1pbjtcclxufSIsIi5jdGEtYmFubmVyIHtcclxuICAgIC0taDItZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICZfX3dyYXAge1xyXG4gICAgICAgICYuLWJsdWUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWxvZ28tZGFyayk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVERDU3O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM1JTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAvL2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSksICNGNURENTc7XHJcbiAgICBib3JkZXItcmFkaXVzOiBjbGFtcCgxMHB4LCAxLjA1dncsIDIwcHgpO1xyXG4gICAgbWF4LXdpZHRoOiA5NTBweDtcclxuICAgIHBhZGRpbmc6IGNsYW1wKDI1cHgsIDIuNnZ3LCA1MHB4KTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLmMtaGVhZGluZ19fdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmMtYnRuLi1zZWNvbmRhcnk6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ0bi1zZWNvbmRhcnktYmcpO1xyXG4gICAgfVxyXG59IiwiLmMtaGVhZGluZ19fYnRuKy5maWx0ZXItc2VhcmNoIHtcclxuICAgIG1hcmdpbi10b3A6IDJlbTtcclxufVxyXG5cclxuLmZpbHRlci1zZWFyY2gge1xyXG4gICAgLS1jLWJsb2NrLWJnOiB0cmFuc3BhcmVudDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLm0tdGFicyB7XHJcbiAgICAgICAgLS10YnBhbmVsLXBhZGRpbmc6IDM1cHg7XHJcbiAgICB9XHJcbiAgICAubC10Ym5hdiB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAmLnByb2R1Y3QtdGFicyAuYy10Ym5hdl9fbGFiZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDFlbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sLXRicGFuZWwge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGNsYW1wKDEwcHgsIDEuMDV2dywgMjBweCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgLmwtdGJwYW5lbF9faXRlbSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmwtdGJwYW5lbF9fbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jLWJsb2NrIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAucHQtcGFuZWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuZmlsdGVyLXNlYXJjaC1ib3gge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzNXB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGN0Y3Rjc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgJl9fc2VsZWN0IHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICB3aWR0aDogNDQlO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI0RCRTBFRDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAjZGF0YS10YWItZmlsdGVyLTEgJiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGVjdCxcclxuICAgICAgICAuc2VsZWN0MiB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kcm9wZG93bi1saXN0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19idG4ge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmMtYnRuIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICZfX3R4dCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmX19pY28ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmMtYnRuX19pY28ge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXQsXHJcbiAgICBzZWxlY3QsXHJcbiAgICBidXR0b24sXHJcbiAgICAuc2VsZWN0MiB7XHJcbiAgICAgICAgaGVpZ2h0OiBjbGFtcCg0NXB4LCAzLjEydncsIDYwcHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlbGVjdDItY29udGFpbmVyIHtcclxuICAgICAgICAmLnNlbGVjdDIge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuM3JlbSwgMC45NXZ3LCAxLjhyZW0pO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAxLjF2dywgMi4xcmVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2xhbXAoMTBweCwgMS4wNXZ3LCAyMHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmJ0bjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgY3VycmVudENvbG9yO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgY3VycmVudENvbG9yO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDJweDtcclxuICAgICAgICAgICAgICAgIHRvcDogNDYlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1pbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xyXG4gICAgICAgICAgICAmLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzVweDtcclxuICAgICAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJl9fcmVuZGVyZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogY2xhbXAoNDVweCwgMy4xMnZ3LCA2MHB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcclxuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qKlxyXG4gKiBCYW5uZXIgTGF5b3V0OiBHYXRld2F5IEhlcm9cclxuICpcclxuICogRXh0ZW5kcyB0aGUgYmFzZSAubS1iYW5uZXIgc3R5bGVzIHdpdGggdGhlIHR3by1idXR0b24gXCJXaG8gd2Ugc2VydmVcIlxyXG4gKiBhdWRpZW5jZSBzZWdtZW50YXRpb24gbGF5b3V0LlxyXG4gKi9cclxuXHJcbi5tLWJhbm5lci0tZ2F0ZXdheSB7XHJcbiAgICAuZ2F0ZXdheS1oZXJvX19jdGFzIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAxMnB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdhdGV3YXktaGVyb19fbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLmdhdGV3YXktaGVyb19fYnRuIHtcclxuICAgICAgICBtaW4td2lkdGg6IDIyMHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIEhlYWRpbmcgQ29tcG9uZW50ICovXHJcblxyXG5AaW1wb3J0IFwiaGVhZGluZ3MvX2hlYWRpbmdzLWNvcmVcIjtcclxuQGltcG9ydCBcImhlYWRpbmdzL19oZWFkaW5ncy1sYXlvdXRzXCI7IiwiLyoqXHJcbiAqIEhFQURJTkcgTW9kdWxlXHJcbiAqXHJcbiAqIFN0YW5kYWxvbmUgaGVhZGluZyBzZWxlY3RvcnMsIHRpdGxlLCBwcmUvc3ViLXRpdGxlXHJcbiAqXHJcbiAqL1xyXG5cclxuLi1oMSB7XHJcblx0bGluZS1oZWlnaHQ6IHZhcigtLWgxLWxpbmUtaGVpZ2h0LCAxKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0taDEtZm9udC13ZWlnaHQsIDYwMCk7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWgxLWZvbnQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWgxLW1hcmdpbi1ib3R0b20sIC41ZW0pO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB2YXIoLS1oMS10ZXh0LXRyYW5zZm9ybSk7XHJcblx0bGV0dGVyLXNwYWNpbmc6IHZhcigtLWgxLWxldHRlci1zcGFjaW5nLCAwKTtcclxuXHRmb250LXNpemU6IGNsYW1wKHZhcigtLWgxLWZvbnQtc2l6ZS1tb2JpbGUpLCA0LjV2dywgdmFyKC0taDEtZm9udC1zaXplKSk7XHJcblx0Y29sb3I6IHZhcigtLXRpdGxlcy1jb2xvcik7XHJcblx0LmNvbG9ycy1pbnZlcnRlZCAmIHtcclxuXHRcdGNvbG9yOiB2YXIoLS10aXRsZXMtY29sb3ItYWx0KTtcclxuXHR9XHJcblx0LmMtaGVhZGluZ19fc3ViIHtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAodmFyKC0taDEtc3VidGl0bGUtZm9udC1zaXplLW1vYmlsZSwgMThweCksIDEuMzU0dncsIHZhcigtLWgxLXN1YnRpdGxlLWZvbnQtc2l6ZSwgMi42cmVtKSk7XHJcblx0fVxyXG59XHJcbi4taDIsIC5pcy13eXNpd3lnIGgyIHtcclxuXHRsaW5lLWhlaWdodDogdmFyKC0taDItbGluZS1oZWlnaHQsIDEpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCwgNjAwKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0taDItZm9udCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHZhcigtLWgyLXRleHQtdHJhbnNmb3JtKTtcclxuXHRsZXR0ZXItc3BhY2luZzogdmFyKC0taDItbGV0dGVyLXNwYWNpbmcsIDApO1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAodmFyKC0taDItZm9udC1zaXplLW1vYmlsZSksIDIuODJ2dywgdmFyKC0taDItZm9udC1zaXplKSk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0taDItbWFyZ2luLWJvdHRvbSwgLjVlbSk7XHJcblx0LmMtaGVhZGluZ19fc3ViIHtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAodmFyKC0taDItc3VidGl0bGUtZm9udC1zaXplLW1vYmlsZSwgMTZweCksIDEuMTQ2dncsIHZhcigtLWgyLXN1YnRpdGxlLWZvbnQtc2l6ZSwgMi4ycmVtKSk7XHJcblx0fVxyXG59XHJcbi4taDMsIC5pcy13eXNpd3lnIGgzIHtcclxuXHRsaW5lLWhlaWdodDogdmFyKC0taDMtbGluZS1oZWlnaHQsIDEpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1oMy1mb250LXdlaWdodCwgNjAwKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0taDMtZm9udCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHZhcigtLWgzLXRleHQtdHJhbnNmb3JtKTtcclxuXHRsZXR0ZXItc3BhY2luZzogdmFyKC0taDMtbGV0dGVyLXNwYWNpbmcsIDApO1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAodmFyKC0taDMtZm9udC1zaXplLW1vYmlsZSksIDEuNTd2dywgdmFyKC0taDMtZm9udC1zaXplKSk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0taDMtbWFyZ2luLWJvdHRvbSwgLjVlbSk7XHJcbn1cclxuLi1oNCwgLmlzLXd5c2l3eWcgaDQge1xyXG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1oNC1saW5lLWhlaWdodCwgMSk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWg0LWZvbnQtd2VpZ2h0LCA2MDApO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1oNC1mb250KTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0taDQtdGV4dC10cmFuc2Zvcm0pO1xyXG5cdGxldHRlci1zcGFjaW5nOiB2YXIoLS1oNC1sZXR0ZXItc3BhY2luZywgMCk7XHJcblx0Zm9udC1zaXplOiBjbGFtcCh2YXIoLS1oNC1mb250LXNpemUtbW9iaWxlKSwgMS4xdncsIHZhcigtLWg0LWZvbnQtc2l6ZSkpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWg0LW1hcmdpbi1ib3R0b20sIC41ZW0pO1xyXG59XHJcblxyXG4uYy1oZWFkaW5nIHtcclxuXHQmX190aXRsZSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0XHRmb250LXdlaWdodDogaW5oZXJpdDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xyXG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdFx0Y29sb3I6IHZhcigtLXRpdGxlcy1jb2xvcik7XHJcblxyXG5cdFx0LmNvbG9ycy1pbnZlcnRlZCAmIHtcclxuXHRcdFx0Y29sb3I6IHZhcigtLXRpdGxlcy1jb2xvci1hbHQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tdGl0bGVzLWNvbG9yLWFjY2VudCk7XHJcblx0XHR9XHJcblxyXG5cdFx0LnRleHQtY2VudGVyICYge1xyXG5cdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX3ByZSB7XHJcblx0XHRjb2xvcjogdmFyKC0tcHJldGl0bGUtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IyKSk7XHJcblx0XHRsaW5lLWhlaWdodDogdmFyKC0tcHJldGl0bGUtbGluZS1oZWlnaHQsIDEuNCk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogdmFyKC0tcHJldGl0bGUtbGV0dGVyLXNwYWNpbmcsIDApO1xyXG5cdFx0bWFyZ2luOiB2YXIoLS1wcmV0aXRsZS1tYXJnaW4tYm90dG9tLCAuNWVtKSAwO1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLXByZXRpdGxlLWZvbnQpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLXByZXRpdGxlLWZvbnQtd2VpZ2h0LCA1MDApO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHZhcigtLXByZXRpdGxlLXRleHQtdHJhbnNmb3JtKTtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tcHJldGl0bGUtZm9udC1zaXplLW1vYmlsZSwgMThweCksIDIuMjV2dywgdmFyKC0tcHJldGl0bGUtZm9udC1zaXplLCAyLjRyZW0pKTtcclxuXHRcdC5jb2xvcnMtaW52ZXJ0ZWQgJixcclxuXHRcdC5zdHlsZS1kYXJrICYge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tcHJldGl0bGUtY29sb3ItYWx0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX3N1YiB7XHJcblx0XHRjb2xvcjogdmFyKC0tc3VidGl0bGUtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IyKSk7XHJcblx0XHRsaW5lLWhlaWdodDogdmFyKC0tc3VidGl0bGUtbGluZS1oZWlnaHQsIDEuNCk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogdmFyKC0tc3VidGl0bGUtbGV0dGVyLXNwYWNpbmcsIDApO1xyXG5cdFx0bWFyZ2luOiB2YXIoLS1zdWJ0aXRsZS1tYXJnaW4tYm90dG9tLCAuNWVtKSAwO1xyXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLXN1YnRpdGxlLWZvbnQpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLXN1YnRpdGxlLWZvbnQtd2VpZ2h0LCA1MDApO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHZhcigtLXN1YnRpdGxlLXRleHQtdHJhbnNmb3JtKTtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tc3VidGl0bGUtZm9udC1zaXplLW1vYmlsZSwgMTZweCksIDEuMTQ2dncsIHZhcigtLXN1YnRpdGxlLWZvbnQtc2l6ZSwgMi40cmVtKSk7XHJcblxyXG5cdFx0LmNvbG9ycy1pbnZlcnRlZCAmLFxyXG5cdFx0LnN0eWxlLWRhcmsgJiB7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1zdWJ0aXRsZS1jb2xvci1hbHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fdGV4dCB7XHJcblx0XHRmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqICMuIyBNb2RpZmllcnNcclxuXHQgKi9cclxuXHJcblx0LnRleHQtY2VudGVyICYge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQmLi1zbWFsbCB7XHJcblxyXG5cdFx0Ji4taDIge1xyXG5cdFx0XHQtLWgyLWZvbnQtc2l6ZTogM3JlbTtcclxuXHRcdFx0LS1oMi1tYXJnaW4tYm90dG9tOiAzMnB4O1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG59XHJcbiIsIi8qIEhlYWRpbmcgTGF5b3V0ICovXHJcblxyXG4ubC1oZWFkaW5nLXYxIHtcclxuXHJcbn1cclxuXHJcbi5sLWhlYWRpbmctdjIge1xyXG5cclxuXHQtLWgyLWxldHRlci1zcGFjaW5nOiAuMWVtO1xyXG5cdC0taDItZm9udDogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XHJcblx0LS1oMi1mb250LXdlaWdodDogNTAwO1xyXG5cdC0taDItdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblx0LS1wcmV0aXRsZS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcblx0LS1wcmV0aXRsZS1mb250LXNpemU6IDJyZW07XHJcblx0LS1wcmV0aXRsZS1sZXR0ZXItc3BhY2luZzogMDtcclxuXHJcblx0LS1zdWJ0aXRsZS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG5cdC0tc3VidGl0bGUtZm9udC1zaXplOiAxLjhyZW07XHJcblx0LS1zdWJ0aXRsZS1sZXR0ZXItc3BhY2luZzogMDtcclxuXHJcblx0LS1oMi1mb250LXNpemU6IDIuOHJlbTtcclxuXHJcblx0LmMtaGVhZGluZ19fdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAyLjhyZW07XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG4gIyAgIEJ1dHRvbnMgQ29tcG9uZW50XHJcbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKioqKioqKioqKioqKlxyXG4gKiogIENvcmVcclxuICoqKioqKioqKioqKipcclxuICogIENvbW1vbiBwcm9wZXJ0aWVzIG9mIGJ1dHRvbnNcclxuICovXHJcblxyXG5AaW1wb3J0IFwiYnV0dG9ucy9idXR0b25zLWNvcmVcIjsiLCIvKiogQnV0dG9ucyBDb3JlIENvbXBvbmVudCAqL1xyXG5cclxuLmJ0biB7XHJcbiAgICAtLWJ0bi1pY28tY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIC0taWNvbi1zaGlmdDogMTBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxufVxyXG5cclxuLmMtYnRuIHtcclxuICAgIEBleHRlbmQgLmJ0bjtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tYnRuLWZvbnQtc2l6ZSwgMS44cmVtKTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1idG4tZm9udC1mYW1pbHkpO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWJ0bi10ZXh0LXRyYW5zZm9ybSwgbm9uZSk7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tYnRuLWZvbnQtd2VpZ2h0LCA0MDApO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1idG4tYm94LXNoYWRvdywgbm9uZSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1idG4tYm9yZGVyLXJhZGl1cywgMCk7XHJcbiAgICBtYXJnaW46IDJweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1idG4tcGFkZGluZy10b3AtYm90dG9tLCAxMHB4KSB2YXIoLS1idG4tcGFkZGluZy1sZWZ0LXJpZ2h0LCAyMHB4KTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuICAgID5zcGFuIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogMDtcclxuICAgIH1cclxuICAgICYuLW1vcmUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMScgaGVpZ2h0PSc2JyB2aWV3Qm94PScwIDAgMTEgNicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTUuNDk5NzIgMy42NzkyNUwxLjc5MTM2IDAuMjc5NzVDMS4zODExNSAtMC4wOTMyNTA0IDAuNzE3NDUxIC0wLjA5MzI1MDQgMC4zMDcyNDQgMC4yNzk3NDlDLTAuMTAyNDE0IDAuNjU2NzQ5IC0wLjEwMjQxNCAxLjI2NTc1IDAuMzA3MjQ0IDEuNjQyNzVMNC43NTc5NCA1LjcyMDI1QzUuMTY4MTUgNi4wOTMyNSA1LjgzMjQgNi4wOTMyNSA2LjI0MjA2IDUuNzIwMjVMMTAuNjkyOCAxLjY0Mjc1QzExLjEwMyAxLjI2NTc1IDExLjEwMTkgMC42NTY3NSAxMC42OTI4IDAuMjc5NzVDMTAuMjgzMSAtMC4wOTMyNSA5LjYxOTQgLTAuMDkzMjUwMSA5LjIwOTE5IDAuMjc5NzVMNS40OTk3MiAzLjY3OTI1WicgZmlsbD0nJTIzMzM5N0VGJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICAuaXMtYWN0aXZlICYge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qIEJ1dHRvbiBWaXN1YWwgVmFyaWFudHMgKi9cclxuICAgICYuLXByaW1hcnksXHJcbiAgICAmLi1zZWNvbmRhcnkge1xyXG4gICAgICAgIC5jLWJ0bl9faWNvIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1idG4tcGFkZGluZy1sZWZ0LXJpZ2h0LCAyMHB4KSAvIDIpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLi1wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1iZyk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICBib3JkZXI6IHZhcigtLWJ0bi1wcmltYXJ5LWJvcmRlcikgc29saWQgdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyLWNvbG9yKTtcclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWJnLWhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWJvcmRlci1jb2xvci1ob3ZlcilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLi13aGl0ZSB7XHJcbiAgICAgICAgICAgIC0tYnRuLXByaW1hcnktYmc6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi4tc2Vjb25kYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWJnKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1jb2xvcik7XHJcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWJvcmRlcikgc29saWQgdmFyKC0tYnRuLXNlY29uZGFyeS1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1iZy1ob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yLWhvdmVyKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWJnLWhvdmVyKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1zZWNvbmRhcnktY29sb3ItaG92ZXIpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yLWhvdmVyKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuLWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1idG4tbGluay1jb2xvcik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgLmMtYnRuX19pY28ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpbmstaWNvbi1jb2xvciwgY3VycmVudENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdmcsXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLWxpbmstY29sb3ItaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qICAgICAgICAmLmljb24tbGVmdCB7XHJcbiAgICAgICAgICAgIC5jLWJ0bl9faWNvIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSovXHJcbiAgICB9XHJcbiAgICAvKiBCdXR0b24gU2l6ZSBWYXJpYW50cyAqL1xyXG4gICAgJi4tc21hbGwge1xyXG4gICAgICAgIC0tYnRuLXBhZGRpbmctbGVmdC1yaWdodDogMjBweDtcclxuICAgICAgICAtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi4tbGFyZ2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICB9XHJcbiAgICAvKiBCdXR0b24gSWNvbiAqL1xyXG4gICAgJl9faWNvIHtcclxuICAgICAgICBtaW4td2lkdGg6IDQwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgZmlsdGVyIHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIG9wYWNpdHkgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3ZnLFxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMS41ZW07XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLWJ0bi1pY28tY29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLWljby1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBmaWx0ZXIgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgb3BhY2l0eSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pY29uLXJpZ2h0IHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIC5jLWJ0bl9faWNvIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWJ0bi1wYWRkaW5nLWxlZnQtcmlnaHQsIDIwcHgpIC8gMik7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuYy1idG5fX2ljbyAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmljb24tcmV2ZXJzZWQge1xyXG4gICAgICAgIC8vdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xyXG4gICAgfVxyXG4gICAgLmMtYnRuLWJhciAmIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmMtYnRuX19pY28ge1xyXG4gICAgICAgICAgICAgICAgLmljb246bm90KC5pY29uLXNob3BwaW5nLWNhcnQpOm5vdCguaWNvbi1zZWFyY2gpIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5pY29uLXJldmVyc2VkIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCkgc2NhbGVYKC0xKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubG9hZGluZyB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC8vIC5jLWJ0bl9faWNvIHtcclxuICAgICAgICAgICAgLy8gICAgIHRyYW5zZm9ybS1vcmlnaW46IDgyJTtcclxuICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA5MiU7XHJcbiAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLmMtYnRuX19pY28ge1xyXG4gICAgICAgICAgICAgICAgLy8gYW5pbWF0aW9uOiByb3RhdGlvbiAxcyBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2OSU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNzUlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jLWJ0bl9faWNvIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiByb3RhdGlvbiAxcyBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDY5JTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNzUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0aW9uIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBDRjcgU3VibWl0IEJ1dHRvbiAqL1xyXG5cclxuLndwY2Y3LXN1Ym1pdCxcclxuLmdmb3JtX2J1dHRvbixcclxuLm0tYmFubmVyIC5zZWFyY2gtc3VibWl0IHtcclxuICAgIEBleHRlbmQgLmMtYnRuLFxyXG4gICAgLi1wcmltYXJ5O1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1idG4tZm9udC1zaXplLCAxLjhyZW0pO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWJ0bi1mb250LWZhbWlseSk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tYnRuLXRleHQtdHJhbnNmb3JtLCBub25lKTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1idG4tZm9udC13ZWlnaHQsIDQwMCk7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1idG4tYm94LXNoYWRvdywgbm9uZSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1idG4tYm9yZGVyLXJhZGl1cywgMCk7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1idG4tcGFkZGluZy10b3AtYm90dG9tKSB2YXIoLS1idG4tcGFkZGluZy1sZWZ0LXJpZ2h0KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMnB4IHJnYmEoMCwgNywgNjMsIDAuMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3NvLWxvZ2luIHtcclxuICAgIC5zaG9ydGNvZGUtd3JhcCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5jLWJ0biB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyoqXHJcbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAjICAgQ29udGVudCBCbG9jayBDb21wb25lbnRcclxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuICovXHJcblxyXG5AaW1wb3J0IFwiYy1ibG9jay9jLWJsb2NrLWNvcmVcIjsiLCIuYy1ibG9jayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsb2NrLWJnKTtcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLWMtYmxvY2stc2hhZG93KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWMtYmxvY2stcmFkaXVzKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtYmxvY2stYm9yZGVyKTtcclxuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcclxuICAgICZfX2JvZHkge1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWMtYmxvY2stcGFkZGluZywgMTVweCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogdmFyKC0tYy1ibG9jay1hbGlnbiwgbGVmdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1jLWJsb2NrLXRleHQtc2l6ZSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWMtYmxvY2stY29sb3IpO1xyXG4gICAgfVxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWMtYmxvY2stdGl0bGUtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWMtYmxvY2stdGl0bGUtd2VpZ2h0KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tYy1ibG9jay10aXRsZS10cmFuc2Zvcm0pO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsb2NrLXRpdGxlLWNvbG9yKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oNC1tYXJnaW4tYm90dG9tLCAuNWVtKTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tbGluay1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19wcmV0aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcclxuICAgIH1cclxuICAgICZfX3RleHQge1xyXG4gICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgIC8vY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19tZWRpYSB7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1jLWJsb2NrLWltZy1yYXRpbywgNCAvIDMpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fYnRuIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICB9XHJcbiAgICAuYy1pbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLmNoZWNrLWxpc3Qge1xyXG4gICAgbGkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgLmljb24ge1xyXG4gICAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMjJweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0td2MtcHJvZHVjdC1idWxsZXQtaWNvbi1wLCAjNUUzMjhCKTtcclxuICAgICAgICBmaWxsOiB2YXIoLS13Yy1wcm9kdWN0LWJ1bGxldC1pY29uLXMsICM4RTZGQUUpO1xyXG4gICAgICAgIGhlaWdodDogY2xhbXAoMTNweCwgMC45M3Z3LCAxOHB4KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiBjbGFtcCgzcHgsIDAuMjZ2dywgNXB4KTtcclxuICAgICAgICAvKi5idWxsZXQtc3R5bGUxICYge1xyXG4gICAgICAgICAgICBjb2xvcjogIzVFMzI4QjtcclxuICAgICAgICAgICAgZmlsbDogIzhFNkZBRTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idWxsZXQtc3R5bGUyICYge1xyXG4gICAgICAgICAgICBjb2xvcjogIzgxQjI1QztcclxuICAgICAgICAgICAgZmlsbDogI0IxRDI5OTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idWxsZXQtc3R5bGUzICYge1xyXG4gICAgICAgICAgICBjb2xvcjogIzU3MzU4NjtcclxuICAgICAgICAgICAgZmlsbDogI0VCOEIzNDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idWxsZXQtc3R5bGU0ICYge1xyXG4gICAgICAgICAgICBjb2xvcjogIzgxQjI1QztcclxuICAgICAgICAgICAgZmlsbDogI0IxRDI5OTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idWxsZXQtc3R5bGU1ICYge1xyXG4gICAgICAgICAgICBjb2xvcjogIzVFMzI4QjtcclxuICAgICAgICAgICAgZmlsbDogIzVFQkZDRjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idWxsZXQtc3R5bGU2ICYge1xyXG4gICAgICAgICAgICBjb2xvcjogIzgxQjI1QztcclxuICAgICAgICAgICAgZmlsbDogIzI0NTVDOTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idWxsZXQtc3R5bGU3ICYge1xyXG4gICAgICAgICAgICBjb2xvcjogIzI0NTVDOTtcclxuICAgICAgICAgICAgZmlsbDogI0VDOEIzNDtcclxuICAgICAgICB9Ki9cclxuICAgIH1cclxufSJdfQ== */
