@charset "UTF-8";
/*
 * 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: 1em;
}

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

/* 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')
*
* ***********************************************
*
//  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 */
  --white: #ffffff;
  --body-bg: #e5f3ff;
  --body-bg-alt: #21245c;
  --border-color: #cbcbdd;
  --titles-color: var(--primary-color1);
  --titles-color-accent: var(--secondary-color3);
  --titles-color-alt: #ffffff;
  --primary-color1: #21245c;
  --secondary-color1: #fab040;
  --primary-color2: #00aded;
  --secondary-color2: #50538f;
  --primary-color3: #0045c2;
  --secondary-color3: #e5f3ff;
  --secondary-color4: #ededed;
  --secondary-color5: #F05A28;
  --vertical-gap: 5vw;
  --grid-gutter: 24px;
  /* Colors */
  --page-gutter: 20px;
  --primary-link-color: var(--primary-color2);
  --primary-link-color-alt: var(--secondary-color2);
  --body-text-color: #16275c;
  --body-text-color-alt: var(--secondary-color2);
  --base-transition: .4s;
  --blog-width: 800px;
  --content-width: var(--desktop-width-l);
  --desktop-width: 1112px;
  --phone-width: 576px;
  --tablet-width: 768px;
  --desktop-width-l: 1440px;
}
@media (max-width: 1112px) {
  :root {
    --vertical-gap: 5vh;
  }
}

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

/* Forms */
:root {
  --label-font-size: 1.6rem;
  --label-font-weight: 600;
  --label-color: var(--white);
  --input-border-width: 2px;
  --input-border-radius: 26px;
  --input-padding-top-bottom: 10px;
  --input-padding-left-right: 15px;
  --input-font-size: 1.8rem;
  --input-font-weight: 400;
  --input-color: var(--primary-color1);
  --input-background-color: #fff;
  --input-border-color: var(--border-color);
  --form-row-margin-top-bottom: 15px;
  --form-row-margin-left-right: 0px;
  --message-font-size: 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-height: 55px;
}

.site-header {
  --dropdown-bg: var(--primary-color1);
  --dropdown-color: var(--primary-color1);
  --dropdown-color-active: var(--primary-color2);
  --dropdown-font-size: 16px;
  --dropdown-font-weight: 600;
  --header-logo-height: 40px;
  --header-logo-width: 100%;
  --header-main-bg: var(--primary-color3);
  --header-main-color: var(--primary-color3);
  --header-main-color-hover: var(--primary-color2);
  --header-main-font-size: 15px;
  --header-main-font-weight: 400;
  --header-main-gap-between-items: clamp(10px, 1vw, 18px);
  --header-main-nav-height: 40px;
  --header-main-text-transform: uppercase;
  --header-main-vertical-padding: clamp(10px, 1vw, 20px);
  --dropdown-padding: 40px 25px 20px;
  --header-sticky-bg: var(--primary-color1);
  --header-sticky-type: fixed;
  --header-top-bg: var(--primary-color1);
  --header-top-color: var(--white);
  --header-top-color-hover: var(--primary-color2);
  --header-top-gap-between-items: 10px;
  --header-top-size: 14px;
  --header-top-vertical-padding: 6px;
  --dropdown-width: 200px;
}
@media (max-width: 1112px) {
  .site-header {
    --burger-bg: transparent;
    --burger-color: #ffffff;
    --link-color: #ffffff;
    --link-gap: 10px;
    --header-height: 60px;
    --header-mobile-bg: var(--primary-color1);
    --burger-segment-gap: 7px;
    --burger-segment-hight: 3px;
    --burger-segment-radius: 5px;
    --link-size-l1: 16px;
    --link-size-l2: 14px;
    --burger-width: 25px;
  }
}

.site-search {
  --search-btn-bg: transparent;
  --search-btn-radius: 4px;
  --search-height: 30px;
  --search-outer-bg: var(--primary-color3);
  --search-outer-border: #333333;
  --search-outer-gap: 5px;
  --search-radius: 4px;
  --search-size: 30px;
  --search-width: 250px;
}

/* Footer */
.site-footer {
  --footer-bg-color: var(--primary-color1);
  --footer-bottom-bg-color: var(--primary-color1);
  --footer-bottom-color: rgba(white, 0.5);
  --footer-bottom-font-size: 14px;
  --footer-bottom-padding: 1.2em;
  --footer-color: var(--secondary-color4);
  --footer-link-gap_h: 1vw;
  --footer-link-gap_v: .8em;
  --footer-logo-height: 30px;
  --footer-logo-width: 150px;
  --footer-title-size: 1.8rem;
  --footer-title-transform: uppercase;
  --footer-title-weight: 700;
  --footer-top-border: var(--primary-color1);
  --footer-top-border-size: 5px;
  --footer-top-font-size: 1.4rem;
  --footer-top-nav-direction: row;
  --footer-top-padding: 5vh 0;
}

:root {
  --c-block-align: left;
  --c-block-bg: #ffffff;
  --c-block-color: inherit;
  --l-block-gap-horizontal: 20px;
  --l-block-gap-vertical: 15px;
  --с-block-padding: 15px;
  --c-block-radius: 5px;
  --c-block-shadow: 0 0 4px 2px rgba(0, 0, 0, .05);
  --c-block-text-size: var(--base-text-size);
  --c-block-title-color: var(--titles-color);
  --c-block-title-size: clamp(var(--h4-font-size-mobile), var(--h-clamp-formula), var(--h3-font-size-mobile));
  --c-block-title-transform: var(--h4-text-transform);
  --c-block-title-weight: var(--h4-font-weight);
}

/* WYSIWYG */
.is-wysiwyg {
  --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 width='16' height='4' rx='2' transform='matrix(0.735653 -0.677358 0.677364 0.735648 5.14844 11.2748)' fill='%233397EF'/%3E%3Crect x='7.43359' y='14.528' width='10' height='4' rx='2' transform='rotate(-132.638 7.43359 14.528)' fill='%2370B6F4'/%3E%3C/svg%3E%0A");
  --wysiwyg-li-bgp: 0 .4em;
  --wysiwyg-li-margin: 1em;
  --wysiwyg-li-padding: 0 0 0 40px;
  --wysiwyg-margin: 1.5em;
}

/* Blog post card */
.l-posts {
  --c-block-bg: transparent;
  --l-block-col: 3;
  --с-block-padding: 15px 0;
  --c-block-radius: 5px;
  --c-block-shadow: none;
  --l-post-date-size: 14px;
  --l-post-img-radius: 5px 5px 0 0;
  --l-post-img-ratio: 4 / 3;
  --l-post-tag-color: var(--primary-color2);
  --l-post-tag-size: 14px;
  --l-post-tag-transform: uppercase;
  --l-post-tag-weight: 500;
}

.m-slider {
  --swiper-arrows-bg: var(--white);
  --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);
  --thumb-bd-color: var(--primary-color3);
  --thumb-bd-color-active: var(--primary-color2);
  --thumb-bd-size: 2px;
  --swiper-navigation-size: 60px;
  --swiper-outer-gap: 80px;
  --swiper-pagination-bullet-border: #cccccc;
  --swiper-pagination-bullet-border-active: var(--primary-color1);
  --swiper-pagination-bullet-horizontal-gap: 10px;
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-inactive-opacity: .8;
  --swiper-pagination-bullet-size: 24px;
  --swiper-pagination-color: var(--primary-color1);
  --swiper-pagination-radius: 20px;
  --thumb-radius: 50%;
  --thumb-size: 65px;
}
@media (max-width: 1112px) {
  .m-slider {
    --swiper-navigation-size: 50px;
    --swiper-outer-gap: 40px;
    --thumb-size: 30px;
  }
}

/**** Site Header */
/* Base Typography */
/* 1rem = 10px */
html {
  font-size: 50%;
}
@media (min-width: 1113px) {
  html {
    font-size: 58%;
  }
}
@media (min-width: 1440px) {
  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.7);
}

/* Base Colors */
body {
  background-color: var(--white);
  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 {
  color: var(--body-text-color-alt);
  --section-title-color: var(--section-title-color-alt);
}

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

body::-webkit-scrollbar {
  background-color: var(--body-bg);
  width: 16px;
}
body::-webkit-scrollbar-track {
  box-shadow: inset 0 0 1px var(--primary-color1);
}
body::-webkit-scrollbar-thumb {
  background-color: var(--primary-color2);
  border: 1px solid var(--primary-color2);
  border-radius: 0;
  outline: 1px solid transparent;
}
body.nav-active {
  overflow: hidden;
}
body.nav-active .site-search {
  display: none;
}

.wrapper {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: transform var(--base-transition) ease-out;
}
@media (min-width: 1113px) {
  .wrapper.move-for-search {
    transform: translateY(200px);
  }
}
@media (max-width: 1112px) {
  .wrapper.move-for-search .site-header {
    height: max-content;
    max-height: max-content;
  }
}
.wrapper.hide-overflow {
  height: 100vh;
  overflow: hidden;
}

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

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

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

.container, .container-lg {
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
  transition: max-width var(--base-transition);
}
@media (max-width: 1112px) {
  .container, .container-lg {
    --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(var(--desktop-width), 76vw, var(--content-width) + var(--page-gutter, 20px) * 2);
}

.container-lg {
  max-width: clamp(var(--desktop-width), 90vw, var(--content-width) + var(--page-gutter, 20px) * 2);
  --content-width: 1620px;
}

.site-content {
  min-height: 400px;
}

.gt-regular {
  padding-top: var(--vertical-gap);
}

.gb-regular {
  padding-bottom: var(--vertical-gap);
}

.gt-small {
  padding-top: calc(var(--vertical-gap) / 2);
}

.gb-small {
  padding-bottom: calc(var(--vertical-gap) / 2);
}

.gt-large {
  padding-top: calc(var(--vertical-gap) * 1.5);
}

.gb-large {
  padding-bottom: calc(var(--vertical-gap) * 1.5);
}

.mt-regular {
  margin-top: var(--vertical-gap);
}

.mb-regular {
  margin-bottom: var(--vertical-gap);
}

.mt-small {
  margin-top: calc(var(--vertical-gap) / 2);
}

.mb-small {
  margin-bottom: calc(var(--vertical-gap) / 2);
}

.mt-large {
  margin-top: calc(var(--vertical-gap) * 1.5);
}

.mb-large {
  margin-bottom: calc(var(--vertical-gap) * 1.5);
}

img {
  font-family: inherit;
  font-size: 10px;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  overflow: hidden;
  position: relative;
  text-align: center;
  text-overflow: ellipsis;
  white-space: pre-wrap;
  width: 100%;
}

.site-header {
  left: 0;
  top: 0;
  transition: transform var(--base-transition), background-color var(--base-transition), box-shadow var(--base-transition);
  width: 100%;
  z-index: 99;
}
@media (max-width: 1112px) {
  .site-header {
    background-color: transparent;
    max-height: var(--header-height);
    position: fixed;
  }
}
@media (min-width: 1113px) {
  .site-header {
    position: var(--header-sticky-type, sticky);
  }
  .admin-bar .site-header {
    top: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
}
.site-header__logo {
  align-items: center;
  display: flex;
}
@media (min-width: 1113px) {
  .site-header__logo {
    padding-bottom: 10px;
  }
}
@media (min-width: 1440px) {
  .site-header__logo {
    max-width: 100%;
    transition: all var(--base-transition);
  }
}
.site-header__logo img, .site-header__logo svg {
  height: var(--header-logo-height);
  max-height: 100px;
  max-width: 250px;
  min-width: 60px;
  object-fit: contain;
  object-position: left center;
  width: var(--header-logo-width);
}
@media (max-width: 1439px) {
  .site-header__logo img, .site-header__logo svg {
    max-height: 30px;
    max-width: 150px;
  }
}
@media (min-width: 1440px) {
  .site-header__logo img, .site-header__logo svg {
    transition: all var(--base-transition);
  }
}
@media (max-width: 1112px) {
  .site-header__logo img, .site-header__logo svg {
    margin-top: 0;
  }
}
.site-header__inner {
  display: flex;
  justify-content: space-between;
}
.site-header__row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  transition: all var(--base-transition);
}
.site-header__col {
  align-items: center;
  display: flex;
  flex-direction: row;
  transition: padding var(--base-transition);
}
@media (max-width: 1112px) {
  .site-header__col {
    width: 100%;
  }
}
@media (min-width: 1113px) {
  .site-header__col {
    gap: calc(var(--header-horizontal-gap, 1vw) * 2);
  }
  .site-header__col.-left {
    justify-content: flex-start;
  }
  .site-header__col.-right {
    justify-content: flex-end;
  }
}
.site-header__main .-left {
  align-items: flex-start;
  width: 250px;
}
@media (max-width: 1112px) {
  .site-header__main .-left {
    position: relative;
    z-index: 20;
  }
}
.site-header__main .-right {
  width: calc(100% - 250px);
}
@media (max-width: 1439px) {
  .site-header__main .-right {
    width: calc(100% - 150px);
  }
}
.site-header__main .-right .nav-main__wrap {
  width: 100%;
}
@media (min-width: 1113px) {
  .site-header__main .-right .nav-main__wrap .site-search {
    display: none;
  }
}
@media (hover: hover) {
  .site-header a:not(.c-btn):not(.gform_button):hover {
    color: var(--header-link-color-hover, var(--primary-color2));
  }
}
.site-header .top-right-menu-list {
  display: flex;
  flex-wrap: wrap;
  --primary-link-color: var(--header-top-color);
  padding-right: clamp(10px, 1vw, 20px);
  width: 100%;
}
@media (max-width: 1112px) {
  .site-header .top-right-menu-list {
    border-color: rgba(255, 255, 255, 0.3);
    border-style: solid;
    border-width: 1px 0 1px 0;
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px);
  }
}
@media (max-width: 1112px) {
  .site-header .top-right-menu-list .menu-list__item {
    align-items: center;
    border-right: 1px solid rgba(255, 255, 255, 0.3);
    justify-content: center;
    padding: 20px;
    width: 33%;
  }
  .site-header .top-right-menu-list .menu-list__item:last-child {
    border-right: 0;
  }
}
@media (max-width: 1112px) {
  .site-header .top-right-menu-list .menu-list__link {
    align-items: center;
    flex-direction: column-reverse;
    justify-content: center;
    line-height: 1.3;
    text-align: center;
    text-transform: capitalize;
    width: 100%;
  }
}
.site-header .top-nav {
  --primary-link-color: var(--header-top-color);
}
.site-header .top-nav__links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.site-header .top-nav__links a, .site-header .top-nav__links div {
  letter-spacing: 1px;
  text-transform: uppercase;
}
.site-header .top-nav__links .menu-item {
  padding-right: clamp(20px, 2vw, 40px);
}
.site-header .top-nav__links .menu-item:last-child {
  padding-right: 0;
}
.site-header .top-nav__links .menu-item.current-menu-item .menu-item-title {
  color: var(--primary-color2);
}
.site-header .menu-list__item {
  padding-right: clamp(15px, 2.2vw, 50px);
}
.site-header .menu-list__item:last-child {
  padding-right: 0;
}
.site-header .menu-list__link {
  display: flex;
  flex-direction: row-reverse;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.site-header .menu-list__icon {
  height: 20px;
  margin-right: 5px;
  object-fit: contain;
  width: 20px;
}
@media (max-width: 1112px) {
  .site-header .menu-list__icon {
    height: 25px;
    margin: 0 0 5px 0;
    width: 25px;
  }
}
@media (hover: hover) {
  .site-header .c-block-social__item:hover a {
    background-color: var(--primary-color2);
  }
}

/* Header Main Row */
.site-header__main {
  background-color: var(--primary-color1);
  font-size: var(--header-main-font-size, 16px);
  font-weight: var(--header-main-font-weight);
  --header-horizontal-gap: var(--header-main-gap-between-items);
  --header-link-color: var(--white);
  --header-link-color-hover: var(--header-main-color-hover);
  --header-main-bg: transparent;
  text-transform: var(--header-main-text-transform, uppercase);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.site-header__main .site-header__row {
  padding-bottom: 0;
  background-color: var(--primary-color1);
}
@media (min-width: 1113px) {
  .site-header__main .site-header__row {
    padding-top: var(--header-main-vertical-padding);
  }
}
@media (max-width: 1112px) {
  .site-header__main .site-header__row {
    padding: 15px 20px;
  }
}

/* Header Top Row */
.site-header__top {
  background-color: var(--header-top-bg);
  color: var(--header-top-color);
  font-size: var(--header-top-size);
  --header-horizontal-gap: var(--header-top-gap-between-items);
  --header-link-color: var(--header-top-color);
  --header-link-color-hover: var(--header-top-color-hover);
}
.site-header__top .container-lg {
  justify-content: space-between;
  padding-bottom: var(--header-top-vertical-padding);
  padding-top: var(--header-top-vertical-padding);
}

@media (min-width: 1113px) {
  .is-sticky {
    background-color: var(--header-sticky-bg);
    --header-main-bg: var(--header-sticky-bg, var(--primary-color1));
    --header-main-vertical-padding: 10px;
    opacity: 1 !important;
    --header-sticky-bg: var(--primary-color1);
    transform: translateY(0) !important;
  }
  .is-sticky .site-header__main {
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  }
  .is-sticky .site-header__logo {
    max-height: 50px;
  }
  .is-sticky .site-header__logo img, .is-sticky .site-header__logo svg {
    max-height: 25px;
  }
  .is-sticky .site-header__top .site-header__row {
    max-height: 0;
    overflow: hidden;
    padding: 0;
  }
  .is-sticky .nav-main__btn.-desktop {
    display: none;
  }
  .is-sticky .c-btn.-secondary, .is-sticky .-secondary.gform_button {
    margin: 0 0 10px 12px;
  }
  .is-sticky .nav-main .sub-menu {
    padding: 100px 0 50px 65px;
  }
}
@media (min-width: 1113px) and (max-width: 1439px) and (min-width: 1113px) {
  .is-sticky .nav-main .sub-menu {
    padding: 105px 100px 50px 100px;
  }
}
@media (min-width: 1113px) {
  .is-sticky .nav-main .sub-menu .mega-menu {
    padding: 100px clamp(80px, 7.3vw, 140px) 50px 50px;
  }
}
@media (min-width: 1113px) {
  .is-sticky .nav-main .sub-menu__type-two {
    min-height: fit-content;
    height: fit-content;
    top: 0;
    padding: 100px clamp(20px, 3vw, 200px) 0px clamp(20px, 3vw, 200px);
    padding-bottom: 50px;
  }
}
@media (min-width: 1113px) and (max-width: 1439px) and (min-width: 1113px) {
  .is-sticky .nav-main .sub-menu__type-two {
    top: 0;
  }
}
@media (max-width: 1112px) {
  .is-sticky {
    background-color: var(--primary-color1);
    transform: none !important;
    opacity: 1 !important;
  }
}

@media (max-width: 1112px) {
  .nav-active .site-header__main {
    --header-main-bg: var(--header-mobile-bg);
  }
  .nav-main__wrap {
    align-items: center;
    display: flex;
    justify-content: flex-end;
  }
  .nav-main__wrap a {
    color: var(--link-color);
  }
  .nav-main__wrap .nav-main {
    background-color: var(--primary-color1);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-height: 0;
    opacity: 1;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: var(--header-height);
    transition: all var(--base-transition);
    width: 100%;
  }
  .nav-active .nav-main__wrap .nav-main {
    min-height: 100vh;
    opacity: 1;
    overflow-y: auto;
    padding: 15px;
    pointer-events: auto;
  }
  .nav-main__wrap .nav-main .site-header__widget {
    padding-bottom: 5px;
  }
  .nav-main__wrap .sub-menu {
    display: none;
    flex-direction: column;
    flex-wrap: wrap;
    padding-left: 20px;
  }
  .nav-main__wrap .sub-menu a {
    color: var(--link-color);
    font-size: var(--link-size-l1);
    padding: 5px 0;
  }
  .nav-main__wrap .sub-menu .current-menu-item a {
    color: var(--secondary-color1);
  }
  .nav-main__wrap .nav-main__links {
    padding: 20px 0 30px 0;
    width: 100%;
  }
  .nav-main__wrap .nav-main__links .main-menu-link {
    display: block;
  }
  .nav-main__wrap .nav-main__links > .menu-item > a, .nav-main__wrap .nav-main__links > .menu-item > .plain-menu-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--link-color);
    display: block;
    font-size: var(--link-size-l1);
    padding: 10px 0;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children {
    position: relative;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children .menu-item__toggler {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children .menu-item__toggler:after {
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7 0 7 6.4777L12.355 8 7 3.0553 1.645 8 0 6.4777 7 0Z' fill='%2300aded'/%3E%3C/svg%3E");
    background-position: top center;
    background-repeat: no-repeat;
    content: "";
    display: inline-block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    transform: rotate(90deg);
    width: 50px;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children > a {
    padding: 10px 100px 10px 0;
    position: relative;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children .plain-menu-item {
    color: var(--white);
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active {
    background-color: var(--primary-color1);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    bottom: 0;
    height: 100%;
    left: 0;
    padding: 20px 0 0 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 100;
    /**2x ADD ON CSS**/
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active > a, .nav-main__wrap .nav-main__links .menu-item-has-children.active > .plain-menu-item {
    border-bottom: none;
    font-size: 25px;
    line-height: 1;
    padding: 10px 10px 10px 65px;
    text-transform: capitalize;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .menu-item__toggler {
    background-color: white;
    border-radius: 50%;
    height: 36px;
    left: 20px;
    top: 25px;
    transform: rotate(-180deg);
    width: 36px;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .menu-item__toggler:after {
    background-position: center;
    height: 36px;
    width: 36px;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .sub-menu {
    display: flex;
    padding: 20px;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .sub-menu .menu-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    font-weight: 600;
    padding: 10px 0;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .sub-menu__type-two {
    display: flex;
    padding: 20px;
    padding-bottom: 60px;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .sub-menu__type-two .menu-item {
    border-bottom: 0;
    font-weight: 600;
    padding: 0px 0 5px 0;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .sub-menu__type-two .menu-item:last-child {
    padding-bottom: 0px;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .sub-menu__type-two .sub-menu-item:last-child {
    margin-bottom: 20px;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .sub-menu__type-two .list-col:last-child {
    margin-bottom: 60px;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.active .sub-menu__type-two .menu-item-desc {
    color: #9092AE;
    text-transform: none;
    font-size: 14px;
    margin-bottom: 12px;
    line-height: normal;
    font-weight: normal;
  }
  .nav-main__wrap .-mobile-bottom-links {
    padding: 30px 0 0 0;
  }
  .nav-main__wrap .-mobile-bottom-links .top-nav, .nav-main__wrap .-mobile-bottom-links .footer-col {
    width: 100%;
    height: 50vh;
  }
  .nav-main__wrap .-mobile-bottom-links .menu-item {
    padding-right: 10px !important;
    width: 100%;
    margin-bottom: 16px;
  }
  .nav-main__wrap .-mobile-bottom-links .menu-item a {
    color: rgba(255, 255, 255, 0.5);
  }
}
@media (max-width: 767px) {
  .nav-main .c-btn, .nav-main .gform_button {
    justify-content: center;
    margin: 0 !important;
    text-align: center;
    width: 100%;
  }
}

.page-template-template-simple-text .site-header__main,
.search .site-header__main,
.page-template-template-styleguide .site-header__main,
.page-template-default .site-header__main {
  background-color: transparent;
}
@media (min-width: 1440px) {
  .page-template-template-simple-text .site-content,
.search .site-content,
.page-template-template-styleguide .site-content,
.page-template-default .site-content {
    padding-top: var(--header-height);
  }
}

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

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

@media (max-width: 1112px) {
  .nav-main__btn.-desktop {
    display: none;
  }
}
@media (min-width: 1113px) {
  .nav-main__btn,
.navbar-mobile {
    display: none;
  }
}
/* Navbar Main */
.nav-main {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  --primary-link-color: var(--white);
}
@media (min-width: 1113px) {
  .nav-main {
    flex-wrap: nowrap;
  }
  .nav-main__links {
    display: flex;
    justify-content: flex-end;
  }
  .nav-main__links > .menu-item {
    align-items: center;
    display: flex;
    padding-bottom: var(--header-main-vertical-padding);
    position: relative;
  }
  .nav-main__links > .menu-item > a,
.nav-main__links > .menu-item .plain-menu-item {
    border: 2px solid transparent;
    border-radius: var(--btn-border-radius, 0);
    color: var(--primary-link-color);
    display: block;
    font-weight: 600;
    line-height: var(--header-main-nav-height);
    padding: 0 calc(var(--header-main-gap-between-items, 1vw) * 2) 0 var(--header-main-gap-between-items, 1vw);
    transition: color var(--base-transition), font-size var(--base-transition);
    white-space: nowrap;
  }
  .nav-main__links > .menu-item.current-menu-item .menu-item-title {
    color: var(--primary-color2);
  }
  .nav-main__links > .menu-item.current-menu-item .sub-menu .menu-item-title {
    color: var(--white);
  }
}
.nav-main .current-menu-item > a {
  --link-color: var(--white);
}
.nav-main .c-btn, .nav-main .gform_button {
  margin: 0 0 clamp(10px, 1vw, 20px) 12px;
}
.nav-main .c-btn.-secondary, .nav-main .-secondary.gform_button {
  padding: 12px 20px;
  transition: background-color var(--base-transition), color var(--base-transition);
}
.nav-main .c-btn.-secondary .c-btn__text, .nav-main .-secondary.gform_button .c-btn__text {
  font-size: clamp(13px, 0.7vw, 15px);
  line-height: 1;
  text-transform: uppercase;
}
@media (hover: hover) {
  .nav-main .c-btn.-secondary:hover, .nav-main .-secondary.gform_button:hover {
    background-color: var(--primary-color2);
    border-color: var(--primary-color2);
  }
  .nav-main .c-btn.-secondary:hover .c-btn__text, .nav-main .-secondary.gform_button:hover .c-btn__text {
    color: var(--white);
    transform: none;
  }
}

.nav-main {
  /**original sub menu**/
  /**2X ADD ON**/
}
.nav-main .sub-menu {
  text-align: left;
}
@media (min-width: 1113px) {
  .nav-main .sub-menu {
    bottom: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100vh;
    left: auto;
    min-width: var(--dropdown-width);
    opacity: 0;
    padding: clamp(100px, 10vw, 180px) 0 clamp(25px, 2.6vw, 50px) 65px;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translate(0, -10px);
    transition: opacity var(--base-transition), transform var(--base-transition);
    width: calc(810px + 12vw);
    z-index: -1;
  }
  .nav-main .sub-menu::-webkit-scrollbar {
    background-color: var(--primary-color1);
    border-radius: 6px;
    width: 6px;
  }
  .nav-main .sub-menu::-webkit-scrollbar-track {
    border-radius: 6px;
    box-shadow: inset 0 0 1px var(--primary-color1);
  }
  .nav-main .sub-menu::-webkit-scrollbar-thumb {
    background-color: var(--primary-color2);
    border-radius: 6px;
    outline: 1px solid transparent;
  }
  .nav-main .sub-menu a {
    align-items: center;
    color: var(--dropdown-color);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--dropdown-font-size);
    font-weight: var(--dropdown-font-weight);
    width: 100%;
  }
}
@media (min-width: 1113px) and (hover: hover) {
  .nav-main .sub-menu a:hover {
    color: var(--dropdown-color-active);
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu .current-menu-item a {
    color: var(--white);
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu .menu-item-content {
    min-width: 250px;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu .menu-item-title {
    display: flex;
    flex-wrap: wrap;
    order: 1;
    transition: color var(--base-transition) ease-out;
    width: 100%;
  }
}
@media (min-width: 1113px) and (max-width: 1920px) and (min-width: 1113px) {
  .nav-main .sub-menu .menu-item-title {
    font-size: clamp(15px, 0.9vw, 18px);
    line-height: 1.3;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu .menu-item-caption {
    color: rgba(255, 255, 255, 0.5);
    display: flex;
    flex-wrap: wrap;
    font-weight: 600;
    order: 0;
    pointer-events: none;
    width: 100%;
  }
}
@media (min-width: 1113px) and (max-width: 1920px) and (min-width: 1113px) {
  .nav-main .sub-menu .menu-item-caption {
    font-size: clamp(13px, 0.7vw, 15px);
    line-height: 1.2;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu .menu-item-img-wrapper {
    margin-right: 10px;
    max-width: 150px;
    min-width: 30px;
  }
  .nav-main .sub-menu .menu-item-img-wrapper img, .nav-main .sub-menu .menu-item-img-wrapper svg {
    height: auto;
    max-width: 100%;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu .menu-item:not(:last-child) {
    margin-bottom: 3px;
  }
  .nav-main .sub-menu .menu-item a {
    padding: clamp(5px, 0.5vw, 9px) 5px;
    transition: all var(--base-transition);
  }
}
@media (min-width: 1113px) and (hover: hover) {
  .nav-main .sub-menu .menu-item a:hover .menu-item-title {
    color: var(--primary-color2);
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu .menu-item.current-menu-item .menu-item-title {
    color: var(--primary-color2);
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu:after {
    background-color: var(--primary-color1);
    border-radius: 10px;
    bottom: 0;
    box-shadow: 0 4px 34px rgba(0, 7, 63, 0.1);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 15px;
    width: 100%;
    z-index: -1;
  }
}
@media (max-width: 1439px) and (min-width: 1113px) {
  .nav-main .sub-menu {
    width: calc(810px + 11vw);
    padding: clamp(100px, 10vw, 180px) 0 clamp(25px, 2.6vw, 50px) 65px;
  }
}
@media (min-width: 1440px) {
  .nav-main .sub-menu {
    width: calc(810px + 15vw);
    padding: clamp(100px, 10vw, 180px) 0 clamp(25px, 2.6vw, 50px) 65px;
  }
}
@media (min-width: 1921px) {
  .nav-main .sub-menu {
    width: calc(810px + 25vw);
  }
}
@media (max-width: 1112px) {
  .nav-main .sub-menu .menu-item-img-wrapper,
.nav-main .sub-menu .menu-item-caption {
    display: none;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu .menu-item {
    max-width: 33%;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu .mega-menu {
    align-items: flex-start;
    bottom: 0;
    color: var(--white);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-start;
    padding: clamp(100px, 10vw, 180px) clamp(80px, 7.3vw, 140px) 50px 50px;
    position: absolute;
    right: 0;
    top: 0;
    width: 66%;
  }
  .nav-main .sub-menu .mega-menu .menu-title {
    font-size: clamp(22px, 1.6vw, 35px);
    line-height: 1.3;
    margin-bottom: clamp(5px, 0.8vw, 15px);
    text-transform: capitalize;
  }
  .nav-main .sub-menu .mega-menu .menu-text {
    font-size: clamp(14px, 0.7vw, 16px);
    margin-bottom: clamp(10px, 1vw, 20px);
    text-transform: initial;
  }
}
@media (max-width: 1112px) {
  .nav-main .sub-menu .mega-menu {
    display: none;
  }
}
.nav-main .sub-menu__type-two {
  text-align: left;
  background-color: var(--primary-color1);
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two {
    bottom: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100vh;
    left: auto;
    min-width: var(--dropdown-width);
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translate(0, -10px);
    transition: opacity var(--base-transition), transform var(--base-transition);
    width: 100%;
    z-index: -1;
    border-bottom: 5px solid #00ADED;
    border-bottom-right-radius: 11px;
    border-bottom-left-radius: 11px;
    padding: 170px clamp(20px, 3vw, 200px) 40px clamp(20px, 3vw, 200px);
    top: 0;
    padding-bottom: 52px;
    min-height: 30vw;
    height: 34vw;
  }
  .nav-main .sub-menu__type-two .menu-list {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 60px;
  }
}
@media (min-width: 1113px) and (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-list {
    width: 100%;
    right: 6%;
    padding-bottom: 0px;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .sub-menu-group {
    margin-bottom: 4rem;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two::-webkit-scrollbar {
    background-color: var(--primary-color1);
    border-radius: 6px;
    width: 6px;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two::-webkit-scrollbar-track {
    border-radius: 6px;
    box-shadow: inset 0 0 1px var(--primary-color1);
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two::-webkit-scrollbar-thumb {
    background-color: var(--primary-color2);
    border-radius: 6px;
    outline: 1px solid transparent;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two a {
    align-items: center;
    color: var(--dropdown-color);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--dropdown-font-size);
    font-weight: var(--dropdown-font-weight);
    width: 100%;
  }
}
@media (min-width: 1113px) and (hover: hover) {
  .nav-main .sub-menu__type-two a:hover {
    color: var(--dropdown-color-active);
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .current-menu-item a {
    color: var(--white);
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item-content {
    min-width: 250px;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item-title {
    font-size: 16px;
    display: flex;
    flex-wrap: wrap;
    order: 1;
    transition: color var(--base-transition) ease-out;
    width: 100%;
  }
}
@media (min-width: 1113px) and (max-width: 1920px) and (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item-title {
    font-size: clamp(16px, 0.9vw, 16px);
    line-height: 1.6;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item-desc {
    color: #9092AE;
    text-transform: none;
    font-size: 14px;
    margin-bottom: 12px;
    line-height: normal;
    font-weight: normal;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item-caption {
    font-size: 16px;
    color: #9092AE;
    display: flex;
    flex-wrap: wrap;
    font-weight: 600;
    margin: 0 0 12px 0px;
    order: 0;
    pointer-events: none;
    width: 100%;
  }
}
@media (min-width: 1113px) and (max-width: 1920px) and (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item-caption {
    font-size: clamp(16px, 0.7vw, 16px);
    line-height: 1.2;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item-img-wrapper {
    margin-right: 10px;
    max-width: 150px;
    min-width: 30px;
  }
  .nav-main .sub-menu__type-two .menu-item-img-wrapper img, .nav-main .sub-menu__type-two .menu-item-img-wrapper svg {
    height: auto;
    max-width: 100%;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item:not(:last-child) {
    margin-bottom: 3px;
  }
  .nav-main .sub-menu__type-two .menu-item a {
    padding: clamp(0px, 0.5vw, 0px) 0px;
    transition: all var(--base-transition);
  }
}
@media (min-width: 1113px) and (hover: hover) {
  .nav-main .sub-menu__type-two .menu-item a:hover .menu-item-title {
    color: var(--primary-color2);
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item.current-menu-item .menu-item-title {
    color: var(--primary-color2);
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two:after {
    background-color: var(--primary-color1);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    bottom: 0;
    box-shadow: 0 4px 34px rgba(0, 7, 63, 0.1);
    content: "";
    height: 90%;
    left: 0;
    position: absolute;
    top: 15px;
    width: 100%;
    z-index: -1;
  }
}
@media (max-width: 1439px) and (min-width: 1113px) {
  .nav-main .sub-menu__type-two {
    width: 89%;
    right: 88px;
    min-height: fit-content;
    height: fit-content;
  }
}
@media (min-width: 1440px) {
  .nav-main .sub-menu__type-two {
    width: 88%;
    right: 6%;
    min-height: fit-content;
    height: fit-content;
  }
}
@media (min-width: 1921px) {
  .nav-main .sub-menu__type-two {
    width: 89%;
    min-height: fit-content;
    height: fit-content;
  }
}
@media (min-width: 1919px) {
  .nav-main .sub-menu__type-two {
    width: 85%;
    right: 7.6%;
    min-height: 25.5vw;
    height: 27.5vw;
    min-height: fit-content;
    height: fit-content;
  }
}
@media (min-width: 2560px) {
  .nav-main .sub-menu__type-two {
    width: 63.5%;
    right: 18.5%;
    min-height: fit-content;
    height: fit-content;
  }
}
@media (max-width: 1112px) {
  .nav-main .sub-menu__type-two .menu-item-img-wrapper,
.nav-main .sub-menu__type-two .menu-item-caption {
    font-size: 16px;
    font-weight: 600;
    color: #9092AE;
    display: block;
    text-transform: uppercase;
    margin-bottom: 5px;
  }
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .menu-item {
    max-width: 33%;
  }
}
.nav-main .sub-menu__type-two .custom-media-desc:hover .media-text, .nav-main .sub-menu__type-two .custom-media-desc:hover .media-title, .nav-main .sub-menu__type-two .custom-media-desc:hover .c-btn__text {
  color: var(--primary-color2);
}
.nav-main .sub-menu__type-two .custom-media-desc:hover .c-btn.-link-denim, .nav-main .sub-menu__type-two .custom-media-desc:hover .-link-denim.gform_button {
  background-position: left 0 center;
}
.nav-main .sub-menu__type-two .custom-media-desc:hover .c-btn__text {
  transform: translateX(35px);
}
.nav-main .sub-menu__type-two .custom-media-desc p {
  margin-bottom: 0;
}
.nav-main .sub-menu__type-two .custom-media-desc .media-title {
  color: var(--white);
  font-size: 16px;
  margin-bottom: 12px;
  font-weight: 700;
}
.nav-main .sub-menu__type-two .custom-media-desc .media-text {
  font-size: 14px;
  line-height: 21px;
  color: #9092AE;
  text-transform: none;
  margin-bottom: 12px;
}
.nav-main .sub-menu__type-two .custom-media-desc .media-text p {
  margin-bottom: 0;
}
.nav-main .sub-menu__type-two .custom-media-desc p > a {
  color: #00ADED;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  padding: 0;
  justify-content: start;
  width: max-content;
  margin-left: 0;
  background-size: 17px;
  text-align: left;
  padding-right: 60px;
}
.nav-main .sub-menu__type-two .custom-media-desc .c-btn.-link-denim, .nav-main .sub-menu__type-two .custom-media-desc .-link-denim.gform_button {
  background-position: right 27px center;
  background-position: right 33px center;
  background-size: 18px;
}
.nav-main .sub-menu__type-two .custom-media-desc .c-btn.-link-denim:hover, .nav-main .sub-menu__type-two .custom-media-desc .-link-denim.gform_button:hover {
  background-position: left 0 center;
}
.nav-main .sub-menu__type-two .custom-media-desc img {
  width: 100%;
  border-radius: 10px;
  margin-bottom: 40px;
  margin-top: 12px;
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .custom-media-desc img {
    display: block;
    width: auto;
    margin-bottom: 0px;
    margin-top: 0;
  }
}
.nav-main .sub-menu__type-two .hideMobile {
  display: none !important;
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .hideMobile {
    display: flex !important;
  }
}
.nav-main .sub-menu__type-two .hideDesktop {
  display: flex !important;
}
@media (min-width: 1113px) {
  .nav-main .sub-menu__type-two .hideDesktop {
    display: none !important;
  }
}
@media (min-width: 1113px) {
  .nav-main .menu-item-has-children {
    margin-right: 6px;
    padding-right: 5px;
  }
  .nav-main .menu-item-has-children:before {
    border-right: 2px solid var(--primary-color2);
    border-top: 2px solid var(--primary-color2);
    content: "";
    height: 10px;
    position: absolute;
    right: clamp(10px, 1vw, 20px);
    top: 14px;
    transform: rotate(135deg);
    transform-origin: center;
    transition: transform var(--base-transition) ease-in;
    width: 10px;
  }
}
@media (min-width: 1113px) and (hover: hover) {
  .nav-main .menu-item-has-children:hover > a, .nav-main .menu-item-has-children:hover > .plain-menu-item {
    border-color: var(--primary-color2);
    color: var(--white);
  }
  .nav-main .menu-item-has-children:hover > .sub-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translate(0, 0);
  }
  .nav-main .menu-item-has-children:hover > .sub-menu a {
    color: var(--white);
  }
  .nav-main .menu-item-has-children:hover > .sub-menu .custom-media-desc p a {
    color: #00ADED;
    font-size: 14px;
  }
}
@media (min-width: 1113px) {
  .nav-main .-mobile-menu {
    display: none;
  }
}

.nav-main__btn {
  align-items: center;
  background-color: var(--burger-bg);
  border-radius: 3px;
  color: var(--burger-color);
  cursor: pointer;
  display: flex;
  height: 30px;
  justify-content: center;
  margin-left: 20px;
  text-align: center;
  transition: all var(--base-transition);
  z-index: 10;
}
@media (min-width: 1113px) {
  .nav-main__btn {
    display: none;
  }
}

.burger-icon {
  align-items: center;
  backface-visibility: hidden;
  cursor: pointer;
  height: 100%;
  justify-content: center;
  transition: box-shadow 0.4s ease;
  width: var(--burger-width);
}
.burger-icon > div {
  align-items: center;
  background: white;
  border-radius: 2px;
  bottom: -13px;
  display: flex;
  flex: none;
  height: 2px;
  justify-content: center;
  position: relative;
  transition: all 0.4s ease;
  width: 30px;
}
@media (max-width: 1112px) {
  .burger-icon > div {
    height: 3px;
    width: 25px;
  }
}
.burger-icon > div:before, .burger-icon > div:after {
  background: inherit;
  border: 1px solid transparent;
  border-radius: 2px;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  top: -8px;
  transition: all 0.4s ease;
  width: 30px;
  z-index: 1;
}
@media (max-width: 1112px) {
  .burger-icon > div:before, .burger-icon > div:after {
    height: 3px;
    left: -5px;
    top: -10px;
  }
}
.burger-icon > div:after {
  top: 8px;
}
@media (max-width: 1112px) {
  .burger-icon > div:after {
    top: 10px;
  }
}
.is-active .burger-icon > div {
  background-color: transparent;
  transform: rotate(135deg);
}
.is-active .burger-icon > div:before, .is-active .burger-icon > div:after {
  background-color: white;
  left: 0;
  top: 0;
  transform: rotate(90deg);
  width: 100%;
}
@media (max-width: 1112px) {
  .is-active .burger-icon > div:before, .is-active .burger-icon > div:after {
    background-color: white;
  }
}
.is-active .burger-icon > div:after {
  transform: rotateZ(180deg);
}

.site-header .site-search {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  height: max-content;
  position: relative;
}
.site-header .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;
  transition: transform var(--base-transition);
  width: var(--search-size);
  z-index: 10;
}
.site-header .site-search__toggle.is-active {
  pointer-events: none;
}
.site-header .site-search__toggle .icon {
  color: var(--white);
}
.site-header .site-search__toggle:focus {
  outline: transparent;
}
@media (hover: hover) {
  .site-header .site-search__toggle:hover {
    --header-link-color: var(--header-link-color-hover);
  }
  .site-header .site-search__toggle:hover .icon {
    color: var(--primary-color2);
  }
}
.site-header .site-search__inner {
  background-color: var(--primary-color1);
  display: flex;
  flex-wrap: wrap;
  height: 200px;
  padding: var(--search-outer-gap);
  transition: transform var(--base-transition) ease-out, height var(--base-transition) ease-out;
  width: 100%;
}
@media (min-width: 1113px) {
  .site-header .site-search__inner {
    position: absolute;
    transform: translateY(-100px);
  }
}
@media (min-width: 1113px) {
  .site-header .site-search__inner:after {
    background-color: rgba(33, 36, 92, 0.75);
    content: "";
    display: block;
    height: 60px;
    left: 0;
    position: absolute;
    right: 0;
    top: 100%;
    width: 100%;
  }
}
.site-header .site-search__inner.is-shown {
  overflow: visible;
  z-index: 10;
}
@media (max-width: 1112px) {
  .site-header .site-search__inner.is-shown {
    display: flex;
  }
}
.site-header .site-search__inner.is-shown + .site-search__toggle {
  color: var(--primary-color1);
  pointer-events: none;
  transform: translateY(40px);
}
.site-header .site-search__inner.is-hidden {
  background-color: var(--primary-color1);
  overflow: hidden;
  transform: translateY(-100px);
}
@media (max-width: 1112px) {
  .site-header .site-search__inner.is-hidden {
    display: none;
  }
}
.site-header .site-search__icon {
  fill: var(--header-link-color);
  height: 100%;
  margin: auto;
  pointer-events: none;
  width: 100%;
}
.site-header .site-search__close {
  align-items: center;
  background: var(--white);
  border: none;
  border-radius: 0;
  cursor: pointer;
  display: none;
  height: 36px;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 14px;
  width: 38px;
  z-index: 1000;
}
.site-header .site-search .search-form {
  align-items: center;
  display: flex;
  flex-direction: row;
  margin: 0 auto;
  max-width: clamp(var(--desktop-width), 90vw, var(--content-width) + var(--page-gutter, 20px) * 2);
  padding: 0 20px;
  --content-width: 1620px;
  width: 100%;
}
.site-header .site-search .search-form label {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.site-header .site-search .search-form .search-submit {
  align-items: center;
  background-color: var(--btn-secondary-bg);
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.61752 10.0317C7.73148 10.6424 6.6575 11 5.5 11C2.46243 11 0 8.53757 0 5.5C0 2.46243 2.46243 0 5.5 0C8.53757 0 11 2.46243 11 5.5C11 6.6575 10.6424 7.73148 10.0317 8.61752L13.7071 12.2929L12.2929 13.7071L8.61752 10.0317ZM5.5 9C7.433 9 9 7.433 9 5.5C9 3.567 7.433 2 5.5 2C3.567 2 2 3.567 2 5.5C2 7.433 3.567 9 5.5 9Z' fill='%230045c2' /%3E%3C/svg%3E%0A");
  background-position: right 30px center;
  background-repeat: no-repeat;
  background-size: 20px;
  border: var(--btn-secondary-border) solid var(--btn-secondary-border-color);
  border-radius: var(--btn-border-radius, 0);
  box-shadow: var(--btn-box-shadow, none);
  color: var(--btn-secondary-color);
  display: inline-flex;
  flex-wrap: wrap;
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size, 1.8rem);
  font-weight: var(--btn-font-weight, 600);
  padding: 10px 60px 10px 30px;
  position: relative;
  text-transform: var(--btn-text-transform, none);
  transition: background-position var(--base-transition) ease-out, padding var(--base-transition) ease-out, transform var(--base-transition), color var(--base-transition);
  z-index: 2;
}
@media (max-width: 767px) {
  .site-header .site-search .search-form .search-submit {
    background-position: center;
    font-size: 0;
    padding: 25px;
  }
}
@media (hover: hover) {
  .site-header .site-search .search-form .search-submit:hover {
    background-color: var(--primary-color2);
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.61752 10.0317C7.73148 10.6424 6.6575 11 5.5 11C2.46243 11 0 8.53757 0 5.5C0 2.46243 2.46243 0 5.5 0C8.53757 0 11 2.46243 11 5.5C11 6.6575 10.6424 7.73148 10.0317 8.61752L13.7071 12.2929L12.2929 13.7071L8.61752 10.0317ZM5.5 9C7.433 9 9 7.433 9 5.5C9 3.567 7.433 2 5.5 2C3.567 2 2 3.567 2 5.5C2 7.433 3.567 9 5.5 9Z' fill='%23fff' /%3E%3C/svg%3E%0A");
    background-position: left 30px center;
    border-color: var(--primary-color2);
    color: var(--white);
    padding: 10px 30px 10px 60px;
  }
}
.site-header .site-search .search-form .search-submit:focus {
  outline: none;
}
.site-header .site-search .search-field {
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19.582' height='19.582' viewBox='0 0 19.582 19.582'%3E%3Cpath d='M16.221,14.994h-.65l-.225-.225a5.277,5.277,0,1,0-.576.581l.225.225v.646l4.088,4.08L20.3,19.083l-4.08-4.088Zm-4.906,0a3.68,3.68,0,1,1,3.68-3.68A3.68,3.68,0,0,1,11.315,14.994Z' fill='%23fff' transform='translate(-3.566 -3.566)'/%3E%3Cpath d='M0,0H19.582V19.582H0Z' fill='none'/%3E%3C/svg%3E%0A") !important;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 40px;
  border: none;
  color: var(--white);
  font-size: 4rem;
  margin: 0;
  max-width: 100%;
  padding: 5px 10px 5px 50px;
  transition: all 0.2s;
  width: 100%;
}
@media (max-width: 767px) {
  .site-header .site-search .search-field {
    font-size: 24px;
  }
}
.site-header .site-search .search-field:-webkit-autofill, .site-header .site-search .search-field:-webkit-autofill:hover, .site-header .site-search .search-field:-webkit-autofill:focus, .site-header .site-search .search-field:-webkit-autofill:active {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 100px var(--primary-color1) inset !important;
  color: rgb(255, 255, 255) !important;
}
.site-header .site-search .search-field::placeholder {
  color: var(--white);
}
.site-header .site-search .search-field::-webkit-search-cancel-button {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.70711 7.12132L1.41421 11.4142L0 10L4.29289 5.70711L0 1.41421L1.41421 0L5.70711 4.29289L10 0L11.4142 1.41421L7.12132 5.70711L11.4142 10L10 11.4142L5.70711 7.12132Z' fill='%23fff' /%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px;
  display: block;
  height: 50px;
  width: 50px;
}
.site-header .site-search .search-field::-webkit-search-cancel-button:hover {
  cursor: pointer;
}
.site-header .site-search .search-field:focus {
  outline: none;
}
@media (max-width: 1112px) {
  .site-header__search {
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
  }
}

/**** End Header */
/* Above the fold modules */
/**
 ####################
 #   Module: BANNERS
 ####################
 */
/**
 ################
 #   Module BANNERS: Core
 ################
 */
.m-banner {
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  position: relative;
  width: 100%;
  /**
   ***************
   **  Variations
   ***************
   *  .m-banner--small, --medium, --full
   */
}
.m-banner__container {
  align-items: flex-start;
  display: flex;
  min-height: var(--bannerHeight, auto);
  padding-top: clamp(150px, 12vw, 225px);
  position: relative;
}
@media (max-width: 1112px) {
  .m-banner__container {
    min-height: 30vh;
    overflow: hidden;
  }
}
.m-banner__media {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.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--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 {
    min-height: var(--bannerHeight);
  }
}

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

/* Banners */
.m-banner {
  --banner-bot-padding: 0;
  --overlay-color: #0D1048;
  --banner-height--blog: 400px;
  --banner-height--full: max-height;
  --banner-height--medium: 500px;
  --banner-height--small: 300px;
  --overlay-opacity: .75;
  --banner-top-padding: 5vmin;
}

/**
 * HEADING Module
 *
 * Standalone heading selectors, title, pre/sub-title
 *
 */
.-h1, .is-wysiwyg h1 {
  color: var(--titles-color);
  font-family: var(--h1-font);
  font-size: clamp(var(--h1-font-size-mobile), var(--h-clamp-formula), var(--h1-font-size));
  font-weight: var(--h1-font-weight, 600);
  letter-spacing: var(--h1-letter-spacing, 0);
  line-height: var(--h1-line-height, 1);
  margin-bottom: var(--h1-margin-bottom, 0.5em);
  text-transform: var(--h1-text-transform);
}
.-h1 .colors-inverted, .is-wysiwyg h1 .colors-inverted {
  color: var(--titles-color-alt);
}

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

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

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

.c-heading {
  /**
   * #.# Modifiers
   */
}
.c-heading__title {
  color: var(--titles-color);
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  margin-bottom: var(--h1-margin-bottom, 0.5em);
  position: relative;
  text-transform: inherit;
  z-index: 1;
}
.colors-inverted .c-heading__title {
  color: var(--titles-color-alt);
}
.text-center .c-heading__title {
  margin: 0 auto;
}
.c-heading__pre {
  color: var(--pretitle-color, var(--primary-color2));
  font-family: var(--pretitle-font);
  font-size: clamp(var(--pretitle-font-size-mobile, 18px), var(--h-clamp-formula), var(--pretitle-font-size, 2.4rem));
  font-weight: var(--pretitle-font-weight, 500);
  letter-spacing: var(--pretitle-letter-spacing, 0);
  line-height: var(--pretitle-line-height, 1.4);
  margin: var(--pretitle-margin-bottom, 0.5em) 0;
  text-transform: var(--pretitle-text-transform);
}
.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));
  font-family: var(--subtitle-font);
  font-size: clamp(var(--subtitle-font-size-mobile, 18px), var(--h-clamp-formula), var(--subtitle-font-size, 2.4rem));
  font-weight: var(--subtitle-font-weight, 500);
  letter-spacing: var(--subtitle-letter-spacing, 0);
  line-height: var(--subtitle-line-height, 1.4);
  margin: var(--subtitle-margin-bottom, 0.5em) 0;
  text-transform: var(--subtitle-text-transform);
}
.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-white {
  color: var(--white);
}

.c-blue {
  color: var(--primary-color2);
}

.c-purple {
  color: var(--primary-color1);
}

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

/**
 ############################
 #   Buttons Component
 ############################
 */
/**
 *************
 **  Core
 *************
 *  Common properties of buttons
 */
/** Buttons Core Component */
.btn, .c-btn, .gform_button {
  backface-visibility: hidden;
  background-color: transparent;
  border: none;
  display: inline-flex;
  --btn-ico-color: currentColor;
  position: relative;
  --icon-shift: 10px;
  text-align: center;
  text-decoration: none;
  transition: transform var(--base-transition), border var(--base-transition), background var(--base-transition);
}

.c-btn, .gform_button {
  align-items: center;
  border-radius: var(--btn-border-radius, 0);
  box-shadow: var(--btn-box-shadow, none);
  display: inline-flex;
  font-family: var(--btn-font-family);
  font-size: clamp(14px, 0.94vw, 18px);
  font-weight: var(--btn-font-weight, 600);
  padding: var(--btn-padding-top-bottom, 10px) var(--btn-padding-right, 60px) var(--btn-padding-top-bottom, 10px) var(--btn-padding-left, 30px);
  position: relative;
  text-transform: var(--btn-text-transform, none);
  transition: transform var(--base-transition), color var(--base-transition);
  z-index: 2;
  /* Button Visual Variants */
  /* Button Icon */
}
.c-btn > span, .gform_button > span {
  box-sizing: border-box;
  line-height: 1.2;
}
.c-btn.-primary, .-primary.gform_button {
  background-image: linear-gradient(to right, var(--primary-color3) 30%, var(--primary-color2) 50%);
  background-position: left center;
  background-size: 200%;
  border: var(--btn-primary-border) solid var(--btn-primary-border-color);
  color: var(--btn-primary-color);
  padding: 0;
  position: relative;
  transition: background-position 400ms ease-out;
}
.c-btn.-primary .c-btn__text, .-primary.gform_button .c-btn__text {
  background-position: right 30px center;
  background-repeat: no-repeat;
  background-size: 20px;
  padding: var(--btn-padding-top-bottom, 10px) var(--btn-padding-right, 60px) var(--btn-padding-top-bottom, 10px) var(--btn-padding-left, 30px);
  --btn-padding-top-bottom: 15px;
  transition: background-position 400ms ease-out;
}
.c-btn.-primary .c-btn__text i, .-primary.gform_button .c-btn__text i {
  display: inline-block;
  font-style: normal;
  transform: translateX(0);
  transition: transform 400ms ease-out;
}
@media (hover: hover) {
  .c-btn.-primary:hover, .-primary.gform_button:hover {
    background-color: var(--btn-primary-bg-hover);
    background-position: right center;
    border-color: var(--btn-primary-border-color-hover);
    color: var(--btn-primary-color-hover);
  }
  .c-btn.-primary:hover .c-btn__text, .-primary.gform_button:hover .c-btn__text {
    background-position: left 30px center;
  }
  .c-btn.-primary:hover .c-btn__text i, .-primary.gform_button:hover .c-btn__text i {
    transform: translateX(30px);
  }
}
.c-btn.-secondary, .-secondary.gform_button, .c-btn.-secondary-blue, .-secondary-blue.gform_button, .c-btn.-secondary-denim, .-secondary-denim.gform_button, .c-btn.-link-denim, .-link-denim.gform_button, .c-btn.-link-blue, .-link-blue.gform_button, .c-btn.-link-orange, .-link-orange.gform_button {
  background-position: right 30px center;
  background-repeat: no-repeat;
  transition: background-position var(--base-transition) ease-out;
}
@media (hover: hover) {
  .c-btn.-secondary:hover, .-secondary.gform_button:hover, .c-btn.-secondary-blue:hover, .-secondary-blue.gform_button:hover, .c-btn.-secondary-denim:hover, .-secondary-denim.gform_button:hover, .c-btn.-link-denim:hover, .-link-denim.gform_button:hover, .c-btn.-link-blue:hover, .-link-blue.gform_button:hover, .c-btn.-link-orange:hover, .-link-orange.gform_button:hover {
    background-position: left 30px center;
  }
  .c-btn.-secondary:hover .c-btn__text, .-secondary.gform_button:hover .c-btn__text, .c-btn.-secondary-blue:hover .c-btn__text, .-secondary-blue.gform_button:hover .c-btn__text, .c-btn.-secondary-denim:hover .c-btn__text, .-secondary-denim.gform_button:hover .c-btn__text, .c-btn.-link-denim:hover .c-btn__text, .-link-denim.gform_button:hover .c-btn__text, .c-btn.-link-blue:hover .c-btn__text, .-link-blue.gform_button:hover .c-btn__text, .c-btn.-link-orange:hover .c-btn__text, .-link-orange.gform_button:hover .c-btn__text {
    transform: translateX(30px);
  }
}
.c-btn.-secondary, .-secondary.gform_button {
  background-color: var(--btn-secondary-bg);
  border: var(--btn-secondary-border) solid var(--btn-secondary-border-color);
  color: var(--btn-secondary-color);
}
@media (hover: hover) {
  .c-btn.-secondary:hover, .-secondary.gform_button:hover {
    background-color: var(--btn-secondary-bg-hover);
    border-color: var(--btn-secondary-border-color-hover);
    color: var(--btn-secondary-color-hover);
  }
}
.c-btn.-secondary-blue, .-secondary-blue.gform_button {
  background-color: var(--primary-color2);
  border: var(--btn-secondary-border) solid var(--primary-color2);
  color: var(--btn-primary-color);
}
@media (hover: hover) {
  .c-btn.-secondary-blue:hover, .-secondary-blue.gform_button:hover {
    background-color: var(--primary-color2);
    border-color: var(--primary-color2);
    color: var(--btn-primary-color);
  }
}
.c-btn.-secondary-denim, .-secondary-denim.gform_button {
  background-color: var(--primary-color3);
  border: var(--btn-secondary-border) solid var(--primary-color3);
  color: var(--btn-primary-color);
}
@media (hover: hover) {
  .c-btn.-secondary-denim:hover, .-secondary-denim.gform_button:hover {
    background-color: var(--primary-color3);
    border-color: var(--primary-color3);
    color: var(--btn-primary-color);
  }
}
.c-btn.-link-denim, .-link-denim.gform_button, .c-btn.-link-blue, .-link-blue.gform_button, .c-btn.link-orange, .link-orange.gform_button {
  background-position: right 20px center;
  border-radius: 0;
  box-shadow: none !important;
  font-size: var(--btn-secondary-font-size);
  padding: 10px var(--btn-padding-right, 60px) 10px 0;
}
@media (hover: hover) {
  .c-btn.-link-denim:hover, .-link-denim.gform_button:hover, .c-btn.-link-blue:hover, .-link-blue.gform_button:hover, .c-btn.link-orange:hover, .link-orange.gform_button:hover {
    background-position: left 0 center;
  }
  .c-btn.-link-denim:hover .c-btn__text, .-link-denim.gform_button:hover .c-btn__text, .c-btn.-link-blue:hover .c-btn__text, .-link-blue.gform_button:hover .c-btn__text, .c-btn.link-orange:hover .c-btn__text, .link-orange.gform_button:hover .c-btn__text {
    transform: translateX(35px);
  }
}
.c-btn.-link-denim, .-link-denim.gform_button {
  color: var(--primary-color3);
}
@media (hover: hover) {
  .c-btn.-link-denim:hover, .-link-denim.gform_button:hover {
    color: var(--primary-color3);
  }
}
.c-btn.-link-blue, .-link-blue.gform_button {
  color: var(--primary-color2);
}
@media (max-width: 1112px) {
  .c-btn.-link-blue, .-link-blue.gform_button {
    width: max-content;
  }
}
@media (hover: hover) {
  .c-btn.-link-blue:hover, .-link-blue.gform_button:hover {
    color: var(--primary-color2);
  }
}
.c-btn.-link-white, .-link-white.gform_button {
  border-radius: var(--c-block-radius);
  box-shadow: none !important;
  color: var(--btn-primary-color);
  font-size: var(--btn-secondary-font-size);
  line-height: 1;
  overflow: hidden;
  padding: 0 20px 10px 10px;
}
@media (max-width: 1112px) {
  .c-btn.-link-white, .-link-white.gform_button {
    color: var(--primary-color2);
  }
}
@media (min-width: 1113px) {
  .c-btn.-link-white:before, .-link-white.gform_button:before {
    background-color: var(--primary-color2);
    border-radius: var(--c-block-radius);
    content: "";
    display: block;
    height: 20px;
    position: absolute;
    right: 20px;
    top: 0;
    transform-origin: center;
    transition: transform var(--base-transition);
    width: 20px;
  }
}
.c-btn.-link-white i, .-link-white.gform_button i {
  font-style: normal;
  transition: transform var(--base-transition);
}
.c-btn.-link-white .c-btn__ico, .-link-white.gform_button .c-btn__ico {
  height: 25px;
  margin-left: 10px;
  transition: transform var(--base-transition);
  width: 25px;
}
.c-btn.-link-white .c-btn__ico svg, .-link-white.gform_button .c-btn__ico svg {
  color: var(--link-icon-color, currentColor);
}
.c-btn.-link-white .c-btn__ico svg, .-link-white.gform_button .c-btn__ico svg,
.c-btn.-link-white .c-btn__ico img,
.-link-white.gform_button .c-btn__ico img {
  height: 100%;
  margin: 0;
  object-fit: contain;
  width: 100%;
}
@media (hover: hover) {
  .c-btn.-link-white:hover, .-link-white.gform_button:hover {
    color: var(--primary-color1);
  }
  .c-btn.-link-white:hover:before, .-link-white.gform_button:hover:before {
    transform: scale(40);
  }
  .c-btn.-link-white:hover i, .-link-white.gform_button:hover i,
.c-btn.-link-white:hover .c-btn__ico,
.-link-white.gform_button:hover .c-btn__ico {
    transform: translate(10px, 5px);
  }
}
.c-btn.-link-orange, .-link-orange.gform_button {
  color: var(--secondary-color5);
}
@media (hover: hover) {
  .c-btn.-link-orange:hover, .-link-orange.gform_button:hover {
    color: var(--secondary-color5);
  }
}
.c-btn__text {
  transform: translateX(0);
  transition: transform 400ms ease-out;
}
.c-btn__ico {
  display: flex;
  max-width: 40px;
  min-width: 20px;
  pointer-events: none;
  position: relative;
  transition: transform var(--base-transition), filter var(--base-transition), opacity var(--base-transition);
}
.c-btn__ico svg,
.c-btn__ico img {
  margin: auto;
  max-height: 1.5em;
}
.c-btn__ico svg {
  color: var(--btn-ico-color);
  fill: var(--btn-ico-color);
}
.c-btn__ico img {
  max-width: 100%;
  transition: transform var(--base-transition), filter var(--base-transition), opacity var(--base-transition);
}
.c-btn-bar .c-btn, .c-btn-bar .gform_button {
  vertical-align: middle;
}
.c-btn.-load, .-load.gform_button {
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.996 1.998v6h-6' stroke='%230045c2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18.486 12.998a9 9 0 1 1-2.12-9.36l4.63 4.36' stroke='%230045c2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 25px center;
  background-repeat: no-repeat;
  background-size: 20px;
  border: 1px solid var(--primary-color1);
  color: var(--primary-color1);
}
@media (hover: hover) {
  .c-btn.-load:hover, .-load.gform_button:hover {
    background-color: var(--primary-color1);
    background-image: url("data:image/svg+xml,%3Csvg width='22' height='20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.996 1.998v6h-6' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18.486 12.998a9 9 0 1 1-2.12-9.36l4.63 4.36' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    color: var(--white);
  }
}

/* CF7 Submit Button */
.gform_button {
  background-color: var(--primary-color3);
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.145 15.174V18H0v-2.826h11.145ZM4.134 7.692v2.825h11.145V7.692H4.134ZM8.267 0v2.826h11.146V0H8.267Z' fill='%23fff'/%3E%3C/svg%3E");
  background-position: right 20px center;
  background-repeat: no-repeat;
  border: var(--btn-secondary-border) solid var(--primary-color3);
  border-radius: 40px;
  box-shadow: var(--btn-box-shadow, none);
  color: var(--btn-primary-color);
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size, 1.8rem);
  font-weight: var(--btn-font-weight, 400);
  padding: clamp(8px, 0.7vw, 13px) 55px clamp(8px, 0.7vw, 13px) 25px;
  text-transform: var(--btn-text-transform, none);
  transition: background-position 400ms ease-out, padding 400ms ease-out;
}
@media (hover: hover) {
  .gform_button:hover {
    background-position: left 20px center;
    padding: clamp(8px, 0.7vw, 13px) 25px clamp(8px, 0.7vw, 13px) 55px;
    text-decoration: none !important;
  }
}

/**
 ############################
 #   Content Block Component
 ############################
 */
.c-block {
  background-color: var(--c-block-bg);
  border-radius: var(--c-block-radius);
  box-shadow: var(--c-block-shadow);
}
.c-block__body {
  color: var(--c-block-color);
  font-size: var(--c-block-text-size);
  padding: var(--с-block-padding, 15px);
  text-align: var(--с-block-align, left);
}
.c-block__title {
  color: var(--c-block-title-color);
  font-size: var(--c-block-title-size);
  font-weight: var(--c-block-title-weight);
  margin-bottom: var(--h4-margin-bottom, 0.5em);
  position: relative;
  text-transform: var(--c-block-title-transform);
}
.c-block__title a {
  color: inherit;
  display: block;
}
@media (hover: hover) {
  .c-block__title a:hover {
    color: var(--btn-link-color-hover);
  }
}
.c-block__pretitle {
  margin-bottom: 0.5em;
}
.c-block__text strong {
  color: var(--primary-color2);
}
.c-block__text p:last-child {
  margin-bottom: 0;
}
.c-block__media {
  position: relative;
}
@media (min-width: 1113px) {
  .c-block__media {
    aspect-ratio: var(--c-block-img-ratio, 4/3);
  }
}
@media (max-width: 767px) {
  .c-block__media {
    aspect-ratio: var(--c-block-img-ratio, 4/3);
  }
}
.c-block__btn {
  margin-top: 1em;
}
.c-block .c-image {
  width: 100%;
}

.c-block-social {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 1112px) {
  .c-block-social {
    justify-content: center;
  }
}
.c-block-social__item {
  align-items: center;
  padding: 0 clamp(7px, 0.7vw, 15px) 0 0;
}
.c-block-social__item a {
  border-radius: 50%;
  padding: 5px;
}
.c-block-social__link {
  background-color: var(--social-icon-bg);
  border-radius: var(--social-icon-radius);
  color: var(--social-icon-color);
  display: flex;
  height: var(--social-icon-size);
  width: var(--social-icon-size);
  transition: transform var(--base-transition) ease-in;
  transform-origin: center;
}
.c-block-social__link .icon {
  color: var(--white);
}
@media (hover: hover) {
  .c-block-social__link:hover {
    background-color: var(--social-icon-bg-hover);
    color: var(--social-icon-color-hover);
    transform: scale(1.05);
  }
}
.c-block-social__icon {
  margin: auto;
  max-height: 80%;
  max-width: 80%;
  padding: 5px;
}
.c-block-social .c-white {
  font-size: 2.2rem;
  margin: 0;
}
.c-block-social__list {
  display: flex;
  flex-wrap: wrap;
  --social-icon-size: 45px;
  padding-left: 15px;
}
.c-block-social.-blue .c-block-social__link {
  background-color: var(--primary-color2);
}

.m-hero .c-heading {
  padding: 65px 0 clamp(40px, 6vw, 145px) 0;
}
@media (min-width: 1561px) {
  .m-hero .c-heading {
    max-width: 55%;
  }
}
@media (max-width: 1560px) and (min-width: 1113px) {
  .m-hero .c-heading {
    max-width: 72%;
  }
}
.m-hero .c-heading__sub {
  padding: 0 20% 20px 0;
}
.m-hero__list {
  padding-bottom: 30px;
}
@media (max-width: 1112px) {
  .m-hero__list {
    flex-direction: column;
    padding-bottom: 1.5rem;
  }
}
@media (max-width: 1112px) {
  .m-hero__list li {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12.5' r='12' fill='%23FAB040'/%3E%3Cpath d='M16 12.5L8 7L11.0476 12.5L8 18L16 12.5Z' fill='%2321245C'/%3E%3C/svg%3E%0A");
    background-position: left top 5px;
    background-repeat: no-repeat;
    background-size: 24px;
    padding: 10px 0 10px 30px;
    width: 100%;
  }
}
.m-hero__list .-icon {
  height: 50px;
  width: 50px;
}
@media (max-width: 1112px) {
  .m-hero__list .-icon {
    display: none;
  }
}
.m-hero__list .-text {
  margin: 0;
  padding: 0 clamp(20px, 2.6vw, 50px) 0 10px;
  width: calc(100% - 50px);
}
.m-hero__company .f1 {
  background-color: var(--white);
}
@media (min-width: 1113px) {
  .m-hero__company .f1 {
    padding: 30px 0;
  }
}
.m-hero__cols {
  padding-right: 16%;
}
.m-hero__cols .f1 {
  align-items: center;
  background-color: var(--white);
}
@media (min-width: 1113px) {
  .m-hero__cols .f1 {
    padding: clamp(20px, 2.2vw, 40px) 0;
  }
}
.m-hero__cols .f2 {
  background-color: var(--white);
  margin: 0;
  padding: 0 30px 0 0;
}
.m-hero__cols .-h4 {
  font-size: var(--secondary-color2);
  font-weight: 500;
}
@media (min-width: 1113px) {
  .m-hero__stats {
    width: 40%;
  }
}
@media (max-width: 1112px) {
  .m-hero__stats {
    align-items: flex-start !important;
    flex-direction: column;
    padding: 20px 100px 20px 0;
    text-align: left;
  }
}
.m-hero__stats .-h1, .m-hero__stats .-h3 {
  margin: 0;
}
@media (min-width: 1113px) {
  .m-hero__stats .-h1 {
    padding: 10px 10px 10px 0;
    width: 30%;
    font-size: clamp(40px, 2.6vw, 50px);
  }
}
.m-hero__stats .-h3 {
  font-size: clamp(16px, 1.15vw, 22px);
}
@media (min-width: 1113px) {
  .m-hero__stats .-h3 {
    padding: 10px clamp(20px, 2vw, 40px) 10px 15px;
    width: 70%;
  }
}
.m-hero__logos {
  align-items: center;
  justify-content: space-between;
}
@media (min-width: 1113px) {
  .m-hero__logos {
    width: 60%;
  }
}
.m-hero__logos img {
  height: auto;
  max-height: 50px;
  object-fit: contain;
}
@media (min-width: 1113px) {
  .m-hero__logos img {
    width: max-content;
    max-width: 25%;
  }
}
@media (max-width: 1112px) {
  .m-hero__logos img {
    width: 20%;
  }
}
.m-hero__find {
  align-items: center;
  flex-wrap: nowrap;
  padding: 50px 0 0 0;
}
.m-hero__find-title {
  font-size: 1.4rem;
  letter-spacing: 3px;
}
.m-hero__find-items {
  align-items: center;
  display: flex;
  padding: 10px;
}
@media (max-width: 767px) {
  .m-hero__find-items {
    padding: 10px 0;
  }
}
.m-hero__find-item {
  align-items: center;
  display: flex;
  margin: 0 10px 0 0;
}
.m-hero__find-item a {
  border: 1px solid var(--white);
  border-radius: 5px;
  display: flex;
  flex-wrap: wrap;
  padding: 11px 22px;
  transition: border-color var(--base-transition) ease-out, background-color var(--base-transition) ease-out;
}
@media (hover: hover) {
  .m-hero__find-item a:hover {
    background-color: var(--primary-color2);
    border-color: var(--primary-color2);
  }
}
@media (max-width: 1112px) {
  .m-hero .l-banner {
    padding: 0;
    text-align: left;
  }
}
.m-hero .thumbnail-right {
  position: absolute;
  top: 80px;
  z-index: 2;
  max-width: 360px;
  right: -20px;
}
@media (max-width: 1112px) {
  .m-hero .thumbnail-right {
    position: relative;
    top: 31px;
    right: 0;
  }
}
@media (min-width: 1113px) {
  .m-hero.-home .m-hero__logos {
    padding-right: 15%;
  }
}
@media (max-width: 1112px) {
  .m-hero.-home .m-hero__logos {
    padding: 0 0 20px 0;
  }
}
@media (min-width: 1113px) {
  .m-hero.-home .m-hero__company {
    padding-right: 10%;
  }
}
.m-hero.-home .m-banner__container {
  padding-top: clamp(120px, 8.5vw, 160px);
}
@media (max-width: 1112px) {
  .m-hero.-home .m-banner__container {
    padding-top: 40px;
  }
}
.m-hero.-home .m-banner__media:after {
  background-blend-mode: hard-light;
  background-image: url("data:image/svg+xml,%3Csvg width='631' height='585' viewBox='0 0 631 585' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.5'%3E%3Cpath d='M362.272 493.169V585H0V493.169H362.272ZM134.364 249.985V341.817H496.636V249.985H134.364ZM268.728 0V91.8314H631V0H268.728Z' fill='%2300ADED'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-position: 103% 67%;
  background-repeat: no-repeat;
  background-size: 50% 60vh;
}
@media (max-width: 1112px) {
  .m-hero.-home .m-banner__media:after {
    background-image: none;
  }
}
.m-hero.-home .m-hero__badge {
  bottom: -53px;
  position: absolute;
  right: -25px;
  width: 23%;
  z-index: 21;
}
@media (max-width: 1439px) and (min-width: 1113px) {
  .m-hero.-home .m-hero__badge {
    bottom: -42px;
  }
}
@media (max-width: 1112px) {
  .m-hero.-home .m-hero__badge {
    bottom: auto;
    top: -30px;
    width: 120px;
  }
}
.m-hero.-page {
  overflow: hidden;
}
.m-hero.-page .icon-icon-logo-tm {
  bottom: 100%;
  height: clamp(250px, 18vw, 330px);
  object-fit: contain;
  object-position: left bottom;
  position: absolute;
  right: -167px;
  width: 390px;
}
@media (max-width: 1439px) {
  .m-hero.-page .icon-icon-logo-tm {
    right: -8.3vw;
  }
}
@media (max-width: 1112px) {
  .m-hero.-page .icon-icon-logo-tm {
    display: none;
  }
}
.m-hero.-page .m-banner__container {
  padding-top: clamp(120px, 8.5vw, 160px);
}
.m-hero.-page .c-heading {
  padding: 30px 0 clamp(50px, 5.2vw, 100px) 0;
}
.m-hero.-page .c-heading__sub {
  padding-bottom: 5px;
}
@media (min-width: 1113px) {
  .m-hero.-page .m-hero__company {
    padding-right: 16%;
  }
}
@media (min-width: 1113px) {
  .m-hero.-page .m-hero__logos {
    padding-right: 10rem;
  }
}
@media (max-width: 1112px) {
  .m-hero.-page .m-hero__cols {
    padding: 0;
  }
  .m-hero.-page .m-hero__cols .f2 {
    padding: 20px 0 0 0;
    width: 100%;
  }
}
@media (min-width: 1113px) {
  .m-hero.-page .m-hero__cols .f2 {
    padding: 0 clamp(80px, 6vw, 115px) 0 0;
  }
}
@media (max-width: 1112px) {
  .m-hero.-page .m-hero__stats {
    align-items: center !important;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 20px 0;
  }
}
@media (max-width: 1112px) {
  .m-hero.-page .m-hero__stats .c-purple {
    padding: 0 0 0 20px;
  }
}
.m-hero.-page .c-block-social {
  padding: 20px 0 0 0;
}
@media (max-width: 767px) {
  .m-hero.-page .c-block-social {
    justify-content: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .m-hero.-page .c-block-social__list {
    padding-left: 0;
    padding-top: 10px;
  }
}
.m-hero.-locations .c-heading__title {
  margin: 0;
  padding: 30px 0;
}
@media (max-width: 1112px) {
  .m-hero.-locations .certified-instructor {
    margin-left: 0;
  }
}

.hero-bg-burn {
  background-blend-mode: overlay;
  background-image: var(--page-hero-bg), radial-gradient(circle at 40% 80%, #00aded, rgba(33, 36, 92, 0.2) 30%), radial-gradient(circle at 90% 10%, #00aded, rgba(33, 36, 92, 0.2) 30%), radial-gradient(circle at 0% 10%, #00aded, rgba(33, 36, 92, 0.2) 30%);
  background-position: right 60px;
  background-size: cover;
}
@media (min-width: 1113px) {
  .hero-bg-burn {
    background-position: right 110px;
  }
}
.hero-bg-burn-video:after {
  background-blend-mode: overlay !important;
  background-image: radial-gradient(circle at 40% 80%, #00aded, rgba(33, 36, 92, 0.2) 30%), radial-gradient(circle at 90% 10%, #00aded, rgba(33, 36, 92, 0.2) 30%), radial-gradient(circle at 0% 10%, #00aded, rgba(33, 36, 92, 0.2) 30%) !important;
  background-position: right top;
  background-size: cover !important;
}
.hero-bg-burn-video:before {
  content: "";
  display: block;
  width: 400px;
  height: 400px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  background-blend-mode: hard-light;
  background-image: url("data:image/svg+xml,%3Csvg width='631' height='585' viewBox='0 0 631 585' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.5'%3E%3Cpath d='M362.272 493.169V585H0V493.169H362.272ZM134.364 249.985V341.817H496.636V249.985H134.364ZM268.728 0V91.8314H631V0H268.728Z' fill='%2300ADED'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-position: 103% 67%;
  background-repeat: no-repeat;
  background-size: 50% 60vh;
}
@media (max-width: 1112px) {
  .hero-bg-burn-video:before {
    background-image: none;
  }
}

.hero-side-bg {
  position: relative;
}
.hero-side-bg:before {
  background-color: var(--white);
  content: "";
  display: block;
  height: 100%;
  margin-left: calc(-50vw + clamp(512px, 35.3vw, 720px));
  position: absolute;
  width: 80%;
  z-index: -1;
}
@media (max-width: 1112px) {
  .hero-side-bg:before {
    left: -20px;
    margin: 0;
    right: 0;
    width: calc(100% + 40px);
  }
}
.hero-side-bg.-no-bg:before {
  content: none;
}
.hero-side-bg.-no-bg .f1 {
  background-color: transparent;
  padding: 0;
}

.preloader {
  align-items: center;
  background-color: transparent !important;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
}
.preloader:before {
  border-color: whitesmoke;
  border-style: solid;
  border-width: 500px;
  content: "";
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: border-width 1200ms 1500ms ease-out;
  width: 100%;
}
@media (min-width: 1921px) {
  .preloader:before {
    border-width: 1000px;
  }
}
@media (max-width: 1920px) and (min-width: 1561px) {
  .preloader:before {
    border-width: 600px;
  }
}
@media (max-width: 767px) {
  .preloader:before {
    border-width: 500px 0;
  }
}
.preloader.hide {
  display: none;
}
.preloader .-tm {
  position: absolute;
}
.preloader__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  transition: transform 1200ms 1200ms ease-out, opacity 600ms 1000ms ease-out;
}
.preloader__item {
  transition: transform 800ms ease-out, opacity 400ms ease-out;
}
.preloader__item svg rect {
  transition: fill 400ms 800ms ease-out, opacity 400ms 800ms ease-out;
}
.preloader .-p1 {
  margin-left: 50px;
  padding: 20px 0;
  transform: translateX(100px);
}
.preloader .-p2 {
  transform: translateX(-100px);
}
.preloader .-p3 {
  margin-left: -50px;
  padding: 20px 0;
  transform: translateX(100px);
}
.preloader[data-scroll=in]:before {
  border-width: 1px;
}
.preloader[data-scroll=in] .preloader__item {
  opacity: 1 !important;
  transform: translateX(0);
}
.preloader[data-scroll=in] .preloader__item svg rect, .preloader[data-scroll=in] .preloader__item svg path {
  fill: rgba(72, 61, 139, 0.5);
}
.preloader[data-scroll=in] .preloader__wrap {
  transform: scale(12);
  opacity: 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9faGVscGVycy9fcmVib290LnNjc3MiLCJfX2NvcmUvbWl4aW5zL19wYWdlLXNpemVzLnNjc3MiLCJfX2NvcmUvc2V0dGluZ3MvX3NldHRpbmdzLW1haW4uc2NzcyIsIl9fY29yZS9taXhpbnMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3MtYnV0dG9ucy5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1mb3Jtcy5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1oZWFkZXIuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3MtZm9vdGVyLnNjc3MiLCJfX2NvcmUvc2V0dGluZ3MvX3NldHRpbmdzLW1vZHVsZXMuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3Mtc2xpZGVycy5zY3NzIiwiY3JpdGljYWwuc2NzcyIsIl9sYXlvdXQvX19iYXNlLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9faGVhZGVyLWNvcmUuc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2xheW91dHMvX2hlYWRlcl9yb3dzLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfc3RpY2t5LnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfbW9iaWxlLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfc2ltcGxlLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfZGV2aWNlcy5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19uYXZiYXJfbWVudS5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19uYXZiYXJfZHJvcGRvd24uc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2Jsb2Nrcy9fbmF2YmFyX2J1cmdlci5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19zaXRlX3NlYXJjaC5zY3NzIiwiX21vZHVsZXMvX2Jhbm5lcnMuc2NzcyIsIl9tb2R1bGVzL2Jhbm5lcnMvX19iYW5uZXJzLWNvcmUuc2NzcyIsIl9fY29yZS9taXhpbnMvX21pbmktbWl4aW5zLnNjc3MiLCJfbW9kdWxlcy9iYW5uZXJzL19fYmFubmVycy1sYXlvdXQuc2NzcyIsIl9tb2R1bGVzL2Jhbm5lcnMvX19iYW5uZXJzLXNldHRpbmdzLnNjc3MiLCJfY29tcG9uZW50cy9oZWFkaW5ncy9fX2hlYWRpbmdzLWNvcmUuc2NzcyIsIl9jb21wb25lbnRzL2hlYWRpbmdzL19faGVhZGluZ3MtbGF5b3V0cy5zY3NzIiwiX2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIl9jb21wb25lbnRzL2J1dHRvbnMvX2J1dHRvbnMtY29yZS5zY3NzIiwiX2NvbXBvbmVudHMvX2Jsb2NrLnNjc3MiLCJfY29tcG9uZW50cy9ibG9jay9fYmxvY2stY29yZS5zY3NzIiwiX2NvbXBvbmVudHMvX3NvY2lhbHMuc2NzcyIsIl9mbGV4aWJsZS9faG9tZS1oZXJvLnNjc3MiLCJfbGF5b3V0L19wcmVsb2FkZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7RUFHRTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU9FOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUMxWkY7QUFXQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FDWEE7QUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUNzaUJBO0VEdmtCSjtJQW1DUTs7OztBRW5DUjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUNuQ0o7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3RCRDtBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7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QTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBaENtakJKO0VnQy9qQkE7SUFjUTs7O0FoQ2lqQlI7RWdDL2pCQTtJQWlCUTs7O0FoQzhpQlI7RWdDL2pCQTtJQW9CUTs7O0FBSVI7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdJO0VBQ0k7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFJQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSTtFQUNJOztBQUlaO0VBQ0k7RUFDQSIsImZpbGUiOiJjcml0aWNhbC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBNb2RpZmllZCBCb290c3RyYXAgUmVib290IHY1LjEuMSAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLykgKHJlbW92ZWQgY29sb3JzIGFuZCBsaW5rcyB1bmRlcmxpbmluZylcclxuICogQ29weXJpZ2h0IDIwMTEtMjAyMCBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcclxuICogQ29weXJpZ2h0IDIwMTEtMjAyMCBUd2l0dGVyLCBJbmMuXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxyXG4gKiBGb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzLCBsaWNlbnNlZCBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZClcclxuICovXHJcbiosXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xyXG4gIDpyb290IHtcclxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG4gIH1cclxufVxyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcblxyXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcclxuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmhyIHtcclxuICBtYXJnaW46IDFyZW0gMDtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG9wYWNpdHk6IDAuMjU7XHJcbn1cclxuXHJcbmhyOm5vdChbc2l6ZV0pIHtcclxuICBoZWlnaHQ6IDFweDtcclxufVxyXG5cclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBsaW5lLWhlaWdodDogMS4yO1xyXG59XHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiBjYWxjKDEuMzc1cmVtICsgMS41dncpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgaDEge1xyXG4gICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG5oMiB7XHJcbiAgZm9udC1zaXplOiBjYWxjKDEuMzI1cmVtICsgMC45dncpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgaDIge1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gIH1cclxufVxyXG5cclxuaDMge1xyXG4gIGZvbnQtc2l6ZTogY2FsYygxLjNyZW0gKyAwLjZ2dyk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICBoMyB7XHJcbiAgICBmb250LXNpemU6IDEuNzVyZW07XHJcbiAgfVxyXG59XHJcblxyXG5oNCB7XHJcbiAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xyXG59XHJcblxyXG5wIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDFlbTtcclxufVxyXG5cclxuYWJiclt0aXRsZV0sXHJcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xyXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcclxuICBjdXJzb3I6IGhlbHA7XHJcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XHJcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lO1xyXG59XHJcblxyXG5hZGRyZXNzIHtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxub2wsXHJcbnVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5vbCxcclxudWwsXHJcbmRsIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxub2wgb2wsXHJcbnVsIHVsLFxyXG5vbCB1bCxcclxudWwgb2wge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbmR0IHtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5kZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUge1xyXG4gIG1hcmdpbjogMCAwIDFyZW07XHJcbn1cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxufVxyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcclxufVxyXG5cclxubWFyayB7XHJcbiAgcGFkZGluZzogMC4yZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcclxufVxyXG5cclxuc3ViLFxyXG5zdXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LXNpemU6IDAuNzVlbTtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnN1YiB7XHJcbiAgYm90dG9tOiAtLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtLjVlbTtcclxufVxyXG5cclxuYSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5hOmhvdmVyIHtcclxuXHJcbn1cclxuXHJcbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pLCBhOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKTpob3ZlciB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5wcmUsXHJcbmNvZGUsXHJcbmtiZCxcclxuc2FtcCB7XHJcbiAgZm9udC1mYW1pbHk6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbiAgZGlyZWN0aW9uOiBsdHIgLyogcnRsOmlnbm9yZSAqLztcclxuICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7XHJcbn1cclxuXHJcbnByZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcclxufVxyXG5wcmUgY29kZSB7XHJcbiAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcclxufVxyXG5cclxuY29kZSB7XHJcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xyXG4gIGNvbG9yOiAjZDYzMzg0O1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxufVxyXG5hID4gY29kZSB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmtiZCB7XHJcbiAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcclxuICBmb250LXNpemU6IDAuODc1ZW07XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTtcclxuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XHJcbn1cclxuXHJcbmtiZCBrYmQge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDAgMCAxcmVtO1xyXG59XHJcblxyXG5pbWcsXHJcbnN2ZyB7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxudGFibGUge1xyXG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbn1cclxuXHJcbmNhcHRpb24ge1xyXG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuICBjb2xvcjogIzZjNzU3ZDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG50aCB7XHJcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcclxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDtcclxufVxyXG5cclxudGhlYWQsXHJcbnRib2R5LFxyXG50Zm9vdCxcclxudHIsXHJcbnRkLFxyXG50aCB7XHJcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAwO1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbmJ1dHRvbjpmb2N1cyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcclxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XHJcbn1cclxuXHJcbmlucHV0LFxyXG5idXR0b24sXHJcbnNlbGVjdCxcclxub3B0Z3JvdXAsXHJcbnRleHRhcmVhIHtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5idXR0b24sXHJcbmlucHV0IHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG5bcm9sZT1cImJ1dHRvblwiXSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5zZWxlY3Qge1xyXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xyXG59XHJcblxyXG5bbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5bdHlwZT1cImJ1dHRvblwiXSxcclxuW3R5cGU9XCJyZXNldFwiXSxcclxuW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG59XHJcblxyXG5idXR0b246bm90KDpkaXNhYmxlZCksXHJcblt0eXBlPVwiYnV0dG9uXCJdOm5vdCg6ZGlzYWJsZWQpLFxyXG5bdHlwZT1cInJlc2V0XCJdOm5vdCg6ZGlzYWJsZWQpLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTpub3QoOmRpc2FibGVkKSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG46Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG4gIG1pbi13aWR0aDogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbmxlZ2VuZCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xyXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICBsZWdlbmQge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG5sZWdlbmQgKyAqIHtcclxuICBjbGVhcjogbGVmdDtcclxufVxyXG5cclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXHJcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXHJcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxyXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICBvdXRsaW5lLW9mZnNldDogLTJweDtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxufVxyXG5cclxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgZm9udDogaW5oZXJpdDtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxufVxyXG5cclxub3V0cHV0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbmlmcmFtZSB7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5baGlkZGVuXSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qIE1lZGlhIFF1ZXJpZXMgQnJlYWtwb2ludHMgKi9cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gICAgJ3Bob25lJzogNzY3cHgsXHJcbiAgICAndGFibGV0JzogMTExMnB4LFxyXG4gICAgJ2xhcHRvcCc6IDE0MzlweCxcclxuICAgICdsYXB0b3AtbSc6IDE1MzVweCxcclxuICAgICdsYXB0b3AtbCc6IDE1NjBweCxcclxuICAgICdkZXNrdG9wJzogMTkyMHB4XHJcbik7XHJcblxyXG4vKipcclxuKiAqKioqKioqKioqKioqKioqKioqXHJcbiogIFVzYWdlIGV4YW1wbGVzXHJcbiogKioqKioqKioqKioqKioqKioqKlxyXG4qXHJcbi8vXHJcbi8vICB1c2UgPD1cclxuKiAgIEFMV0FZUyB1c2UgPD0gKCAnPCcgd2l0aCAnPScgY2hhcmFjdGVyKSBmb3IgYWxsIGJyZWFrcG9pbnRzXHJcbiogICB3aGVuIHNldHRpbmcgbWF4LXdpZHRoLCBleDogbWF4LXdpZHRoOiA3NjdweCxcclxuKlxyXG4qICAgc28gbWF4LXdpZHRoOiAxNDQwcHggID09IG1lZGlhKCc8PWRlc2t0b3AnKVxyXG4qXHJcbiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKlxyXG4vLyAgdXNlID5cclxuKiAgIEFMV0FZUyB1c2Ugb25seSA+IGFzIHNpbmdsZSBjaGFyYWN0ZXIgZm9yIGFsbCBicmVha3BvaW50c1xyXG4qICAgd2hlbiBzZXR0aW5nIG1pbi13aWR0aCwgZXg6IG1pbi13aWR0aDogNzY4cHgsXHJcbipcclxuKiAgIHNvIG1pbi13aWR0aDogMTAyNXB4ICA9PSBtZWRpYSgnPmRlc2t0b3AnKVxyXG4qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKlxyXG4qIyMgRVhBTVBMRTpcclxuKlxyXG4qICAgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpXHJcbiogICA9XHJcbiogICBtZWRpYSAoJz50YWJsZXQnKSwgKCc8PWRlc2t0b3AnKVxyXG4qXHJcbi8vXHJcblxyXG4gKi9cclxuIiwiOnJvb3Qge1xyXG4gICAgLyogTGF5b3V0IFNldHRpbmdzICovXHJcbiAgICAtLXdoaXRlOiAjZmZmZmZmO1xyXG4gICAgLS1ib2R5LWJnOiAjZTVmM2ZmO1xyXG4gICAgLS1ib2R5LWJnLWFsdDogIzIxMjQ1YztcclxuICAgIC0tYm9yZGVyLWNvbG9yOiAjY2JjYmRkO1xyXG4gICAgLS10aXRsZXMtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tdGl0bGVzLWNvbG9yLWFjY2VudDogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7IC8vIGludmVydGVkIGNvbG9yXHJcbiAgICAtLXRpdGxlcy1jb2xvci1hbHQ6ICNmZmZmZmY7IC8vIGludmVydGVkIGNvbG9yXHJcbiAgICAvL0NvbG9yc1xyXG4gICAgLS1wcmltYXJ5LWNvbG9yMTogIzIxMjQ1YztcclxuICAgIC0tc2Vjb25kYXJ5LWNvbG9yMTogI2ZhYjA0MDtcclxuICAgIC0tcHJpbWFyeS1jb2xvcjI6ICMwMGFkZWQ7XHJcbiAgICAtLXNlY29uZGFyeS1jb2xvcjI6ICM1MDUzOGY7XHJcbiAgICAtLXByaW1hcnktY29sb3IzOiAjMDA0NWMyO1xyXG4gICAgLS1zZWNvbmRhcnktY29sb3IzOiAjZTVmM2ZmO1xyXG4gICAgLS1zZWNvbmRhcnktY29sb3I0OiAjZWRlZGVkO1xyXG4gICAgLS1zZWNvbmRhcnktY29sb3I1OiAjRjA1QTI4O1xyXG4gICAgLy8gRW5kIENvbG9yc1xyXG4gICAgLS12ZXJ0aWNhbC1nYXA6IDV2dzsgLy8gdmVydGljYWwgc3BhY2UgYmV0d2VlbiBwYWdlIHNlY3Rpb25zICguZ2FwLXRvcCwgLmdhcC10b3AtcywgLmdhcC10b3AtbCwgLmdhcC1ib3QsIC5nYXAtYm90LXMsIC5nYXAtYm90LWwpXHJcbiAgICAtLWdyaWQtZ3V0dGVyOiAyNHB4O1xyXG4gICAgLyogQ29sb3JzICovXHJcbiAgICAtLXBhZ2UtZ3V0dGVyOiAyMHB4O1xyXG4gICAgLS1wcmltYXJ5LWxpbmstY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tcHJpbWFyeS1saW5rLWNvbG9yLWFsdDogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7IC8vIGludmVydGVkIGNvbG9yXHJcbiAgICAtLWJvZHktdGV4dC1jb2xvcjogIzE2Mjc1YztcclxuICAgIC0tYm9keS10ZXh0LWNvbG9yLWFsdDogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7IC8vIGludmVydGVkIGNvbG9yXHJcbiAgICAtLWJhc2UtdHJhbnNpdGlvbjogLjRzOyAvLyBkZWZhdWx0IHRyYW5zaXRpb24gZm9yIGhvdmVyc1xyXG4gICAgLS1ibG9nLXdpZHRoOiA4MDBweDtcclxuICAgIC0tY29udGVudC13aWR0aDogdmFyKC0tZGVza3RvcC13aWR0aC1sKTsgLy8gRGVmYXVsdCBjb250ZW50IHdpZHRoICgxMjgwKVxyXG4gICAgLS1kZXNrdG9wLXdpZHRoOiAxMTEycHg7XHJcbiAgICAtLXBob25lLXdpZHRoOiA1NzZweDtcclxuICAgIC0tdGFibGV0LXdpZHRoOiA3NjhweDtcclxuICAgIC0tZGVza3RvcC13aWR0aC1sOiAxNDQwcHg7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAtLXZlcnRpY2FsLWdhcDogNXZoO1xyXG4gICAgfVxyXG59IiwiLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2Mi4wLjBcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcbkB1c2UgJ3Nhc3M6bWF0aCc7XHJcbkB1c2UgJ3Nhc3M6bWFwJztcclxuQHVzZSAnc2FzczpsaXN0JztcclxuQHVzZSAnc2FzczpzdHJpbmcnO1xyXG5AdXNlICdzYXNzOm1ldGEnO1xyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAncGhvbmUnOiAzMjBweCxcclxuICAndGFibGV0JzogNzY4cHgsXHJcbiAgJ2Rlc2t0b3AnOiAxMDI0cHgsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuICAnc2NyZWVuJzogJ3NjcmVlbicsXHJcbiAgJ3ByaW50JzogJ3ByaW50JyxcclxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG4gICdyZXRpbmEyeCc6XHJcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6XHJcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDAsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgbWV0YS5mZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAkbWVzc2FnZTtcclxuICAgICRfOiBub29wKCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICB9XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge1xyXG59XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXHJcbiAgICAgIHtcclxuICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmIG5vdCBsaXN0LmluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcbiAgQGlmIHN0cmluZy5sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGxpc3QuaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgJGludGVydmFsOiBtYXAuZ2V0KCR1bml0LWludGVydmFscywgbWF0aC51bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje21hdGgudW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gIEBpZiBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcbiAgfVxyXG5cclxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxpc3QubGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsaXN0Lmxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIG1ldGEudHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoXHJcbiAgICAnMCc6IDAsXHJcbiAgICAnMSc6IDEsXHJcbiAgICAnMic6IDIsXHJcbiAgICAnMyc6IDMsXHJcbiAgICAnNCc6IDQsXHJcbiAgICAnNSc6IDUsXHJcbiAgICAnNic6IDYsXHJcbiAgICAnNyc6IDcsXHJcbiAgICAnOCc6IDgsXHJcbiAgICAnOSc6IDksXHJcbiAgKTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyaW5nLmxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdChsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0cmluZy5zbGljZSgkdmFsdWUsICRpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuICAgICAgJGRpZ2l0czogMTtcclxuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6IChcclxuICAgICdweCc6IDFweCxcclxuICAgICdjbSc6IDFjbSxcclxuICAgICdtbSc6IDFtbSxcclxuICAgICclJzogMSUsXHJcbiAgICAnY2gnOiAxY2gsXHJcbiAgICAncGMnOiAxcGMsXHJcbiAgICAnaW4nOiAxaW4sXHJcbiAgICAnZW0nOiAxZW0sXHJcbiAgICAncmVtJzogMXJlbSxcclxuICAgICdwdCc6IDFwdCxcclxuICAgICdleCc6IDFleCxcclxuICAgICd2dyc6IDF2dyxcclxuICAgICd2aCc6IDF2aCxcclxuICAgICd2bWluJzogMXZtaW4sXHJcbiAgICAndm1heCc6IDF2bWF4LFxyXG4gICk7XHJcblxyXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC5nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLm1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuICBAY29udGVudDtcclxuXHJcbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKVxyXG4gIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcbiAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qIEJ1dHRvbnMqL1xyXG5cclxuOnJvb3Qge1xyXG4gICAgLS1idG4tYm9yZGVyLXJhZGl1czogOTBweDtcclxuICAgIC0tYnV0dG9uLWZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAtLWJ0bi1mb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XHJcbiAgICAtLWJ0bi1mb250LXNpemU6IDEuOHJlbTtcclxuICAgIC0tYnRuLXNlY29uZGFyeS1mb250LXNpemU6IDEuNnJlbTtcclxuICAgIC0tYnRuLWZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAtLWxpbmstaWNvbi1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgLS1idG4tbGluay1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG5cclxuICAgIC0tYnRuLWxpbmstY29sb3ItaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tYnRuLXBhZGRpbmctbGVmdC1yaWdodDogMzBweDtcclxuICAgIC0tYnRuLXBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIC0tYnRuLXBhZGRpbmctcmlnaHQ6IDYwcHg7XHJcbiAgICAtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b206IDEzcHg7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LWJnOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LWJnLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LWJvcmRlcjogMHB4O1xyXG4gICAgLS1idG4tcHJpbWFyeS1ib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tYnRuLXByaW1hcnktYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcblxyXG4gICAgLS1idG4tcHJpbWFyeS1jb2xvcjogI2ZmZjtcclxuICAgIC0tYnRuLXByaW1hcnktY29sb3ItaG92ZXI6ICNmZmY7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LXNoYWRvdzogbm9uZTtcclxuICAgIC0tYnRuLXNlY29uZGFyeS1iZzogI2ZmZjtcclxuICAgIC0tYnRuLXNlY29uZGFyeS1iZy1ob3ZlcjogI2ZmZjtcclxuICAgIC0tYnRuLXNlY29uZGFyeS1ib3JkZXI6IDFweDtcclxuICAgIC0tYnRuLXNlY29uZGFyeS1ib3JkZXItY29sb3I6ICNmZmY7XHJcbiAgICAtLWJ0bi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yLWhvdmVyOiAjZmZmO1xyXG5cclxuICAgIC0tYnRuLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xyXG4gICAgLS1idG4tc2Vjb25kYXJ5LWNvbG9yLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XHJcbiAgICAtLWJ0bi1zZWNvbmRhcnktc2hhZG93OiBub25lO1xyXG4gICAgLS1idG4tdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuIiwiLyogRm9ybXMgKi9cclxuXHJcbjpyb290IHtcclxuXHQtLWxhYmVsLWZvbnQtc2l6ZTogMS42cmVtO1xyXG5cdC0tbGFiZWwtZm9udC13ZWlnaHQ6IDYwMDtcclxuXHQtLWxhYmVsLWNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcblx0LS1pbnB1dC1ib3JkZXItd2lkdGg6IDJweDtcclxuXHQtLWlucHV0LWJvcmRlci1yYWRpdXM6IDI2cHg7XHJcblx0LS1pbnB1dC1wYWRkaW5nLXRvcC1ib3R0b206IDEwcHg7XHJcblx0LS1pbnB1dC1wYWRkaW5nLWxlZnQtcmlnaHQ6IDE1cHg7XHJcblx0LS1pbnB1dC1mb250LXNpemU6IDEuOHJlbTtcclxuXHQtLWlucHV0LWZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0LS1pbnB1dC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG5cdC0taW5wdXQtYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHQtLWlucHV0LWJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yKTtcclxuXHQtLWZvcm0tcm93LW1hcmdpbi10b3AtYm90dG9tOiAxNXB4O1xyXG5cdC0tZm9ybS1yb3ctbWFyZ2luLWxlZnQtcmlnaHQ6IDBweDtcclxuXHQtLW1lc3NhZ2UtZm9udC1zaXplOiAxLjZyZW07XHJcblx0LS1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0LS1tZXNzYWdlLWZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0LS12YWxpZGF0aW9uLWVycm9yLWNvbG9yOiAjZGE3NDdiO1xyXG5cdC0tdmFsaWRhdGlvbi1zdWNjZXNzLWNvbG9yOiAjNTBiMmEwO1xyXG5cdC0tdmFsaWRhdGlvbi1ub3RpY2UtY29sb3I6ICNmZmI3MDA7XHJcbn1cclxuIiwiLyogSGVhZGVyICovXHJcblxyXG46cm9vdCB7XHJcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDU1cHg7IC8vIGhlYWRlciBoZWlnaHRcclxufVxyXG5cclxuLnNpdGUtaGVhZGVyIHtcclxuICAgIC0tZHJvcGRvd24tYmc6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tZHJvcGRvd24tY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuXHJcbiAgICAtLWRyb3Bkb3duLWNvbG9yLWFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgLS1kcm9wZG93bi1mb250LXNpemU6IDE2cHg7XHJcbiAgICAtLWRyb3Bkb3duLWZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAtLWhlYWRlci1sb2dvLWhlaWdodDogNDBweDtcclxuICAgIC0taGVhZGVyLWxvZ28td2lkdGg6IDEwMCU7XHJcbiAgICAtLWhlYWRlci1tYWluLWJnOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XHJcblxyXG4gICAgLS1oZWFkZXItbWFpbi1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xyXG4gICAgLS1oZWFkZXItbWFpbi1jb2xvci1ob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgLS1oZWFkZXItbWFpbi1mb250LXNpemU6IDE1cHg7XHJcbiAgICAtLWhlYWRlci1tYWluLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAtLWhlYWRlci1tYWluLWdhcC1iZXR3ZWVuLWl0ZW1zOiBjbGFtcCgxMHB4LCAxdncsIDE4cHgpO1xyXG4gICAgLS1oZWFkZXItbWFpbi1uYXYtaGVpZ2h0OiA0MHB4O1xyXG4gICAgLS1oZWFkZXItbWFpbi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLS1oZWFkZXItbWFpbi12ZXJ0aWNhbC1wYWRkaW5nOiBjbGFtcCgxMHB4LCAxdncsIDIwcHgpO1xyXG4gICAgLS1kcm9wZG93bi1wYWRkaW5nOiA0MHB4IDI1cHggMjBweDtcclxuXHJcbiAgICAtLWhlYWRlci1zdGlja3ktYmc6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0taGVhZGVyLXN0aWNreS10eXBlOiBmaXhlZDtcclxuXHJcbiAgICAtLWhlYWRlci10b3AtYmc6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0taGVhZGVyLXRvcC1jb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgLS1oZWFkZXItdG9wLWNvbG9yLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAtLWhlYWRlci10b3AtZ2FwLWJldHdlZW4taXRlbXM6IDEwcHg7XHJcbiAgICAtLWhlYWRlci10b3Atc2l6ZTogMTRweDtcclxuICAgIC0taGVhZGVyLXRvcC12ZXJ0aWNhbC1wYWRkaW5nOiA2cHg7XHJcbiAgICAtLWRyb3Bkb3duLXdpZHRoOiAyMDBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAtLWJ1cmdlci1iZzogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgLS1idXJnZXItY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgLS1saW5rLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIC0tbGluay1nYXA6IDEwcHg7XHJcbiAgICAgICAgLS1oZWFkZXItaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIC0taGVhZGVyLW1vYmlsZS1iZzogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgIC0tYnVyZ2VyLXNlZ21lbnQtZ2FwOiA3cHg7XHJcblxyXG4gICAgICAgIC0tYnVyZ2VyLXNlZ21lbnQtaGlnaHQ6IDNweDtcclxuXHJcbiAgICAgICAgLS1idXJnZXItc2VnbWVudC1yYWRpdXM6IDVweDtcclxuICAgICAgICAtLWxpbmstc2l6ZS1sMTogMTZweDtcclxuICAgICAgICAtLWxpbmstc2l6ZS1sMjogMTRweDtcclxuICAgICAgICAtLWJ1cmdlci13aWR0aDogMjVweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNpdGUtc2VhcmNoIHtcclxuICAgIC0tc2VhcmNoLWJ0bi1iZzogdHJhbnNwYXJlbnQ7XHJcbiAgICAtLXNlYXJjaC1idG4tcmFkaXVzOiA0cHg7XHJcbiAgICAtLXNlYXJjaC1oZWlnaHQ6IDMwcHg7XHJcbiAgICAtLXNlYXJjaC1vdXRlci1iZzogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xyXG4gICAgLS1zZWFyY2gtb3V0ZXItYm9yZGVyOiAjMzMzMzMzO1xyXG4gICAgLS1zZWFyY2gtb3V0ZXItZ2FwOiA1cHg7XHJcbiAgICAtLXNlYXJjaC1yYWRpdXM6IDRweDtcclxuICAgIC0tc2VhcmNoLXNpemU6IDMwcHg7XHJcbiAgICAtLXNlYXJjaC13aWR0aDogMjUwcHg7XHJcbn1cclxuIiwiLyogRm9vdGVyICovXHJcblxyXG4uc2l0ZS1mb290ZXIge1xyXG4gICAgLS1mb290ZXItYmctY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tZm9vdGVyLWJvdHRvbS1iZy1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG5cclxuICAgIC0tZm9vdGVyLWJvdHRvbS1jb2xvcjogcmdiYSh3aGl0ZSwgMC41KTtcclxuICAgIC0tZm9vdGVyLWJvdHRvbS1mb250LXNpemU6IDE0cHg7XHJcbiAgICAtLWZvb3Rlci1ib3R0b20tcGFkZGluZzogMS4yZW07XHJcblxyXG4gICAgLS1mb290ZXItY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjQpO1xyXG4gICAgLS1mb290ZXItbGluay1nYXBfaDogMXZ3O1xyXG4gICAgLS1mb290ZXItbGluay1nYXBfdjogLjhlbTtcclxuICAgIC0tZm9vdGVyLWxvZ28taGVpZ2h0OiAzMHB4O1xyXG5cclxuICAgIC0tZm9vdGVyLWxvZ28td2lkdGg6IDE1MHB4O1xyXG4gICAgLS1mb290ZXItdGl0bGUtc2l6ZTogMS44cmVtO1xyXG5cclxuICAgIC0tZm9vdGVyLXRpdGxlLXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLS1mb290ZXItdGl0bGUtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgLS1mb290ZXItdG9wLWJvcmRlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1mb290ZXItdG9wLWJvcmRlci1zaXplOiA1cHg7XHJcblxyXG4gICAgLS1mb290ZXItdG9wLWZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgLS1mb290ZXItdG9wLW5hdi1kaXJlY3Rpb246IHJvdztcclxuICAgIC0tZm9vdGVyLXRvcC1wYWRkaW5nOiA1dmggMDtcclxufVxyXG4iLCI6cm9vdCB7XHJcbiAgICAtLWMtYmxvY2stYWxpZ246IGxlZnQ7XHJcbiAgICAtLWMtYmxvY2stYmc6ICNmZmZmZmY7XHJcblxyXG4gICAgLS1jLWJsb2NrLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgLS1sLWJsb2NrLWdhcC1ob3Jpem9udGFsOiAyMHB4O1xyXG4gICAgLS1sLWJsb2NrLWdhcC12ZXJ0aWNhbDogMTVweDtcclxuICAgIC0t0YEtYmxvY2stcGFkZGluZzogMTVweDtcclxuICAgIC0tYy1ibG9jay1yYWRpdXM6IDVweDtcclxuICAgIC0tYy1ibG9jay1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEoMCwgMCwgMCwgLjA1KTtcclxuICAgIC0tYy1ibG9jay10ZXh0LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgIC0tYy1ibG9jay10aXRsZS1jb2xvcjogdmFyKC0tdGl0bGVzLWNvbG9yKTtcclxuICAgIC0tYy1ibG9jay10aXRsZS1zaXplOiAje1wiY2xhbXAodmFyKC0taDQtZm9udC1zaXplLW1vYmlsZSksIHZhcigtLWgtY2xhbXAtZm9ybXVsYSksIHZhcigtLWgzLWZvbnQtc2l6ZS1tb2JpbGUpKVwifTtcclxuICAgIC0tYy1ibG9jay10aXRsZS10cmFuc2Zvcm06IHZhcigtLWg0LXRleHQtdHJhbnNmb3JtKTtcclxuICAgIC0tYy1ibG9jay10aXRsZS13ZWlnaHQ6IHZhcigtLWg0LWZvbnQtd2VpZ2h0KTtcclxufVxyXG5cclxuLyogV1lTSVdZRyAqL1xyXG5cclxuLmlzLXd5c2l3eWcge1xyXG4gICAgLS1saXN0LWl0ZW0tc3R5bGU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzIyJyBoZWlnaHQ9JzE2JyB2aWV3Qm94PScwIDAgMjIgMTYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NyZWN0IHdpZHRoPScxNicgaGVpZ2h0PSc0JyByeD0nMicgdHJhbnNmb3JtPSdtYXRyaXgoMC43MzU2NTMgLTAuNjc3MzU4IDAuNjc3MzY0IDAuNzM1NjQ4IDUuMTQ4NDQgMTEuMjc0OCknIGZpbGw9JyUyMzMzOTdFRicvJTNFJTNDcmVjdCB4PSc3LjQzMzU5JyB5PScxNC41MjgnIHdpZHRoPScxMCcgaGVpZ2h0PSc0JyByeD0nMicgdHJhbnNmb3JtPSdyb3RhdGUoLTEzMi42MzggNy40MzM1OSAxNC41MjgpJyBmaWxsPSclMjM3MEI2RjQnLyUzRSUzQy9zdmclM0UlMEFcIik7XHJcbiAgICAtLXd5c2l3eWctbGktYmdwOiAwIC40ZW07XHJcbiAgICAtLXd5c2l3eWctbGktbWFyZ2luOiAxZW07XHJcbiAgICAtLXd5c2l3eWctbGktcGFkZGluZzogMCAwIDAgNDBweDtcclxuXHJcbiAgICAtLXd5c2l3eWctbWFyZ2luOiAxLjVlbTtcclxufVxyXG5cclxuLyogQmxvZyBwb3N0IGNhcmQgKi9cclxuXHJcbi5sLXBvc3RzIHtcclxuICAgIC0tYy1ibG9jay1iZzogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgLS1sLWJsb2NrLWNvbDogMztcclxuICAgIC0t0YEtYmxvY2stcGFkZGluZzogMTVweCAwO1xyXG4gICAgLS1jLWJsb2NrLXJhZGl1czogNXB4O1xyXG4gICAgLS1jLWJsb2NrLXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAtLWwtcG9zdC1kYXRlLXNpemU6IDE0cHg7XHJcbiAgICAtLWwtcG9zdC1pbWctcmFkaXVzOiA1cHggNXB4IDAgMDtcclxuICAgIC0tbC1wb3N0LWltZy1yYXRpbzogNCAvIDM7XHJcbiAgICAtLWwtcG9zdC10YWctY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tbC1wb3N0LXRhZy1zaXplOiAxNHB4O1xyXG4gICAgLS1sLXBvc3QtdGFnLXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLS1sLXBvc3QtdGFnLXdlaWdodDogNTAwO1xyXG59XHJcbiIsIi5tLXNsaWRlciB7XHJcbiAgICAtLXN3aXBlci1hcnJvd3MtYmc6IHZhcigtLXdoaXRlKTtcclxuXHJcbiAgICAtLXN3aXBlci1hcnJvd3MtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tc3dpcGVyLWFycm93cy1zaGFkb3c6IDAgMTJweCAxNHB4IHJnYmEoMzMsIDMzLCAzMywgMC4xKSwgMCA0cHggNHB4IHJnYmEoMzMsIDMzLCAzMywgMC4xKTtcclxuICAgIC0tdGh1bWItYmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IzKTtcclxuICAgIC0tdGh1bWItYmQtY29sb3ItYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcblxyXG4gICAgLS10aHVtYi1iZC1zaXplOiAycHg7XHJcbiAgICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDYwcHg7XHJcbiAgICAtLXN3aXBlci1vdXRlci1nYXA6IDgwcHg7XHJcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ib3JkZXI6ICNjY2NjY2M7XHJcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ib3JkZXItYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ob3Jpem9udGFsLWdhcDogMTBweDtcclxuICAgIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHk6IC44O1xyXG5cclxuICAgIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemU6IDI0cHg7XHJcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLXJhZGl1czogMjBweDtcclxuICAgIC0tdGh1bWItcmFkaXVzOiA1MCU7XHJcbiAgICAtLXRodW1iLXNpemU6IDY1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOiA1MHB4O1xyXG4gICAgICAgIC0tc3dpcGVyLW91dGVyLWdhcDogNDBweDtcclxuICAgICAgICAtLXRodW1iLXNpemU6IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gQmFzZSBzdHlsZXMgZm9yIHRoZSBmaXJzdCB2aWV3cG9ydFxyXG5cclxuLy8gSGVscGVycyBhbmQgdXRpbGl0aWVzXHJcbkBpbXBvcnQgJ19faGVscGVycy9yZWJvb3QnO1xyXG5cclxuLy8gQ29yZSBzZXR0aW5nc1xyXG5cclxuQGltcG9ydCAnX19jb3JlL2NvcmUtbWl4aW5zJztcclxuQGltcG9ydCAnX19jb3JlL2NvcmUtc2V0dGluZ3MnO1xyXG5cclxuLyoqKiogU2l0ZSBIZWFkZXIgKi9cclxuXHJcbkBpbXBvcnQgJ19sYXlvdXQvX2Jhc2UnO1xyXG5AaW1wb3J0ICdfbGF5b3V0L19oZWFkZXInO1xyXG5cclxuLy8gU2VhcmNoIGNvbXBvbmVudFxyXG5AaW1wb3J0IFwiX2xheW91dC9oZWFkZXIvYmxvY2tzL3NpdGVfc2VhcmNoXCI7XHJcblxyXG4vKioqKiBFbmQgSGVhZGVyICovXHJcblxyXG4vKiBBYm92ZSB0aGUgZm9sZCBtb2R1bGVzICovXHJcbkBpbXBvcnQgXCJfbW9kdWxlcy9iYW5uZXJzXCI7XHJcblxyXG5AaW1wb3J0IFwiX2NvbXBvbmVudHMvaGVhZGluZ3NcIjtcclxuQGltcG9ydCBcIl9jb21wb25lbnRzL2J1dHRvbnNcIjtcclxuQGltcG9ydCBcIl9jb21wb25lbnRzL2Jsb2NrXCI7XHJcbkBpbXBvcnQgXCJfY29tcG9uZW50cy9zb2NpYWxzXCI7XHJcblxyXG4vL0ZsZXhpYmxlXHJcbkBpbXBvcnQgXCJfZmxleGlibGUvaG9tZS1oZXJvXCI7XHJcbkBpbXBvcnQgXCJfbGF5b3V0L3ByZWxvYWRlclwiO1xyXG4iLCIvKiBCYXNlIFR5cG9ncmFwaHkgKi9cclxuXHJcbi8qIDFyZW0gPSAxMHB4ICovXHJcblxyXG5odG1sIHtcclxuICBmb250LXNpemU6IDUwJTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcclxuICAgIGZvbnQtc2l6ZTogNTglO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+bGFwdG9wXCIpIHtcclxuICAgIGZvbnQtc2l6ZTogNjIuNSU7XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5IHtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XHJcbiAgZm9udC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XHJcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1mb250LXdlaWdodCwgNDAwKTtcclxuICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0LCAxLjcpO1xyXG59XHJcblxyXG4vKiBCYXNlIENvbG9ycyAqL1xyXG5cclxuYm9keSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gIGNvbG9yOiB2YXIoLS1ib2R5LXRleHQtY29sb3IsICMzMzMzMzMpO1xyXG5cclxuICBbY29sb3ItbW9kZT1cImRhcmtcIl0gJiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xyXG4gICAgY29sb3I6IHZhcigtLWJvZHktYmcsICNmZmZmZmYpO1xyXG4gIH1cclxufVxyXG5cclxuYSB7XHJcbiAgY29sb3I6IHZhcigtLXByaW1hcnktbGluay1jb2xvcik7XHJcblxyXG4gIFtjb2xvci1tb2RlPVwiZGFya1wiXSAmIHtcclxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWxpbmstY29sb3ItYWx0KTtcclxuICB9XHJcbn1cclxuXHJcbi5jb2xvcnMtaW52ZXJ0ZWQge1xyXG4gIGNvbG9yOiB2YXIoLS1ib2R5LXRleHQtY29sb3ItYWx0KTtcclxuICAtLXNlY3Rpb24tdGl0bGUtY29sb3I6IHZhcigtLXNlY3Rpb24tdGl0bGUtY29sb3ItYWx0KTtcclxufVxyXG5cclxuLyogQmFzZSBsYXlvdXQgKi9cclxuXHJcbmJvZHksIGh0bWwge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtaW4taGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib2R5LWJnKTtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJi5uYXYtYWN0aXZlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgLnNpdGUtc2VhcmNoIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi53cmFwcGVyIHtcclxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBlYXNlLW91dDtcclxuXHJcbiAgJi5tb3ZlLWZvci1zZWFyY2gge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKXtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMHB4KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpe1xyXG4gICAgICAuc2l0ZS1oZWFkZXIge1xyXG4gICAgICAgIGhlaWdodDogbWF4LWNvbnRlbnQ7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbWF4LWNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaGlkZS1vdmVyZmxvdyB7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbi5zaXRlLWNvbnRlbnQge1xyXG4gIGZsZXgtZ3JvdzogMTtcclxufVxyXG5cclxuLnNpdGUtaGVhZGVyLCAuc2l0ZS1jb250ZW50LCAuc2l0ZS1mb290ZXIge1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4uY29udGFpbmVyLWZsdWlkLFxyXG4uY29udGFpbmVyLCAuY29udGFpbmVyLWxnIHtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb250YWluZXIsIC5jb250YWluZXItbGcge1xyXG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGFnZS1ndXR0ZXIpO1xyXG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZ2UtZ3V0dGVyKTtcclxuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAtLXBhZ2UtZ3V0dGVyOiAyMHB4O1xyXG4gICAgLS1jb250ZW50LXdpZHRoOiB2YXIoLS10YWJsZXQtd2lkdGgpO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLW91dGVyLW1hcmdpbiwgMmVtKTtcclxuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLW91dGVyLW1hcmdpbiwgMmVtKTtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgbWF4LXdpZHRoOiBjbGFtcCh2YXIoLS1kZXNrdG9wLXdpZHRoKSwgNzZ2dywgY2FsYyh2YXIoLS1jb250ZW50LXdpZHRoKSArIHZhcigtLXBhZ2UtZ3V0dGVyLCAyMHB4KSAqIDIpKTtcclxufVxyXG5cclxuLmNvbnRhaW5lci1sZyB7XHJcbiAgbWF4LXdpZHRoOiBjbGFtcCh2YXIoLS1kZXNrdG9wLXdpZHRoKSwgOTB2dywgY2FsYyh2YXIoLS1jb250ZW50LXdpZHRoKSArIHZhcigtLXBhZ2UtZ3V0dGVyLCAyMHB4KSAqIDIpKTtcclxuICAtLWNvbnRlbnQtd2lkdGg6IDE2MjBweDtcclxufVxyXG5cclxuLnNpdGUtY29udGVudCB7XHJcbiAgbWluLWhlaWdodDogNDAwcHg7XHJcbn1cclxuXHJcbi5ndC1yZWd1bGFyIHtcclxuICBwYWRkaW5nLXRvcDogdmFyKC0tdmVydGljYWwtZ2FwKTtcclxufVxyXG5cclxuLmdiLXJlZ3VsYXIge1xyXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS12ZXJ0aWNhbC1nYXApO1xyXG59XHJcblxyXG4uZ3Qtc21hbGwge1xyXG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgLyAyKTtcclxufVxyXG5cclxuLmdiLXNtYWxsIHtcclxuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS12ZXJ0aWNhbC1nYXApIC8gMik7XHJcbn1cclxuXHJcbi5ndC1sYXJnZSB7XHJcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tdmVydGljYWwtZ2FwKSAqIDEuNSk7XHJcbn1cclxuXHJcbi5nYi1sYXJnZSB7XHJcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tdmVydGljYWwtZ2FwKSAqIDEuNSk7XHJcbn1cclxuXHJcbi8vTWFyZ2luc1xyXG4ubXQtcmVndWxhciB7XHJcbiAgbWFyZ2luLXRvcDogdmFyKC0tdmVydGljYWwtZ2FwKTtcclxufVxyXG5cclxuLm1iLXJlZ3VsYXIge1xyXG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXZlcnRpY2FsLWdhcCk7XHJcbn1cclxuXHJcbi5tdC1zbWFsbCB7XHJcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbC1nYXApIC8gMik7XHJcbn1cclxuXHJcbi5tYi1zbWFsbCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS12ZXJ0aWNhbC1nYXApIC8gMik7XHJcbn1cclxuXHJcbi5tdC1sYXJnZSB7XHJcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbC1nYXApICogMS41KTtcclxufVxyXG5cclxuLm1iLWxhcmdlIHtcclxuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgKiAxLjUpO1xyXG59XHJcblxyXG5pbWcge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iLCIuc2l0ZS1oZWFkZXIge1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIGJveC1zaGFkb3cgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiA5OTtcclxuXHQvLyBib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xyXG5cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIG1heC1oZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xyXG4gICAgcG9zaXRpb246IHZhcigtLWhlYWRlci1zdGlja3ktdHlwZSwgc3RpY2t5KTtcclxuICAgIC5hZG1pbi1iYXIgJiB7XHJcbiAgICAgIHRvcDogMjhweDtcclxuXHRcdFx0IGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19sb2dvIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+bGFwdG9wXCIpIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcsIHN2ZyB7XHJcbiAgICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XHJcbiAgICAgIG1pbi13aWR0aDogNjBweDtcclxuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IHZhcigtLWhlYWRlci1sb2dvLXdpZHRoKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1sYXB0b3BcIikge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj5sYXB0b3BcIikge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbm5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxuXHJcbiAgJl9fcm93IHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgfVxyXG5cclxuICAmX19jb2wge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1oZWFkZXItaG9yaXpvbnRhbC1nYXAsIDF2dykgKiAyKTtcclxuXHJcbiAgICAgICYuLWxlZnQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgfVxyXG4gICAgICAmLi1yaWdodCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbWFpbiB7XHJcbiAgICAuLWxlZnQge1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLi1yaWdodCB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNTBweCk7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1sYXB0b3BcIikge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTBweCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5uYXYtbWFpbl9fd3JhcCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIC5zaXRlLXNlYXJjaCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGE6bm90KC5jLWJ0bikge1xyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyLCB2YXIoLS1wcmltYXJ5LWNvbG9yMikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudG9wLXJpZ2h0LW1lbnUtbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLS1wcmltYXJ5LWxpbmstY29sb3I6IHZhcigtLWhlYWRlci10b3AtY29sb3IpO1xyXG4gICAgcGFkZGluZy1yaWdodDogY2xhbXAoMTBweCwgMXZ3LCAyMHB4KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEod2hpdGUsIDAuMyk7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LWxpc3Qge1xyXG4gICAgICAmX19pdGVtIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSh3aGl0ZSwgMC4zKTtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19saW5rIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50b3AtbmF2IHtcclxuICAgIC0tcHJpbWFyeS1saW5rLWNvbG9yOiB2YXIoLS1oZWFkZXItdG9wLWNvbG9yKTtcclxuXHJcbiAgICAmX19saW5rcyB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAgIGEsIGRpdiB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjbGFtcCgyMHB4LCAydncsIDQwcHgpO1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgLm1lbnUtaXRlbS10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWVudS1saXN0IHtcclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjbGFtcCgxNXB4LCAyLjJ2dywgNTBweCk7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19saW5rIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ljb24ge1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcclxuICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmMtYmxvY2stc29jaWFsIHtcclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIi8qIEhlYWRlciBNYWluIFJvdyAqL1xyXG5cclxuLnNpdGUtaGVhZGVyX19tYWluIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAgdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGVhZGVyLW1haW4tYmcpO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1oZWFkZXItbWFpbi1mb250LXNpemUsIDE2cHgpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRlci1tYWluLWZvbnQtd2VpZ2h0KTtcclxuICAgIC0taGVhZGVyLWhvcml6b250YWwtZ2FwOiB2YXIoLS1oZWFkZXItbWFpbi1nYXAtYmV0d2Vlbi1pdGVtcyk7XHJcbiAgICAtLWhlYWRlci1saW5rLWNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1oZWFkZXItbWFpbi1jb2xvci1ob3Zlcik7XHJcbiAgICAtLWhlYWRlci1tYWluLWJnOiB0cmFuc3BhcmVudDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1oZWFkZXItbWFpbi10ZXh0LXRyYW5zZm9ybSwgdXBwZXJjYXNlKTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xyXG5cclxuICAgIC5zaXRlLWhlYWRlcl9fcm93IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAgdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG5cdFx0XHRcdC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1tYWluLXZlcnRpY2FsLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEhlYWRlciBUb3AgUm93ICovXHJcblxyXG4uc2l0ZS1oZWFkZXJfX3RvcCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItdG9wLWJnKTtcclxuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItdG9wLWNvbG9yKTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLXRvcC1zaXplKTtcclxuXHJcbiAgICAtLWhlYWRlci1ob3Jpem9udGFsLWdhcDogdmFyKC0taGVhZGVyLXRvcC1nYXAtYmV0d2Vlbi1pdGVtcyk7XHJcbiAgICAtLWhlYWRlci1saW5rLWNvbG9yOiB2YXIoLS1oZWFkZXItdG9wLWNvbG9yKTtcclxuICAgIC0taGVhZGVyLWxpbmstY29sb3ItaG92ZXI6IHZhcigtLWhlYWRlci10b3AtY29sb3ItaG92ZXIpO1xyXG5cclxuICAgIC5jb250YWluZXItbGcge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0taGVhZGVyLXRvcC12ZXJ0aWNhbC1wYWRkaW5nKTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLXRvcC12ZXJ0aWNhbC1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG4iLCIuaXMtc3RpY2t5IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGVhZGVyLXN0aWNreS1iZyk7XHJcbiAgICAgICAgLS1oZWFkZXItbWFpbi1iZzogdmFyKC0taGVhZGVyLXN0aWNreS1iZywgdmFyKC0tcHJpbWFyeS1jb2xvcjEpKTtcclxuICAgICAgICAtLWhlYWRlci1tYWluLXZlcnRpY2FsLXBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgIC0taGVhZGVyLXN0aWNreS1iZzogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAuc2l0ZS1oZWFkZXJfX21haW4ge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgLjEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNpdGUtaGVhZGVyX19sb2dvIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNTBweDtcclxuXHJcbiAgICAgICAgICAgIGltZywgc3ZnIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zaXRlLWhlYWRlcl9fdG9wIHtcclxuICAgICAgICAgICAgLnNpdGUtaGVhZGVyX19yb3cge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2LW1haW5fX2J0bi4tZGVza3RvcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYy1idG4ge1xyXG4gICAgICAgICAgICAmLi1zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2LW1haW4gLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMCA1MHB4IDY1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcsICc+dGFibGV0Jyl7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMDVweCAxMDBweCA1MHB4IDEwMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubWVnYS1tZW51IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IGNsYW1wKDgwcHgsIDcuM3Z3LCAxNDBweCkgNTBweCA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHRcdFx0XHQgICAubmF2LW1haW4gLnN1Yi1tZW51X190eXBlLXR3byAge1xyXG5cdFx0XHRcdFx0XHQgIC8vIG1pbi1oZWlnaHQ6IDI4dnc7XHJcbiAgICAgXHRcdFx0XHRcdC8vIGhlaWdodDogMjl2dztcclxuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdFx0XHRcdHRvcDowO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxMDBweCBjbGFtcCgyMHB4LDN2dywgMjAwcHgpIDBweCBjbGFtcCgyMHB4LCAzdncsIDIwMHB4KTtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206NTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJywgJz50YWJsZXQnKXsgXHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRcdC8vIEBtZWRpYShtaW4td2lkdGg6MTkxOXB4KSB7XHJcblx0XHRcdFx0XHQvLyBcdG1pbi1oZWlnaHQ6IDI0dnc7XHJcblx0XHRcdFx0XHQvLyBcdGhlaWdodDogMjR2dztcclxuXHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdC8vIEBtZWRpYShtaW4td2lkdGg6MjU2MHB4KSB7XHJcblx0XHRcdFx0XHQvLyBcdG1pbi1oZWlnaHQ6IDI0dnc7XHJcblx0XHRcdFx0XHQvLyBcdGhlaWdodDogMjR2dztcclxuXHRcdFx0XHRcdC8vIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAuc2l0ZS1oZWFkZXJfX21haW4ge1xyXG4gICAgICAgIC5uYXYtYWN0aXZlICYge1xyXG4gICAgICAgICAgICAtLWhlYWRlci1tYWluLWJnOiB2YXIoLS1oZWFkZXItbW9iaWxlLWJnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdi1tYWluX193cmFwIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXYtbWFpbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zaXRlLWhlYWRlcl9fd2lkZ2V0IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAvLyBmb250LXNpemU6IHZhcigtLWxpbmstc2l6ZS1sMik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWxpbmstc2l6ZS1sMSk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmN1cnJlbnQtbWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hdi1tYWluX19saW5rcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAzMHB4IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgLm1haW4tbWVudS1saW5rIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgPiBhLCA+IC5wbGFpbi1tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKHdoaXRlLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWxpbmstc2l6ZS1sMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgLm1lbnUtaXRlbV9fdG9nZ2xlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgMTQgOCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nbTcgMCA3IDYuNDc3N0wxMi4zNTUgOCA3IDMuMDU1MyAxLjY0NSA4IDAgNi40Nzc3IDcgMFonIGZpbGw9JyUyMzAwYWRlZCcvJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMDBweCAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5wbGFpbi1tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSh3aGl0ZSwgMC4yKTtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPiBhLCA+IC5wbGFpbi1tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCA2NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51LWl0ZW1fX3RvZ2dsZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNnB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEod2hpdGUsIDAuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8qKjJ4IEFERCBPTiBDU1MqKi9cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5zdWItbWVudV9fdHlwZS10d28ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTo2MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCAwIDVweCAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxke1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDBweDtcdFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyAuc3ViLW1lbnUtZ3JvdXB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHQmOmxhc3QtY2hpbGR7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRtYXJnaW4tdG9wOjIwcHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIH1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5zdWItbWVudS1pdGVte1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206MjBweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQubGlzdC1jb2wge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGR7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjYwcHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lm1lbnUtaXRlbS1kZXNje1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICM5MDkyQUU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuLW1vYmlsZS1ib3R0b20tbGlua3Mge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMCAwO1xyXG5cclxuICAgICAgICAgICAgLnRvcC1uYXYsIC5mb290ZXItY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA1MHZoO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206MTZweDtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSh3aGl0ZSwgMC41KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5uYXYtbWFpbiB7XHJcbiAgICAuYy1idG4ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lJykge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXNpbXBsZS10ZXh0LFxyXG4vLyAuc2luZ2xlLXBvc3QsXHJcbi5zZWFyY2gsXHJcbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXN0eWxlZ3VpZGUsXHJcbi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQge1xyXG4gICAgLnNpdGUtaGVhZGVyX19tYWluIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1jb250ZW50IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5sYXB0b3BcIikge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5zaXRlLWhlYWRlcl9fdG9wIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWhlYWRlcl9fYm90dG9tIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgLm5hdi1tYWluX19idG4uLWRlc2t0b3Age1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAubmF2LW1haW5fX2J0bixcclxuICAgIC5uYXZiYXItbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIE5hdmJhciBNYWluICovXHJcblxyXG4ubmF2LW1haW4ge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgLS1wcmltYXJ5LWxpbmstY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgJl9fbGlua3Mge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgICAgICAgPiAubWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLWhlYWRlci1tYWluLXZlcnRpY2FsLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgID4gYSxcclxuICAgICAgICAgICAgICAgIC5wbGFpbi1tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ0bi1ib3JkZXItcmFkaXVzLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1saW5rLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkZXItbWFpbi1uYXYtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXMsIDF2dykgKiAyKSAwIHZhcigtLWhlYWRlci1tYWluLWdhcC1iZXR3ZWVuLWl0ZW1zLCAxdncpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIGZvbnQtc2l6ZSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUtaXRlbS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAubWVudS1pdGVtLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN1cnJlbnQtbWVudS1pdGVtIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAtLWxpbmstY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmMtYnRuIHtcclxuICAgICAgICBtYXJnaW46IDAgMCBjbGFtcCgxMHB4LCAxdncsIDIwcHgpIDEycHg7XHJcblxyXG4gICAgICAgICYuLXNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBjb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG5cclxuICAgICAgICAgICAgLmMtYnRuX190ZXh0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTNweCwgMC43dncsIDE1cHgpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcil7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5jLWJ0bl9fdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLm5hdi1tYWluIHtcclxuXHQvKipvcmlnaW5hbCBzdWIgbWVudSoqL1xyXG4gIC5zdWItbWVudSB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgICAgbWluLXdpZHRoOiB2YXIoLS1kcm9wZG93bi13aWR0aCk7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHBhZGRpbmc6IGNsYW1wKDEwMHB4LCAxMHZ3LCAxODBweCkgMCBjbGFtcCgyNXB4LCAyLjZ2dywgNTBweCkgNjVweDtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTBweCk7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgIHdpZHRoOiBjYWxjKCgxNjIwcHggLyAyKSArIDEydncpO1xyXG4gICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgd2lkdGg6IDZweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1kcm9wZG93bi1jb2xvcik7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1kcm9wZG93bi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1kcm9wZG93bi1mb250LXdlaWdodCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZHJvcGRvd24tY29sb3ItYWN0aXZlKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tZW51LWl0ZW0tY29udGVudCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lbnUtaXRlbS10aXRsZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBlYXNlLW91dDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJywgJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDAuOXZ3LCAxOHB4KTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAubWVudS1pdGVtLWNhcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAwLjUpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgLy8gbWFyZ2luOiAwIDAgMTJweCAtMjBweDtcclxuICAgICAgICBvcmRlcjogMDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJywgJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEzcHgsIDAuN3Z3LCAxNXB4KTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAubWVudS1pdGVtLWltZy13cmFwcGVyIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgICBtaW4td2lkdGg6IDMwcHg7XHJcblxyXG4gICAgICAgIGltZywgc3ZnIHtcclxuICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIHBhZGRpbmc6IGNsYW1wKDVweCwgMC41dncsIDlweCkgNXB4O1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcblxyXG4gICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgLm1lbnUtaXRlbS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAubWVudS1pdGVtLXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAzNHB4IHJnYmEoMCwgNywgNjMsIDAuMSk7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcsICc+dGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogY2FsYygoMTYyMHB4IC8gMikgKyAxMXZ3KTtcclxuICAgICAgcGFkZGluZzogY2xhbXAoMTAwcHgsIDEwdncsIDE4MHB4KSAwIGNsYW1wKDI1cHgsIDIuNnZ3LCA1MHB4KSA2NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+bGFwdG9wJykge1xyXG4gICAgICB3aWR0aDogY2FsYygoMTYyMHB4IC8gMikgKyAxNXZ3KTtcclxuICAgICAgcGFkZGluZzogY2xhbXAoMTAwcHgsIDEwdncsIDE4MHB4KSAwIGNsYW1wKDI1cHgsIDIuNnZ3LCA1MHB4KSA2NXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xyXG4gICAgICB3aWR0aDogY2FsYygoMTYyMHB4IC8gMikgKyAyNXZ3KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgLm1lbnUtaXRlbS1pbWctd3JhcHBlcixcclxuICAgICAgLm1lbnUtaXRlbS1jYXB0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgIG1heC13aWR0aDogMzMlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lZ2EtbWVudSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDEwMHB4LCAxMHZ3LCAxODBweCkgY2xhbXAoODBweCwgNy4zdncsIDE0MHB4KSA1MHB4IDUwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogNjYlO1xyXG5cclxuICAgICAgICAubWVudS10aXRsZSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDIycHgsIDEuNnZ3LCAzNXB4KTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCg1cHgsIDAuOHZ3LCAxNXB4KTtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lbnUtdGV4dCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE0cHgsIDAuN3Z3LCAxNnB4KTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDEwcHgsIDF2dywgMjBweCk7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuLyoqMlggQUREIE9OKiovXHJcbiAuc3ViLW1lbnVfX3R5cGUtdHdvIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHQgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG5cdFx0IFxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgICAgbWluLXdpZHRoOiB2YXIoLS1kcm9wZG93bi13aWR0aCk7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIC8vIHBhZGRpbmc6IGNsYW1wKDEwMHB4LCAxMHZ3LCAxODBweCkgMCBjbGFtcCgyNXB4LCAyLjZ2dywgNTBweCkgNjVweDtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTBweCk7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgIC8vIHdpZHRoOiBjYWxjKCgxNjIwcHggLyAyKSArIDEydncpO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgei1pbmRleDogLTE7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMDBBREVEO1xyXG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTFweDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTFweDtcclxuXHRcdFx0cGFkZGluZzoxNzBweCBjbGFtcCgyMHB4LDN2dywgMjAwcHgpIDQwcHggY2xhbXAoMjBweCwgM3Z3LCAyMDBweCk7XHJcbiAgICAgIHRvcDowO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTJweDtcclxuICAgICAgLy8gaGVpZ2h0OiAyNHZ3O1xyXG4gICAgICBtaW4taGVpZ2h0OiAzMHZ3O1xyXG4gICAgICBoZWlnaHQ6IDM0dnc7XHJcblxyXG5cdFx0Lm1lbnUtbGlzdHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTo2MHB4O1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG4gICAgICByaWdodDogNiU7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOjBweDtcclxuICAgIFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zdWItbWVudS1ncm91cHtcclxuXHRcdFx0Ly8gbWFyZ2luLWJvdHRvbToycmVtO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOjRyZW07IFxyXG5cdFx0fVxyXG5cclxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgd2lkdGg6IDZweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1kcm9wZG93bi1jb2xvcik7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1kcm9wZG93bi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1kcm9wZG93bi1mb250LXdlaWdodCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZHJvcGRvd24tY29sb3ItYWN0aXZlKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tZW51LWl0ZW0tY29udGVudCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lbnUtaXRlbS10aXRsZSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOjE2cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBlYXNlLW91dDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJywgJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE2cHgsIDAuOXZ3LCAxNnB4KTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblx0XHRcdC5tZW51LWl0ZW0tZGVzY3tcclxuXHRcdFx0Y29sb3I6ICM5MDkyQUU7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRcdH0gXHJcbiAgICAgICBcclxuXHRcdC5tZW51LWl0ZW0tY2FwdGlvbiB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAjOTA5MkFFO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTJweCAwcHg7XHJcbiAgICAgICAgb3JkZXI6IDA7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcsICc+dGFibGV0Jykge1xyXG4gICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxNnB4LCAwLjd2dywgMTZweCk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lbnUtaXRlbS1pbWctd3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzMHB4O1xyXG5cclxuICAgICAgICBpbWcsIHN2ZyB7XHJcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiBjbGFtcCgwcHgsIDAuNXZ3LCAwcHgpIDBweDtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG5cclxuICAgICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIC5tZW51LWl0ZW0tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgLm1lbnUtaXRlbS10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMzRweCByZ2JhKDAsIDcsIDYzLCAwLjEpO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGhlaWdodDogOTAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuXHRcdFx0XHQvLyB0b3A6IDkuN3Z3O1xyXG5cdFx0XHRcdC8vIGhlaWdodDogODAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJywgJz50YWJsZXQnKSB7XHJcblx0XHRcdHdpZHRoOiA4OSU7XHJcblx0XHRcdHJpZ2h0OiA4OHB4O1xyXG5cdFx0XHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxuXHRcdFx0aGVpZ2h0OiBmaXQtY29udGVudDtcclxuXHRcdFx0Ly8gcGFkZGluZzogY2xhbXAoMTAwcHgsIDEwdncsIDE4MHB4KSAwIGNsYW1wKDI1cHgsIDIuNnZ3LCA1MHB4KSA2NXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+bGFwdG9wJykge1xyXG5cdFx0XHQvLyBwYWRkaW5nOiBjbGFtcCgxMDBweCwgMTB2dywgMTgwcHgpIDAgY2xhbXAoMjVweCwgMi42dncsIDUwcHgpIDY1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5sYXB0b3AnKSB7XHJcblx0XHRcdHdpZHRoOiA4OCU7XHJcbiAgICAgIHJpZ2h0OiA2JTtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxuXHRcdFx0aGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIH1cclxuXHRcdCBcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnKSB7XHJcblx0XHRcdHdpZHRoOiA4OSU7XHJcblx0XHRcdFx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgXHJcblx0XHRAbWVkaWEobWluLXdpZHRoOjE5MTlweCkge1xyXG5cdFx0d2lkdGg6IDg1JTtcclxuXHRcdHJpZ2h0OiA3LjYlO1xyXG5cdFx0ICBtaW4taGVpZ2h0OiAyNS41dnc7XHJcbiAgICAgIGhlaWdodDogMjcuNXZ3O1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cdFx0XHRoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cclxuXHRcclxuIFx0XHR9XHJcblx0XHJcblx0XHRAbWVkaWEobWluLXdpZHRoOjI1NjBweCkge1xyXG4gICBcdFx0d2lkdGg6IDYzLjUlO1xyXG4gICBcdHJpZ2h0OiAxOC41JTtcclxuXHRcdFx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiBcdFx0fVxyXG5cclxuIFx0XHRAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgLm1lbnUtaXRlbS1pbWctd3JhcHBlcixcclxuICAgICAgLm1lbnUtaXRlbS1jYXB0aW9uIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBjb2xvcjogIzkwOTJBRTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHRcdFxyXG5cclxuICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDMzJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cdFx0LmN1c3RvbS1tZWRpYS1kZXNjIHtcclxuXHJcblx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0Lm1lZGlhLXRleHQgLCAubWVkaWEtdGl0bGUsIC5jLWJ0bl9fdGV4dHtcclxuXHRcdFx0XHRcdGNvbG9yOnZhcigtLXByaW1hcnktY29sb3IyKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmMtYnRuLi1saW5rLWRlbmltIHtcclxuICAgIFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMCBjZW50ZXI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5jLWJ0bl9fdGV4dHtcclxuXHRcdFx0XHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNXB4KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblxyXG5cdFx0XHRwe1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206MDtcclxuXHRcdFx0fVxyXG5cclxuXHQgIC5tZWRpYS10aXRsZSB7XHJcblx0ICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcblx0ICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbToxMnB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdCAgfVxyXG5cclxuXHQgIC5tZWRpYS10ZXh0IHtcclxuXHQgICAgZm9udC1zaXplOiAxNHB4O1xyXG5cdCAgICBsaW5lLWhlaWdodDogMjFweDtcclxuXHQgICAgLy8gY29sb3I6IHZhcigtLXdoaXRlKTtcclxuXHQgICAgY29sb3I6ICM5MDkyQUU7XHJcblx0ICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cdFx0XHRwe1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206MDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdCAgIHA+YSB7XHJcblx0ICAgICAgY29sb3I6ICMwMEFERUQ7XHJcblx0ICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG5cdCAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0ICAgICAgZGlzcGxheTogZmxleDtcclxuXHQgICAgICBwYWRkaW5nOiAwO1xyXG5cdCAgICAgIC8vIHBhZGRpbmc6IDEwcHggNjBweCAxMHB4IDA7XHJcblx0ICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuXHQgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxN3B4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNjBweDtcclxuXHRcdFx0XHRcclxuXHQgICAgfVxyXG5cdFx0XHQuYy1idG4uLWxpbmstZGVuaW0ge1xyXG5cdFx0XHQgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDI3cHggY2VudGVyO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDMzcHggY2VudGVyO1xyXG4gICAgXHRcdGJhY2tncm91bmQtc2l6ZTogMThweDtcclxuXHRcdFx0ICAmOmhvdmVyIHtcclxuXHRcdFx0ICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMCBjZW50ZXI7XHJcblx0XHRcdCAgfVxyXG5cdFx0XHR9XHJcblxyXG5cdCAgICBpbWcge1xyXG5cdCAgICAgIHdpZHRoOiAxMDAlO1xyXG5cdCAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTo0MHB4O1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6MTJweDtcclxuXHRcdFx0XHJcblx0ICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcclxuXHQgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgICAgICAgd2lkdGg6IGF1dG87XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjBweDtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0ICAgICAgfVxyXG5cdCAgICB9XHJcblx0XHJcblx0fVxyXG5cdFx0LmhpZGVNb2JpbGV7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4IWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmhpZGVEZXNrdG9we1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4IWltcG9ydGFudDtcclxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0fVxyXG4gICBcclxuICB9XHJcblxyXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogY2xhbXAoMTBweCwgMXZ3LCAyMHB4KTtcclxuICAgICAgICB0b3A6IDE0cHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbikgZWFzZS1pbjtcclxuICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICYgPiBhLCAmID4gLnBsYWluLW1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgID4gLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0XHRcdFx0LmN1c3RvbS1tZWRpYS1kZXNjIHAge1xyXG5cdFx0XHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICMwMEFERUQ7IFxyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC4tbW9iaWxlLW1lbnUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCIubmF2LW1haW5fX2J0biB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnVyZ2VyLWJnKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGNvbG9yOiB2YXIoLS1idXJnZXItY29sb3IpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ1cmdlci1pY29uIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjRzIGVhc2U7XHJcbiAgICB3aWR0aDogdmFyKC0tYnVyZ2VyLXdpZHRoKTtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgYm90dG9tOiAtMTNweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXg6IG5vbmU7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XHJcbiAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IC04cHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXMtYWN0aXZlICYge1xyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuc2l0ZS1oZWFkZXIge1xyXG4gICAgLnNpdGUtc2VhcmNoIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBoZWlnaHQ6IG1heC1jb250ZW50O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgJl9fdG9nZ2xlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VhcmNoLWJ0bi1iZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2VhcmNoLWJ0bi1yYWRpdXMpO1xyXG5cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zZWFyY2gtc2l6ZSk7XHJcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tc2VhcmNoLXNpemUpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuXHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKXtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC0taGVhZGVyLWxpbmstY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXNlYXJjaC1vdXRlci1nYXApO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBlYXNlLW91dCwgaGVpZ2h0IHZhcigtLWJhc2UtdHJhbnNpdGlvbikgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpe1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKXtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMyMTI0NWMsIDAuNzUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5pcy1zaG93biB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jyl7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICArIC5zaXRlLXNlYXJjaF9fdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5pcy1oaWRkZW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jyl7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9faWNvbiB7XHJcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2Nsb3NlIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiAxNHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMzhweDtcclxuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zZWFyY2gtZm9ybSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNsYW1wKHZhcigtLWRlc2t0b3Atd2lkdGgpLCA5MHZ3LCBjYWxjKHZhcigtLWNvbnRlbnQtd2lkdGgpICsgdmFyKC0tcGFnZS1ndXR0ZXIsIDIwcHgpICogMikpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgIC0tY29udGVudC13aWR0aDogMTYyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnNlYXJjaC1zdWJtaXQge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ0bi1zZWNvbmRhcnktYmcpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHZpZXdCb3g9JzAgMCAxNCAxNCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J004LjYxNzUyIDEwLjAzMTdDNy43MzE0OCAxMC42NDI0IDYuNjU3NSAxMSA1LjUgMTFDMi40NjI0MyAxMSAwIDguNTM3NTcgMCA1LjVDMCAyLjQ2MjQzIDIuNDYyNDMgMCA1LjUgMEM4LjUzNzU3IDAgMTEgMi40NjI0MyAxMSA1LjVDMTEgNi42NTc1IDEwLjY0MjQgNy43MzE0OCAxMC4wMzE3IDguNjE3NTJMMTMuNzA3MSAxMi4yOTI5TDEyLjI5MjkgMTMuNzA3MUw4LjYxNzUyIDEwLjAzMTdaTTUuNSA5QzcuNDMzIDkgOSA3LjQzMyA5IDUuNUM5IDMuNTY3IDcuNDMzIDIgNS41IDJDMy41NjcgMiAyIDMuNTY3IDIgNS41QzIgNy40MzMgMy41NjcgOSA1LjUgOVonIGZpbGw9JyUyMzAwNDVjMicgLyUzRSUzQy9zdmclM0UlMEFcIik7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAzMHB4IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IHZhcigtLWJ0bi1zZWNvbmRhcnktYm9yZGVyKSBzb2xpZCB2YXIoLS1idG4tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1idG4tYm9yZGVyLXJhZGl1cywgMCk7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1idG4tYm94LXNoYWRvdywgbm9uZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1idG4tZm9udC1mYW1pbHkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1idG4tZm9udC1zaXplLCAxLjhyZW0pO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWJ0bi1mb250LXdlaWdodCwgNjAwKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNjBweCAxMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tYnRuLXRleHQtdHJhbnNmb3JtLCBub25lKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBlYXNlLW91dCwgcGFkZGluZyB2YXIoLS1iYXNlLXRyYW5zaXRpb24pIGVhc2Utb3V0LCB0cmFuc2Zvcm0gdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgY29sb3IgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZScpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgdmlld0JveD0nMCAwIDE0IDE0JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTguNjE3NTIgMTAuMDMxN0M3LjczMTQ4IDEwLjY0MjQgNi42NTc1IDExIDUuNSAxMUMyLjQ2MjQzIDExIDAgOC41Mzc1NyAwIDUuNUMwIDIuNDYyNDMgMi40NjI0MyAwIDUuNSAwQzguNTM3NTcgMCAxMSAyLjQ2MjQzIDExIDUuNUMxMSA2LjY1NzUgMTAuNjQyNCA3LjczMTQ4IDEwLjAzMTcgOC42MTc1MkwxMy43MDcxIDEyLjI5MjlMMTIuMjkyOSAxMy43MDcxTDguNjE3NTIgMTAuMDMxN1pNNS41IDlDNy40MzMgOSA5IDcuNDMzIDkgNS41QzkgMy41NjcgNy40MzMgMiA1LjUgMkMzLjU2NyAyIDIgMy41NjcgMiA1LjVDMiA3LjQzMyAzLjU2NyA5IDUuNSA5WicgZmlsbD0nJTIzZmZmJyAvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAzMHB4IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzBweCAxMHB4IDYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOS41ODInIGhlaWdodD0nMTkuNTgyJyB2aWV3Qm94PScwIDAgMTkuNTgyIDE5LjU4MiclM0UlM0NwYXRoIGQ9J00xNi4yMjEsMTQuOTk0aC0uNjVsLS4yMjUtLjIyNWE1LjI3Nyw1LjI3NywwLDEsMC0uNTc2LjU4MWwuMjI1LjIyNXYuNjQ2bDQuMDg4LDQuMDhMMjAuMywxOS4wODNsLTQuMDgtNC4wODhabS00LjkwNiwwYTMuNjgsMy42OCwwLDEsMSwzLjY4LTMuNjhBMy42OCwzLjY4LDAsMCwxLDExLjMxNSwxNC45OTRaJyBmaWxsPSclMjNmZmYnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0zLjU2NiAtMy41NjYpJy8lM0UlM0NwYXRoIGQ9J00wLDBIMTkuNTgyVjE5LjU4MkgwWicgZmlsbD0nbm9uZScvJTNFJTNDL3N2ZyUzRSUwQVwiKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCA1MHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmUnKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6LXdlYmtpdC1hdXRvZmlsbCxcclxuICAgICAgICAgICAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxyXG4gICAgICAgICAgICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXHJcbiAgICAgICAgICAgICY6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTAwcHggdmFyKC0tcHJpbWFyeS1jb2xvcjEpIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNNS43MDcxMSA3LjEyMTMyTDEuNDE0MjEgMTEuNDE0MkwwIDEwTDQuMjkyODkgNS43MDcxMUwwIDEuNDE0MjFMMS40MTQyMSAwTDUuNzA3MTEgNC4yOTI4OUwxMCAwTDExLjQxNDIgMS40MTQyMUw3LjEyMTMyIDUuNzA3MTFMMTEuNDE0MiAxMEwxMCAxMS40MTQyTDUuNzA3MTEgNy4xMjEzMlonIGZpbGw9JyUyM2ZmZicgLyUzRSUzQy9zdmclM0UlMEFcIik7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zZWFyY2gge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuICMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAjICAgTW9kdWxlOiBCQU5ORVJTXHJcbiAjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJiYW5uZXJzL19iYW5uZXJzLWNvcmVcIjtcclxuXHJcbkBpbXBvcnQgXCJiYW5uZXJzL19iYW5uZXJzLWxheW91dFwiO1xyXG5cclxuQGltcG9ydCBcImJhbm5lcnMvX2Jhbm5lcnMtc2V0dGluZ3NcIjtcclxuIiwiLyoqXHJcbiAjIyMjIyMjIyMjIyMjIyMjXHJcbiAjICAgTW9kdWxlIEJBTk5FUlM6IENvcmVcclxuICMjIyMjIyMjIyMjIyMjIyNcclxuICovXHJcblxyXG4ubS1iYW5uZXIge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWJhbm5lckhlaWdodCwgYXV0byk7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDE1MHB4LCAxMnZ3LCAyMjVweCk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMzB2aDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbWVkaWEge1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcblxyXG4gICAgICAgIGltZywgcGljdHVyZSwgdmlkZW8sIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGFzLW92ZXJsYXkgJiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhhcy1vdmVybGF5KHZhcigtLW92ZXJsYXktY29sb3IpLCB2YXIoLS1vdmVybGF5LW9wYWNpdHkpKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmZpeGVkLWhlYWRlci5zaW5nbGUtcHJvZHVjdCAmIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKioqKioqKioqKioqKioqXHJcbiAgICAgKiogIFZhcmlhdGlvbnNcclxuICAgICAqKioqKioqKioqKioqKipcclxuICAgICAqICAubS1iYW5uZXItLXNtYWxsLCAtLW1lZGl1bSwgLS1mdWxsXHJcbiAgICAgKi9cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xyXG5cclxuICAgICAgICAmLS1ibG9nIHtcclxuICAgICAgICAgICAgLS1iYW5uZXJIZWlnaHQ6IHZhcigtLWJhbm5lci1oZWlnaHQtLWJsb2csIDQyMHB4KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tc21hbGwge1xyXG4gICAgICAgICAgICAtLWJhbm5lckhlaWdodDogdmFyKC0tYmFubmVyLWhlaWdodC0tc21hbGwsIDMwMHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLW1lZGl1bSB7XHJcbiAgICAgICAgICAgIC0tYmFubmVySGVpZ2h0OiB2YXIoLS1iYW5uZXItaGVpZ2h0LS1tZWRpdW0sIDQ1MHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWZ1bGwge1xyXG4gICAgICAgICAgICAtLWJhbm5lckhlaWdodDogdmFyKC0tYmFubmVyLWhlaWdodC0tZnVsbCwgMTAwdmgpO1xyXG5cclxuICAgICAgICAgICAgLm0tYmFubmVyX19jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogdmFyKC0tYmFubmVySGVpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbiIsIkBtaXhpbiBmb250LWRhdGEoJHNpemU6IGZhbHNlLCAkbGg6IGZhbHNlLCAkd2VpZ2h0OiBmYWxzZSwgJGZvbnQ6IGZhbHNlKSB7XHJcbiAgICBAaWYgJHNpemUgeyBmb250LXNpemU6ICRzaXplOyB9XHJcbiAgICBAaWYgJGxoIHsgbGluZS1oZWlnaHQ6ICRsaDsgfVxyXG4gICAgQGlmICR3ZWlnaHQgeyBmb250LXdlaWdodDogJHdlaWdodDsgfVxyXG4gICAgQGlmICRmb250IHsgZm9udC1mYW1pbHk6ICRmb250OyB9XHJcbn1cclxuXHJcbkBtaXhpbiBoYXMtb3ZlcmxheSgkYmc6IGZhbHNlLCAkb3BhY2l0eTogZmFsc2UpIHtcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY292ZXItYmFja2dyb3VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgfVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxyXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuIiwiLyoqXHJcbiAjIyMjIyMjIyMjIyMjIyMjXHJcbiAjICAgTW9kdWxlIEJBTk5FUlM6IEJhc2UgTGF5b3V0XHJcbiAjIyMjIyMjIyMjIyMjIyMjXHJcbiAqL1xyXG5cclxuLmwtYmFubmVyIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1iYW5uZXItYm90LXBhZGRpbmcsIDApO1xyXG4gICAgcGFkZGluZy10b3A6IHZhcigtLWJhbm5lci10b3AtcGFkZGluZywgMCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICZfX21lZGlhIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+bGFwdG9wXCIpIHtcclxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYy1pbWFnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qIEJhbm5lcnMgKi9cclxuXHJcbi5tLWJhbm5lciB7XHJcbiAgICAtLWJhbm5lci1ib3QtcGFkZGluZzogMDtcclxuICAgIC0tb3ZlcmxheS1jb2xvcjogIzBEMTA0ODtcclxuICAgIC0tYmFubmVyLWhlaWdodC0tYmxvZzogNDAwcHg7XHJcbiAgICAtLWJhbm5lci1oZWlnaHQtLWZ1bGw6IG1heC1oZWlnaHQ7XHJcbiAgICAtLWJhbm5lci1oZWlnaHQtLW1lZGl1bTogNTAwcHg7XHJcbiAgICAtLWJhbm5lci1oZWlnaHQtLXNtYWxsOiAzMDBweDtcclxuICAgIC0tb3ZlcmxheS1vcGFjaXR5OiAuNzU7XHJcbiAgICAtLWJhbm5lci10b3AtcGFkZGluZzogNXZtaW47XHJcbn1cclxuXHJcbiIsIi8qKlxyXG4gKiBIRUFESU5HIE1vZHVsZVxyXG4gKlxyXG4gKiBTdGFuZGFsb25lIGhlYWRpbmcgc2VsZWN0b3JzLCB0aXRsZSwgcHJlL3N1Yi10aXRsZVxyXG4gKlxyXG4gKi9cclxuXHJcbi4taDEsIC5pcy13eXNpd3lnIGgxIHtcclxuICAgIGNvbG9yOiB2YXIoLS10aXRsZXMtY29sb3IpO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWgxLWZvbnQpO1xyXG4gICAgZm9udC1zaXplOiAje1wiY2xhbXAodmFyKC0taDEtZm9udC1zaXplLW1vYmlsZSksIHZhcigtLWgtY2xhbXAtZm9ybXVsYSksIHZhcigtLWgxLWZvbnQtc2l6ZSkpXCJ9O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWgxLWZvbnQtd2VpZ2h0LCA2MDApO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWgxLWxldHRlci1zcGFjaW5nLCAwKTtcclxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1oMS1saW5lLWhlaWdodCwgMSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMS1tYXJnaW4tYm90dG9tLCAuNWVtKTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1oMS10ZXh0LXRyYW5zZm9ybSk7XHJcblxyXG4gICAgLmNvbG9ycy1pbnZlcnRlZCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRpdGxlcy1jb2xvci1hbHQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uLWgyLCAuaXMtd3lzaXd5ZyBoMiB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0taDItZm9udCk7XHJcbiAgICBmb250LXNpemU6ICN7XCJjbGFtcCh2YXIoLS1oMi1mb250LXNpemUtbW9iaWxlKSwgdmFyKC0taC1jbGFtcC1mb3JtdWxhKSwgdmFyKC0taDItZm9udC1zaXplKSlcIn07XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0taDItZm9udC13ZWlnaHQsIDYwMCk7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0taDItbGV0dGVyLXNwYWNpbmcsIDApO1xyXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWgyLWxpbmUtaGVpZ2h0LCAxKTtcclxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWgyLW1hcmdpbi1ib3R0b20sIC41ZW0pO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWgyLXRleHQtdHJhbnNmb3JtKTtcclxufVxyXG5cclxuLi1oMywgLmlzLXd5c2l3eWcgaDMge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWgzLWZvbnQpO1xyXG4gICAgZm9udC1zaXplOiAje1wiY2xhbXAodmFyKC0taDMtZm9udC1zaXplLW1vYmlsZSksIHZhcigtLWgtY2xhbXAtZm9ybXVsYSksIHZhcigtLWgzLWZvbnQtc2l6ZSkpXCJ9O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWgzLWZvbnQtd2VpZ2h0LCA2MDApO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWgzLWxldHRlci1zcGFjaW5nLCAwKTtcclxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1oMy1saW5lLWhlaWdodCwgMSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMy1tYXJnaW4tYm90dG9tLCAuNWVtKTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1oMy10ZXh0LXRyYW5zZm9ybSk7XHJcbn1cclxuXHJcbi4taDQsIC5pcy13eXNpd3lnIGg0IHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1oNC1mb250KTtcclxuICAgIGZvbnQtc2l6ZTogI3tcImNsYW1wKHZhcigtLWg0LWZvbnQtc2l6ZS1tb2JpbGUpLCB2YXIoLS1oLWNsYW1wLWZvcm11bGEpLCB2YXIoLS1oNC1mb250LXNpemUpKVwifTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNC1mb250LXdlaWdodCwgNjAwKTtcclxuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1oNC1sZXR0ZXItc3BhY2luZywgMCk7XHJcbiAgICBsaW5lLWhlaWdodDogdmFyKC0taDQtbGluZS1oZWlnaHQsIDEpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDQtbWFyZ2luLWJvdHRvbSwgLjVlbSk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0taDQtdGV4dC10cmFuc2Zvcm0pO1xyXG59XHJcblxyXG4uYy1oZWFkaW5nIHtcclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGl0bGVzLWNvbG9yKTtcclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDEtbWFyZ2luLWJvdHRvbSwgLjVlbSk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgIC5jb2xvcnMtaW52ZXJ0ZWQgJiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aXRsZXMtY29sb3ItYWx0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXh0LWNlbnRlciAmIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3ByZSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByZXRpdGxlLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yMikpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmV0aXRsZS1mb250KTtcclxuICAgICAgICBmb250LXNpemU6ICN7XCJjbGFtcCh2YXIoLS1wcmV0aXRsZS1mb250LXNpemUtbW9iaWxlLCAxOHB4KSwgdmFyKC0taC1jbGFtcC1mb3JtdWxhKSwgdmFyKC0tcHJldGl0bGUtZm9udC1zaXplLCAyLjRyZW0pKVwifTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tcHJldGl0bGUtZm9udC13ZWlnaHQsIDUwMCk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXByZXRpdGxlLWxldHRlci1zcGFjaW5nLCAwKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tcHJldGl0bGUtbGluZS1oZWlnaHQsIDEuNCk7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1wcmV0aXRsZS1tYXJnaW4tYm90dG9tLCAuNWVtKSAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1wcmV0aXRsZS10ZXh0LXRyYW5zZm9ybSk7XHJcblxyXG4gICAgICAgIC5jb2xvcnMtaW52ZXJ0ZWQgJixcclxuICAgICAgICAuc3R5bGUtZGFyayAmIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByZXRpdGxlLWNvbG9yLWFsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3N1YiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXN1YnRpdGxlLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yMikpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zdWJ0aXRsZS1mb250KTtcclxuICAgICAgICBmb250LXNpemU6ICN7XCJjbGFtcCh2YXIoLS1zdWJ0aXRsZS1mb250LXNpemUtbW9iaWxlLCAxOHB4KSwgdmFyKC0taC1jbGFtcC1mb3JtdWxhKSwgdmFyKC0tc3VidGl0bGUtZm9udC1zaXplLCAyLjRyZW0pKVwifTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tc3VidGl0bGUtZm9udC13ZWlnaHQsIDUwMCk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXN1YnRpdGxlLWxldHRlci1zcGFjaW5nLCAwKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc3VidGl0bGUtbGluZS1oZWlnaHQsIDEuNCk7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1zdWJ0aXRsZS1tYXJnaW4tYm90dG9tLCAuNWVtKSAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1zdWJ0aXRsZS10ZXh0LXRyYW5zZm9ybSk7XHJcblxyXG4gICAgICAgIC5jb2xvcnMtaW52ZXJ0ZWQgJixcclxuICAgICAgICAuc3R5bGUtZGFyayAmIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXN1YnRpdGxlLWNvbG9yLWFsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYmFzZS10ZXh0LXNpemUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogIy4jIE1vZGlmaWVyc1xyXG4gICAgICovXHJcblxyXG4gICAgLnRleHQtY2VudGVyICYge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLXdoaXRlIHtcclxuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbn1cclxuXHJcbi5jLWJsdWUge1xyXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxufVxyXG5cclxuLmMtcHVycGxlIHtcclxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbn0iLCIvKiBIZWFkaW5nIExheW91dCAqL1xyXG5cclxuLmwtaGVhZGluZy12MSB7XHJcblxyXG59XHJcblxyXG4ubC1oZWFkaW5nLXYyIHtcclxuICAgIC0tcHJldGl0bGUtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tc3VidGl0bGUtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xyXG4gICAgLS1oMi1mb250OiB2YXIoLS1mb250LWZhbWlseS1wcmltYXJ5KTtcclxuICAgIC0taDItZm9udC1zaXplOiAyLjhyZW07XHJcblxyXG4gICAgLS1wcmV0aXRsZS1mb250LXNpemU6IDJyZW07XHJcbiAgICAtLXN1YnRpdGxlLWZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgLS1oMi1mb250LXdlaWdodDogNTAwO1xyXG5cclxuICAgIC0taDItbGV0dGVyLXNwYWNpbmc6IC4xZW07XHJcbiAgICAtLXByZXRpdGxlLWxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgLS1zdWJ0aXRsZS1sZXR0ZXItc3BhY2luZzogMDtcclxuXHJcbiAgICAtLWgyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuIiwiLyoqXHJcbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAjICAgQnV0dG9ucyBDb21wb25lbnRcclxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuICovXHJcblxyXG4vKipcclxuICoqKioqKioqKioqKipcclxuICoqICBDb3JlXHJcbiAqKioqKioqKioqKioqXHJcbiAqICBDb21tb24gcHJvcGVydGllcyBvZiBidXR0b25zXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcImJ1dHRvbnMvYnV0dG9ucy1jb3JlXCI7IiwiLyoqIEJ1dHRvbnMgQ29yZSBDb21wb25lbnQgKi9cclxuXHJcbi5idG4ge1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIC0tYnRuLWljby1jb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLS1pY29uLXNoaWZ0OiAxMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIGJvcmRlciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBiYWNrZ3JvdW5kIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbn1cclxuXHJcbi5jLWJ0biB7XHJcbiAgICBAZXh0ZW5kIC5idG47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnRuLWJvcmRlci1yYWRpdXMsIDApO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tYnRuLWJveC1zaGFkb3csIG5vbmUpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tYnRuLWZvbnQtZmFtaWx5KTtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMC45NHZ3LCAxOHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1idG4tZm9udC13ZWlnaHQsIDYwMCk7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1idG4tcGFkZGluZy10b3AtYm90dG9tLCAxMHB4KSB2YXIoLS1idG4tcGFkZGluZy1yaWdodCwgNjBweCkgdmFyKC0tYnRuLXBhZGRpbmctdG9wLWJvdHRvbSwgMTBweCkgdmFyKC0tYnRuLXBhZGRpbmctbGVmdCwgMzBweCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tYnRuLXRleHQtdHJhbnNmb3JtLCBub25lKTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBjb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgID5zcGFuIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB9XHJcbiAgICAvKiBCdXR0b24gVmlzdWFsIFZhcmlhbnRzICovXHJcbiAgICAmLi1wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXByaW1hcnktY29sb3IzKSAzMCUsIHZhcigtLXByaW1hcnktY29sb3IyKSA1MCUpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJTtcclxuICAgICAgICBib3JkZXI6IHZhcigtLWJ0bi1wcmltYXJ5LWJvcmRlcikgc29saWQgdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyLWNvbG9yKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gNDAwbXMgZWFzZS1vdXQ7XHJcbiAgICAgICAgLmMtYnRuX190ZXh0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMzBweCBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tYnRuLXBhZGRpbmctdG9wLWJvdHRvbSwgMTBweCkgdmFyKC0tYnRuLXBhZGRpbmctcmlnaHQsIDYwcHgpIHZhcigtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b20sIDEwcHgpIHZhcigtLWJ0bi1wYWRkaW5nLWxlZnQsIDMwcHgpO1xyXG4gICAgICAgICAgICAtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gNDAwbXMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYmctaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1ib3JkZXItY29sb3ItaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWNvbG9yLWhvdmVyKTtcclxuICAgICAgICAgICAgICAgIC5jLWJ0bl9fdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAzMHB4IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuLXNlY29uZGFyeSxcclxuICAgICYuLXNlY29uZGFyeS1ibHVlLFxyXG4gICAgJi4tc2Vjb25kYXJ5LWRlbmltLFxyXG4gICAgJi4tbGluay1kZW5pbSxcclxuICAgICYuLWxpbmstYmx1ZSxcclxuICAgICYuLWxpbmstb3JhbmdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAzMHB4IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBlYXNlLW91dDtcclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMzBweCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAuYy1idG5fX3RleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuLXNlY29uZGFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1iZyk7XHJcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWJvcmRlcikgc29saWQgdmFyKC0tYnRuLXNlY29uZGFyeS1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWNvbG9yKTtcclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ0bi1zZWNvbmRhcnktYmctaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWJvcmRlci1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLi1zZWNvbmRhcnktYmx1ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgIGJvcmRlcjogdmFyKC0tYnRuLXNlY29uZGFyeS1ib3JkZXIpIHNvbGlkIHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi4tc2Vjb25kYXJ5LWRlbmltIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XHJcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWJvcmRlcikgc29saWQgdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IzKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLi1saW5rLWRlbmltLFxyXG4gICAgJi4tbGluay1ibHVlLFxyXG4gICAgJi5saW5rLW9yYW5nZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMjBweCBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCB2YXIoLS1idG4tcGFkZGluZy1yaWdodCwgNjBweCkgMTBweCAwO1xyXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAwIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC5jLWJ0biB7XHJcbiAgICAgICAgICAgICAgICAgICAgJl9fdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLi1saW5rLWRlbmltIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xyXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuLWxpbmstYmx1ZSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi4tbGluay13aGl0ZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYy1ibG9jay1yYWRpdXMpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYnRuLXNlY29uZGFyeS1mb250LXNpemUpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IDEwcHggMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jLWJsb2NrLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jLWJ0bl9faWNvIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpbmstaWNvbi1jb2xvciwgY3VycmVudENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdmcsXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoNDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaSxcclxuICAgICAgICAgICAgICAgIC5jLWJ0bl9faWNvIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4LCA1cHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi4tbGluay1vcmFuZ2Uge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3I1KTtcclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3I1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qIEJ1dHRvbiBJY29uICovXHJcbiAgICAmX190ZXh0IHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIGVhc2Utb3V0O1xyXG4gICAgfVxyXG4gICAgJl9faWNvIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1heC13aWR0aDogNDBweDtcclxuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBmaWx0ZXIgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgb3BhY2l0eSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgIHN2ZyxcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEuNWVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLWljby1jb2xvcik7XHJcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLWJ0bi1pY28tY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBmaWx0ZXIgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgb3BhY2l0eSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jLWJ0bi1iYXIgJiB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICAgICYuLWxvYWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzIyJyBoZWlnaHQ9JzIwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMjAuOTk2IDEuOTk4djZoLTYnIHN0cm9rZT0nJTIzMDA0NWMyJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDcGF0aCBkPSdNMTguNDg2IDEyLjk5OGE5IDkgMCAxIDEtMi4xMi05LjM2bDQuNjMgNC4zNicgc3Ryb2tlPSclMjMwMDQ1YzInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDI1cHggY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjInIGhlaWdodD0nMjAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00yMC45OTYgMS45OTh2NmgtNicgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0NwYXRoIGQ9J00xOC40ODYgMTIuOTk4YTkgOSAwIDEgMS0yLjEyLTkuMzZsNC42MyA0LjM2JyBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogQ0Y3IFN1Ym1pdCBCdXR0b24gKi9cclxuXHJcbi5nZm9ybV9idXR0b24ge1xyXG4gICAgQGV4dGVuZCAuYy1idG47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMCcgaGVpZ2h0PScxOCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTExLjE0NSAxNS4xNzRWMThIMHYtMi44MjZoMTEuMTQ1Wk00LjEzNCA3LjY5MnYyLjgyNWgxMS4xNDVWNy42OTJINC4xMzRaTTguMjY3IDB2Mi44MjZoMTEuMTQ2VjBIOC4yNjdaJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAyMHB4IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBib3JkZXI6IHZhcigtLWJ0bi1zZWNvbmRhcnktYm9yZGVyKSBzb2xpZCB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tYnRuLWJveC1zaGFkb3csIG5vbmUpO1xyXG4gICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWNvbG9yKTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1idG4tZm9udC1mYW1pbHkpO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1idG4tZm9udC1zaXplLCAxLjhyZW0pO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWJ0bi1mb250LXdlaWdodCwgNDAwKTtcclxuICAgIHBhZGRpbmc6IGNsYW1wKDhweCwgMC43dncsIDEzcHgpIDU1cHggY2xhbXAoOHB4LCAwLjd2dywgMTNweCkgMjVweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1idG4tdGV4dC10cmFuc2Zvcm0sIG5vbmUpO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiA0MDBtcyBlYXNlLW91dCwgcGFkZGluZyA0MDBtcyBlYXNlLW91dDtcclxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMjBweCBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGNsYW1wKDhweCwgMC43dncsIDEzcHgpIDI1cHggY2xhbXAoOHB4LCAwLjd2dywgMTNweCkgNTVweDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqXHJcbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAjICAgQ29udGVudCBCbG9jayBDb21wb25lbnRcclxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuICovXHJcblxyXG5AaW1wb3J0IFwiYmxvY2svYmxvY2stY29yZVwiOyIsIi5jLWJsb2NrIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsb2NrLWJnKTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jLWJsb2NrLXJhZGl1cyk7XHJcbiAgYm94LXNoYWRvdzogdmFyKC0tYy1ibG9jay1zaGFkb3cpO1xyXG5cclxuICAmX19ib2R5IHtcclxuICAgIGNvbG9yOiB2YXIoLS1jLWJsb2NrLWNvbG9yKTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tYy1ibG9jay10ZXh0LXNpemUpO1xyXG4gICAgcGFkZGluZzogdmFyKC0t0YEtYmxvY2stcGFkZGluZywgMTVweCk7XHJcbiAgICB0ZXh0LWFsaWduOiB2YXIoLS3RgS1ibG9jay1hbGlnbiwgbGVmdCk7XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBjb2xvcjogdmFyKC0tYy1ibG9jay10aXRsZS1jb2xvcik7XHJcbiAgICBmb250LXNpemU6IHZhcigtLWMtYmxvY2stdGl0bGUtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tYy1ibG9jay10aXRsZS13ZWlnaHQpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDQtbWFyZ2luLWJvdHRvbSwgLjVlbSk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tYy1ibG9jay10aXRsZS10cmFuc2Zvcm0pO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1saW5rLWNvbG9yLWhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3ByZXRpdGxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IC41ZW07XHJcbiAgfVxyXG5cclxuICAmX190ZXh0IHtcclxuICAgIHN0cm9uZyB7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbWVkaWEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tYy1ibG9jay1pbWctcmF0aW8sIDQgLyAzKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lJykge1xyXG4gICAgICBhc3BlY3QtcmF0aW86IHZhcigtLWMtYmxvY2staW1nLXJhdGlvLCA0IC8gMyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19idG4ge1xyXG4gICAgbWFyZ2luLXRvcDogMWVtO1xyXG4gIH1cclxuXHJcbiAgLmMtaW1hZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcbiIsIi5jLWJsb2NrLXNvY2lhbCB7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gICZfX2l0ZW0ge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgY2xhbXAoN3B4LCAwLjd2dywgMTVweCkgMCAwO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2xpbmsge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc29jaWFsLWljb24tYmcpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc29jaWFsLWljb24tcmFkaXVzKTtcclxuICAgIGNvbG9yOiB2YXIoLS1zb2NpYWwtaWNvbi1jb2xvcik7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiB2YXIoLS1zb2NpYWwtaWNvbi1zaXplKTtcclxuICAgIHdpZHRoOiB2YXIoLS1zb2NpYWwtaWNvbi1zaXplKTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pIGVhc2UtaW47XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNvY2lhbC1pY29uLWJnLWhvdmVyKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc29jaWFsLWljb24tY29sb3ItaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ljb24ge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbWF4LWhlaWdodDogODAlO1xyXG4gICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgfVxyXG5cclxuICAuYy13aGl0ZSB7XHJcbiAgICBmb250LXNpemU6IDIuMnJlbTtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gICZfX2xpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC0tc29jaWFsLWljb24tc2l6ZTogNDVweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICB9XHJcblxyXG4gICYuLWJsdWUge1xyXG4gICAgLmMtYmxvY2stc29jaWFsX19saW5rIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiLm0taGVybyB7XHJcbiAgLmMtaGVhZGluZyB7XHJcbiAgICBwYWRkaW5nOiA2NXB4IDAgY2xhbXAoNDBweCwgNnZ3LCAxNDVweCkgMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPmxhcHRvcC1sJykge1xyXG4gICAgICBtYXgtd2lkdGg6IDU1JTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcC1sJywgJz50YWJsZXQnKSB7XHJcbiAgICAgIG1heC13aWR0aDogNzIlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3N1YiB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjAlIDIwcHggMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2xpc3Qge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjQnIGhlaWdodD0nMjUnIHZpZXdCb3g9JzAgMCAyNCAyNScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMi41JyByPScxMicgZmlsbD0nJTIzRkFCMDQwJy8lM0UlM0NwYXRoIGQ9J00xNiAxMi41TDggN0wxMS4wNDc2IDEyLjVMOCAxOEwxNiAxMi41WicgZmlsbD0nJTIzMjEyNDVDJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wIDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAzMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLi1pY29uIHtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICB3aWR0aDogNTBweDtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuLXRleHQge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDAgY2xhbXAoMjBweCwgMi42dncsIDUwcHgpIDAgMTBweDtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY29tcGFueSB7XHJcbiAgICAuZjEge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbHMge1xyXG4gICAgcGFkZGluZy1yaWdodDogMTYlO1xyXG5cclxuICAgIC5mMSB7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDIwcHgsIDIuMnZ3LCA0MHB4KSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmYyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDAgMzBweCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLi1oNCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zdGF0cyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgd2lkdGg6IDQwJTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgcGFkZGluZzogMjBweCAxMDBweCAyMHB4IDA7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLi1oMSwgLi1oMyB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAuLWgxIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcclxuICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoNDBweCwgMi42dncsIDUwcHgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLi1oMyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgMS4xNXZ3LCAyMnB4KTtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCBjbGFtcCgyMHB4LCAydncsIDQwcHgpIDEwcHggMTVweDtcclxuICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19sb2dvcyB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogNjAlO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgbWF4LWhlaWdodDogNTBweDtcclxuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fZmluZCB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDAgMCAwO1xyXG4gIH1cclxuXHJcbiAgJl9fZmluZC10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XHJcbiAgfVxyXG5cclxuICAmX19maW5kLWl0ZW1zIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lJykge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19maW5kLWl0ZW0ge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdoaXRlKTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIHBhZGRpbmc6IDExcHggMjJweDtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWJhc2UtdHJhbnNpdGlvbikgZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBlYXNlLW91dDtcclxuXHJcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sLWJhbm5lciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cdC50aHVtYm5haWwtcmlnaHR7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDgwcHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cdFx0bWF4LXdpZHRoOiAzNjBweDsgXHJcbiAgICByaWdodDogLTIwcHg7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICBcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0XHR0b3A6MzFweDtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuXHR9XHJcblxyXG4gICYuLWhvbWUge1xyXG4gICAgLm0taGVyb19fbG9nb3Mge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNSU7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubS1oZXJvX19jb21wYW55IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm0tYmFubmVyX19jb250YWluZXIge1xyXG4gICAgICBwYWRkaW5nLXRvcDogY2xhbXAoMTIwcHgsIDguNXZ3LCAxNjBweCk7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tLWJhbm5lcl9fbWVkaWEge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nNjMxJyBoZWlnaHQ9JzU4NScgdmlld0JveD0nMCAwIDYzMSA1ODUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NnIG9wYWNpdHk9JzAuNSclM0UlM0NwYXRoIGQ9J00zNjIuMjcyIDQ5My4xNjlWNTg1SDBWNDkzLjE2OUgzNjIuMjcyWk0xMzQuMzY0IDI0OS45ODVWMzQxLjgxN0g0OTYuNjM2VjI0OS45ODVIMTM0LjM2NFpNMjY4LjcyOCAwVjkxLjgzMTRINjMxVjBIMjY4LjcyOFonIGZpbGw9JyUyMzAwQURFRCcvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMyUgNjclO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MCUgNjB2aDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tLWhlcm9fX2JhZGdlIHtcclxuICAgICAgYm90dG9tOiAtNTNweDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogLTI1cHg7XHJcbiAgICAgIHdpZHRoOiAyMyU7XHJcbiAgICAgIHotaW5kZXg6IDIxO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPD1sYXB0b3AnLCAnPnRhYmxldCcpIHtcclxuICAgICAgICBib3R0b206IC00MnB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICBib3R0b206IGF1dG87XHJcbiAgICAgICAgdG9wOiAtMzBweDtcclxuICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuLXBhZ2Uge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAuaWNvbi1pY29uLWxvZ28tdG0ge1xyXG4gICAgICBib3R0b206IDEwMCU7XHJcbiAgICAgIGhlaWdodDogY2xhbXAoMjUwcHgsIDE4dncsIDMzMHB4KTtcclxuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogLTE2N3B4O1xyXG4gICAgICB3aWR0aDogMzkwcHg7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcclxuICAgICAgICByaWdodDogLTguM3Z3O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm0tYmFubmVyX19jb250YWluZXIge1xyXG4gICAgICBwYWRkaW5nLXRvcDogY2xhbXAoMTIwcHgsIDguNXZ3LCAxNjBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmMtaGVhZGluZyB7XHJcbiAgICAgIHBhZGRpbmc6IDMwcHggMCBjbGFtcCg1MHB4LCA1LjJ2dywgMTAwcHgpIDA7XHJcblxyXG4gICAgICAmX19zdWIge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubS1oZXJvX19jb21wYW55IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTYlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm0taGVyb19fbG9nb3Mge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tLWhlcm9fX2NvbHMge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAuZjIge1xyXG4gICAgICAgICAgcGFkZGluZzogMjBweCAwIDAgMDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmYyIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgY2xhbXAoODBweCwgNnZ3LCAxMTVweCkgMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tLWhlcm9fX3N0YXRzIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmMtcHVycGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jLWJsb2NrLXNvY2lhbCB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lJykge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19saXN0IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZScpIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi4tbG9jYXRpb25zIHtcclxuICAgIC5jLWhlYWRpbmcge1xyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jZXJ0aWZpZWQtaW5zdHJ1Y3RvciB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhlcm8tYmctYnVybiB7XHJcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBhZ2UtaGVyby1iZyksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNDAlIDgwJSwgcmdiYSgjMDBBREVELCAxKSwgcmdiYSgjMjEyNDVDLCAwLjIpIDMwJSksXHJcbiAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA5MCUgMTAlLCByZ2JhKCMwMEFERUQsIDEpLCByZ2JhKCMyMTI0NUMsIDAuMikgMzAlKSxcclxuICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDAlIDEwJSwgcmdiYSgjMDBBREVELCAxKSwgcmdiYSgjMjEyNDVDLCAwLjIpIDMwJSk7XHJcbiAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDYwcHg7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHJcbkBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG5iYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMTBweDsgXHJcbn1cclxuICAmLXZpZGVvIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXkgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA0MCUgODAlLCByZ2JhKCMwMEFERUQsIDEpLCByZ2JhKCMyMTI0NUMsIDAuMikgMzAlKSxcclxuICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA5MCUgMTAlLCByZ2JhKCMwMEFERUQsIDEpLCByZ2JhKCMyMTI0NUMsIDAuMikgMzAlKSxcclxuICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAwJSAxMCUsIHJnYmEoIzAwQURFRCwgMSksIHJnYmEoIzIxMjQ1QywgMC4yKSAzMCUpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzYzMScgaGVpZ2h0PSc1ODUnIHZpZXdCb3g9JzAgMCA2MzEgNTg1JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZyBvcGFjaXR5PScwLjUnJTNFJTNDcGF0aCBkPSdNMzYyLjI3MiA0OTMuMTY5VjU4NUgwVjQ5My4xNjlIMzYyLjI3MlpNMTM0LjM2NCAyNDkuOTg1VjM0MS44MTdINDk2LjYzNlYyNDkuOTg1SDEzNC4zNjRaTTI2OC43MjggMFY5MS44MzE0SDYzMVYwSDI2OC43MjhaJyBmaWxsPSclMjMwMEFERUQnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiKTtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAzJSA2NyU7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlIDYwdmg7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhlcm8tc2lkZS1iZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIGNsYW1wKDUxMnB4LCAzNS4zdncsIDcyMHB4KSk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgIGxlZnQ6IC0yMHB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLi1uby1iZyB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmYxIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLnByZWxvYWRlciB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGVzbW9rZTtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAxMjAwbXMgMTUwMG1zIGVhc2Utb3V0O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpe1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDEwMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcsICc+bGFwdG9wLWwnKXtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA2MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmUnKXtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA1MDBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmhpZGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLi10bSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3dyYXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjAwbXMgMTIwMG1zIGVhc2Utb3V0LCBvcGFjaXR5IDYwMG1zIDEwMDBtcyBlYXNlLW91dDtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gODAwbXMgZWFzZS1vdXQsIG9wYWNpdHkgNDAwbXMgZWFzZS1vdXQ7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHJlY3Qge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsbCA0MDBtcyA4MDBtcyBlYXNlLW91dCwgb3BhY2l0eSA0MDBtcyA4MDBtcyBlYXNlLW91dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuLXAxIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAuLXAyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAuLXAzIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTUwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLXNjcm9sbD1cImluXCJdIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByZWxvYWRlcl9faXRlbSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHJlY3QsIHBhdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHJnYmEoZGFya3NsYXRlYmx1ZSwgMC41KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJlbG9hZGVyX193cmFwe1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEyKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0= */
