@charset "UTF-8";
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/**
 * Set up a decent box model on the root element
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-x: hidden;
  max-width: 100vw;
  background-color: #fff;
}

/**
 * Make all elements from the DOM inherit from the parent box-sizing
 * Since `*` has a specificity of 0, it does not override the `html` value
 * making all elements inheriting from the root box-sizing value
 * See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: 0.25rem solid transparent;
  margin: 0;
  padding: 0;
  outline: none;
}
*:focus,
*::before:focus,
*::after:focus {
  outline: none !important;
}

body {
  margin-bottom: 0 !important;
  overflow-x: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

main {
  position: relative;
  z-index: 0;
}

strong {
  font-weight: 500;
}

/**
 * Basic styles for links
 */
a {
  -webkit-transition: color 0.3s ease-in-out 0s;
  transition: color 0.3s ease-in-out 0s;
  color: inherit;
  text-decoration: none;
}
a:not(.button, button):not([disabled]) {
  cursor: pointer;
}
a:not(.button, button):not([disabled]):hover, a:not(.button, button):not([disabled]):focus, a:not(.button, button):not([disabled]):active {
  color: #fbba00;
}
a:visited {
  color: inherit;
}

a:not(.disabled, [disable=true]), button:not(.disabled, [disable=true]), [type=submit]:not(.disabled, [disable=true]) {
  cursor: pointer;
}

p {
  margin-bottom: 0;
}

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

.img-wrapper.no-sp-fit {
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.img-wrapper.no-sp-fit img {
  display: none;
}

[data-fit=cover] img {
  background-size: cover;
}

[data-fit=contain] img {
  background-size: contain;
}

.hidden-y {
  overflow: hidden;
}

.site {
  padding-top: 106px;
}
.has-banner .site {
  padding-top: 0;
}
@media only screen and (max-width: 1279px) {
  .site {
    padding-top: 62px;
  }
}

#wpadminbar {
  position: fixed !important;
}

.grid-wrapper {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.grid-wrapper.hide {
  display: none;
}
.grid-wrapper * {
  height: 100%;
}
.grid-wrapper .grid__item {
  width: -webkit-calc(1/12 * 100%);
  width: calc(1/12 * 100%);
}
.grid-wrapper .grid__col {
  background-color: rgba(168, 222, 255, 0.2);
}

.grid-toggle {
  cursor: pointer;
  position: fixed;
  padding: 16px;
  right: 0;
  bottom: 0;
  text-transform: uppercase;
  font-weight: bold;
  height: auto !important;
  background-color: rgba(229, 240, 86, 0.692);
  border: 1px dotted black;
}

.owl-dot {
  cursor: pointer;
}

.section {
  position: relative;
  z-index: 0;
}

#section-banner + .section,
.section--bg + .section--bg {
  margin-top: 0;
}

a img {
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
}
a:not([disabled]) {
  cursor: pointer;
}
a:not([disabled]):hover img, a:not([disabled]):focus img, a:not([disabled]):active img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}

.section--bg .section__wrapper {
  padding: 96px 0;
}

.grid-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}
@media only screen and (max-width: 1023px) {
  .grid-col {
    margin-left: -25px;
    margin-right: -25px;
  }
}
@media only screen and (max-width: 1439px) {
  .grid-col {
    margin-left: -25px;
    margin-right: -25px;
  }
}
.grid-col > div {
  width: 100%;
  padding: 0 10px;
  position: relative;
}
.grid-col > div label {
  left: 10px;
}
@media only screen and (max-width: 1023px) {
  .grid-col > div {
    padding: 0 25px;
  }
  .grid-col > div label {
    left: 25px;
  }
}
@media only screen and (max-width: 1439px) {
  .grid-col > div {
    padding: 0 28px;
  }
  .grid-col > div label {
    left: 28px;
  }
}
.grid-col ~ .grid-col {
  margin-top: 20px;
}
@media only screen and (max-width: 1023px) {
  .grid-col ~ .grid-col {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 1023px) {
  .grid-col--two > div + div {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 1023px) {
  .grid-col--two > div {
    width: 50%;
    padding: 0 25px;
  }
}
@media only screen and (max-width: 1439px) {
  .grid-col--two > div {
    width: 50%;
    padding: 0 28px;
  }
}

body {
  position: relative;
}
body::before {
  content: none;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 10000;
}
body.show-modal::before {
  content: "";
}
.html-show-modal {
  overflow: hidden;
}

.owl-carousel .owl-stage:after {
  content: "" !important;
}

.fs-gal-main {
  width: auto;
  height: 100%;
}

.text-highlight {
  color: #fbba00;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dashed #3B3C42;
}

@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaOblique.eot");
  src: url("../fonts/SFUFuturaOblique.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaOblique.woff2") format("woff2"), url("../fonts/SFUFuturaOblique.woff") format("woff"), url("../fonts/SFUFuturaOblique.ttf") format("truetype"), url("../fonts/SFUFuturaOblique.svg#SFUFuturaOblique") format("svg");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaHeavy.eot");
  src: url("../fonts/SFUFuturaHeavy.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaHeavy.woff2") format("woff2"), url("../fonts/SFUFuturaHeavy.woff") format("woff"), url("../fonts/SFUFuturaHeavy.ttf") format("truetype"), url("../fonts/SFUFuturaHeavy.svg#SFUFuturaHeavy") format("svg");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaLightOblique.eot");
  src: url("../fonts/SFUFuturaLightOblique.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaLightOblique.woff2") format("woff2"), url("../fonts/SFUFuturaLightOblique.woff") format("woff"), url("../fonts/SFUFuturaLightOblique.ttf") format("truetype"), url("../fonts/SFUFuturaLightOblique.svg#SFUFuturaLightOblique") format("svg");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaBold.eot");
  src: url("../fonts/SFUFuturaBold.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaBold.woff2") format("woff2"), url("../fonts/SFUFuturaBold.woff") format("woff"), url("../fonts/SFUFuturaBold.ttf") format("truetype"), url("../fonts/SFUFuturaBold.svg#SFUFuturaBold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaBook.eot");
  src: url("../fonts/SFUFuturaBook.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaBook.woff2") format("woff2"), url("../fonts/SFUFuturaBook.woff") format("woff"), url("../fonts/SFUFuturaBook.ttf") format("truetype"), url("../fonts/SFUFuturaBook.svg#SFUFuturaBook") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaBoldOblique.eot");
  src: url("../fonts/SFUFuturaBoldOblique.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaBoldOblique.woff2") format("woff2"), url("../fonts/SFUFuturaBoldOblique.woff") format("woff"), url("../fonts/SFUFuturaBoldOblique.ttf") format("truetype"), url("../fonts/SFUFuturaBoldOblique.svg#SFUFuturaBoldOblique") format("svg");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaExtraBoldOblique.eot");
  src: url("../fonts/SFUFuturaExtraBoldOblique.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaExtraBoldOblique.woff2") format("woff2"), url("../fonts/SFUFuturaExtraBoldOblique.woff") format("woff"), url("../fonts/SFUFuturaExtraBoldOblique.ttf") format("truetype"), url("../fonts/SFUFuturaExtraBoldOblique.svg#SFUFuturaExtraBoldOblique") format("svg");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaExtraBold.eot");
  src: url("../fonts/SFUFuturaExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaExtraBold.woff2") format("woff2"), url("../fonts/SFUFuturaExtraBold.woff") format("woff"), url("../fonts/SFUFuturaExtraBold.ttf") format("truetype"), url("../fonts/SFUFuturaExtraBold.svg#SFUFuturaExtraBold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaLight.eot");
  src: url("../fonts/SFUFuturaLight.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaLight.woff2") format("woff2"), url("../fonts/SFUFuturaLight.woff") format("woff"), url("../fonts/SFUFuturaLight.ttf") format("truetype"), url("../fonts/SFUFuturaLight.svg#SFUFuturaLight") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFutura.eot");
  src: url("../fonts/SFUFutura.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFutura.woff2") format("woff2"), url("../fonts/SFUFutura.woff") format("woff"), url("../fonts/SFUFutura.ttf") format("truetype"), url("../fonts/SFUFutura.svg#SFUFutura") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Futura";
  src: url("../fonts/SFUFuturaHeavyOblique.eot");
  src: url("../fonts/SFUFuturaHeavyOblique.eot?#iefix") format("embedded-opentype"), url("../fonts/SFUFuturaHeavyOblique.woff2") format("woff2"), url("../fonts/SFUFuturaHeavyOblique.woff") format("woff"), url("../fonts/SFUFuturaHeavyOblique.ttf") format("truetype"), url("../fonts/SFUFuturaHeavyOblique.svg#SFUFuturaHeavyOblique") format("svg");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
/**
 * Basic typography style for copy text
 */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 1.8rem;
  line-height: 1.2222222222em;
  font-weight: 300;
  text-transform: initial;
  color: #3B3C42;
}

:focus {
  -webkit-transition: none;
  transition: none;
  -webkit-box-shadow: 0 0 2px 1px transparent;
          box-shadow: 0 0 2px 1px transparent;
  outline: none;
}

.h1,
h1 {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 4.4rem;
  line-height: 1.2272727273em;
  font-weight: 400;
  text-transform: initial;
}
@media only screen and (max-width: 1023px) {
  .h1,
h1 {
    font-family: "Montserrat", sans-serif;
    letter-spacing: 0;
    font-size: 3.2rem;
    line-height: 1.21875em;
    font-weight: 400;
    text-transform: initial;
  }
}

.h2,
h2 {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 3.2rem;
  line-height: 1.21875em;
  font-weight: 400;
  text-transform: initial;
}
@media only screen and (max-width: 1023px) {
  .h2,
h2 {
    font-family: "Montserrat", sans-serif;
    letter-spacing: 0;
    font-size: 2.6rem;
    line-height: 1.2307692308em;
    font-weight: 400;
    text-transform: initial;
  }
}

.h3,
h3 {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 2.6rem;
  line-height: 1.2307692308em;
  font-weight: 400;
  text-transform: initial;
}

.h4,
h4 {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 2.4rem;
  line-height: 1.25em;
  font-weight: 300;
  text-transform: initial;
}

.h5,
h5 {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 2.2rem;
  line-height: 1.2272727273em;
  font-weight: 400;
  text-transform: initial;
}

.h6,
p, h6 {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 18px;
  line-height: 1.2222222222em;
  font-weight: 300;
  text-transform: initial;
}

.wysiwyg * {
  margin: 0;
}
.wysiwyg h1 + * {
  margin-top: 4rem;
}
@media only screen and (max-width: 1023px) {
  .wysiwyg h1 + * {
    margin-top: 22px;
  }
}
.wysiwyg h2 + * {
  margin-top: 33px;
}
.wysiwyg h3 + * {
  margin-top: 11px;
}
.wysiwyg h4 + * {
  margin-top: 2.8rem;
}
@media only screen and (max-width: 1023px) {
  .wysiwyg h4 + * {
    margin-top: 23px;
  }
}
.wysiwyg p + *, .wysiwyg h6 + * {
  margin-top: 2.1rem;
}
.wysiwyg.tick-list ul {
  list-style-image: url("../images/tick.png");
  padding-left: 21px;
}
.wysiwyg.tick-list ul li {
  position: relative;
  padding-left: 5px;
}
.wysiwyg.tick-list ul li + li {
  margin-top: 23px;
}
.wysiwyg ul {
  list-style: "•";
}
.wysiwyg ul + * {
  margin-top: 2.7rem;
}
.wysiwyg li {
  padding-left: 20px;
}
.wysiwyg a:not(.button) {
  font-weight: 500;
}

.two-columns-2 .wysiwyg a:not(.button) {
  font-weight: unset;
}

.page-template-page-basic .wpcf7-submit, .facetwp-load-more, .button {
  border-radius: 0;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  background: none;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 1.8rem;
  line-height: 1.2222222222em;
  font-weight: 500;
  text-transform: initial;
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  min-height: 61px;
  min-width: 268px;
  color: #3B3C42;
  background-color: #fbba00;
  display: inline-block;
  text-align: center;
  line-height: 61px;
  padding: 0 15px;
}
.page-template-page-basic .wpcf7-submit:not([disabled]), .facetwp-load-more:not([disabled]), .button:not([disabled]) {
  cursor: pointer;
}
.page-template-page-basic .wpcf7-submit:not([disabled]):hover, .facetwp-load-more:not([disabled]):hover, .button:not([disabled]):hover, .page-template-page-basic .wpcf7-submit:not([disabled]):focus, .facetwp-load-more:not([disabled]):focus, .button:not([disabled]):focus, .page-template-page-basic .wpcf7-submit:not([disabled]):active, .facetwp-load-more:not([disabled]):active, .button:not([disabled]):active {
  color: #3B3C42;
  background-color: rgba(251, 186, 0, 0.6);
}
.page-template-page-basic .wpcf7-submit:visited, .facetwp-load-more:visited, .button:visited {
  color: inherit;
}

@-webkit-keyframes btn {
  from {
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  to {
    -webkit-transform: translate(5px, -50%);
            transform: translate(5px, -50%);
  }
}

@keyframes btn {
  from {
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  to {
    -webkit-transform: translate(5px, -50%);
            transform: translate(5px, -50%);
  }
}
/**
 * Clear inner floats
 */
.clearfix::after {
  clear: both;
  content: "";
  display: table;
}

/**
 * Hide text while making it readable for screen readers
 * 1. Needed in WebKit-based browsers because of an implementation bug;
 *    See: https://code.google.com/p/chromium/issues/detail?id=457146
 */
.hide-text {
  overflow: hidden;
  padding: 0;
  /* 1 */
  text-indent: 101%;
  white-space: nowrap;
}

/**
 * Hide element while making it readable for screen readers
 * Shamelessly borrowed from HTML5Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133
 */
#wpsl-search-wrap .wpsl-input label,
.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

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

.hidden-pc {
  display: none;
}
@media (max-width: 768px) {
  .hidden-pc {
    display: block;
  }
}

.container {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 0px) {
  .container {
    padding: 0 6px;
  }
}
@media only screen and (min-width: 768px) {
  .container {
    padding: 0 50px;
  }
}
@media only screen and (min-width: 1024px) {
  .container {
    padding: 0 50px;
  }
}
@media only screen and (min-width: 1440px) {
  .container {
    padding: 0 80px;
  }
}
@media only screen and (min-width: 1700px) {
  .container {
    padding: 0 170px;
  }
}

.container--full {
  padding: 0;
  display: grid;
}

.grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
@media only screen and (max-width: -1px) {
  .grid {
    margin-left: -10px;
    margin-right: -10px;
  }
  .grid > * {
    padding: 0 10px;
    max-width: 100%;
  }
}
@media only screen and (max-width: 1279px) {
  .grid {
    margin-left: -20px;
    margin-right: -20px;
  }
  .grid > * {
    padding: 0 20px;
    max-width: 100%;
  }
}

.grid__item {
  width: 100%;
}

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

.bold {
  font-weight: bold;
}

.no-scroll {
  overflow: hidden;
}

.owl-nav {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

.owl-next,
.owl-prev {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 40px;
  height: 40px;
}
.owl-next svg,
.owl-prev svg {
  width: 100%;
  height: 100%;
  color: #dedede;
}
.owl-next svg:not([disabled]),
.owl-prev svg:not([disabled]) {
  cursor: pointer;
}
.owl-prev {
  left: -20px;
}

.owl-next {
  left: auto;
  right: -20px;
}

.reset-default-style {
  border-radius: 0;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  background: none;
}

.c-secondary {
  color: #fbba00;
}

.menu-toggle {
  display: block;
  outline: 0;
  margin-left: 20px;
  cursor: pointer;
  background: none;
  border: none;
  position: relative;
  overflow: hidden;
  width: 40px;
  height: 40px;
  padding: 0;
}
@media only screen and (max-width: 1023px) {
  .menu-toggle {
    margin-left: 50px;
  }
}
.menu-toggle svg {
  width: 40px;
  height: 40px;
  color: #fff;
}
.show-menu .menu-toggle svg:nth-child(1) {
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
}
.menu-toggle svg:nth-child(2) {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: none;
  width: 30px;
  height: 30px;
  opacity: 0;
}
.show-menu .menu-toggle svg:nth-child(2) {
  display: block;
  opacity: 1;
}
@media only screen and (max-width: 1023px) {
  .menu-toggle {
    display: none;
  }
}

.hamburger {
  font: inherit;
  display: inline-block;
  overflow: visible;
  margin: 0;
  padding: 15px;
  cursor: pointer;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  text-transform: none;
  color: inherit;
  border: 0;
  background-color: transparent;
}
.hamburger .hamburger-box {
  position: relative;
  display: block;
  width: 41px;
  height: 30px;
}
@media (max-width: 768px) {
  .hamburger .hamburger-box {
    width: 40px;
  }
}

.hamburger-inner:after, .hamburger-inner:before {
  display: block;
  content: "";
}

.hamburger-inner:before {
  top: -10px;
}

.hamburger-inner:after {
  bottom: -10px;
}

.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
  position: absolute;
  width: 41px;
  height: 4px;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  border-radius: 16px;
  left: 0;
}
@media (max-width: 768px) {
  .hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
    width: 40px;
    height: 4px;
  }
}

.hamburger--slider .hamburger-inner:before {
  top: 13px;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
}
@media (max-width: 768px) {
  .hamburger--slider .hamburger-inner:before {
    top: 10px;
  }
}

.hamburger--slider .hamburger-inner:after {
  top: 26px;
}
@media (max-width: 768px) {
  .hamburger--slider .hamburger-inner:after {
    top: 20px;
  }
}

.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner:before {
  -webkit-transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
          transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  opacity: 0;
}

.hamburger--slider.is-active .hamburger-inner:after {
  -webkit-transform: translate3d(0, -31px, 0) rotate(-90deg);
          transform: translate3d(0, -31px, 0) rotate(-90deg);
}
@media (max-width: 768px) {
  .hamburger--slider.is-active .hamburger-inner:after {
    -webkit-transform: translate3d(0, -20px, 0) rotate(-90deg);
            transform: translate3d(0, -20px, 0) rotate(-90deg);
  }
}

.hamburger {
  font: inherit;
  display: inline-block;
  overflow: visible;
  margin: 0;
  padding: 15px;
  cursor: pointer;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  text-transform: none;
  color: inherit;
  border: 0;
  background-color: transparent;
  padding-right: 0;
}
.hamburger .hamburger-box {
  position: relative;
  display: block;
  width: 41px;
  height: 30px;
}
@media (max-width: 768px) {
  .hamburger .hamburger-box {
    width: 40px;
    height: 24px;
  }
}

.hamburger-inner:after, .hamburger-inner:before {
  display: block;
  content: "";
}

.hamburger-inner:before {
  top: -10px;
}

.hamburger-inner:after {
  bottom: -10px;
}

.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
  position: absolute;
  width: 40px;
  height: 4px;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  border-radius: 2px;
  background-color: #3B3C42;
  left: 0;
}
@media (max-width: 768px) {
  .hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
    width: 40px;
    height: 4px;
  }
}

.hamburger--slider .hamburger-inner:before {
  top: 12px;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
}
@media (max-width: 768px) {
  .hamburger--slider .hamburger-inner:before {
    top: 10px;
  }
}

.hamburger--slider .hamburger-inner:after {
  top: 24px;
}
@media (max-width: 768px) {
  .hamburger--slider .hamburger-inner:after {
    top: 20px;
  }
}

.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 12px, 0) rotate(45deg);
          transform: translate3d(0, 12px, 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner:before {
  -webkit-transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
          transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  opacity: 0;
}

.hamburger--slider.is-active .hamburger-inner:after {
  -webkit-transform: translate3d(0, -24px, 0) rotate(-90deg);
          transform: translate3d(0, -24px, 0) rotate(-90deg);
}
@media (max-width: 768px) {
  .hamburger--slider.is-active .hamburger-inner:after {
    -webkit-transform: translate3d(0, -20px, 0) rotate(-90deg);
            transform: translate3d(0, -20px, 0) rotate(-90deg);
  }
}

@-webkit-keyframes customFadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0) scaleY(0);
            transform: translate3d(0, -100%, 0) scaleY(0);
  }
}

@keyframes customFadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0) scaleY(0);
            transform: translate3d(0, -100%, 0) scaleY(0);
  }
}
@-webkit-keyframes customFadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes customFadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.site-header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  height: 106px;
  z-index: 100;
  background-color: #fff;
}
@media only screen and (max-width: 1279px) {
  .site-header {
    height: 62px;
  }
}
#wpadminbar ~ * .site-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  #wpadminbar ~ * .site-header {
    top: 46px;
  }
}

.site-header__wrapper {
  padding-left: 24px;
}
@media only screen and (max-width: 767px) {
  .site-header__wrapper {
    padding-left: 22px;
  }
}

.site-header__grid {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 106px;
}
@media only screen and (max-width: 1279px) {
  .site-header__grid {
    height: 62px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.site-branding {
  width: 294px;
}
@media only screen and (max-width: 1439px) {
  .site-branding {
    width: 200px;
  }
}
@media only screen and (max-width: 1279px) {
  .site-branding {
    width: 176px;
  }
}
@media only screen and (max-width: 460px) {
  .site-branding {
    width: -webkit-calc(100% - 186px);
    width: calc(100% - 186px);
    padding-right: 12px;
  }
}

#logo {
  display: block;
}
#logo img {
  max-height: 67px;
  width: auto;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
#logo h1 {
  margin: 0;
  font-size: 0;
}

.site-header__contact {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  list-style-type: none;
  margin: 0 60px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  opacity: 1;
}
@media only screen and (max-width: 1279px) {
  .site-header__contact {
    display: none;
  }
}
.menu-active .site-header__contact {
  opacity: 0;
}
.site-header__contact li {
  max-width: 100%;
}
.site-header__contact li + li {
  margin-left: 56px;
}
.site-header__contact a {
  display: block;
  font-weight: 400;
}
.site-header__contact svg {
  position: relative;
  top: 10px;
  margin-right: 7px;
  display: inline-block;
}
.site-header__contact .icon-envelope {
  top: 5px;
}

.header-right {
  width: 288px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 1279px) {
  .header-right {
    width: 186px;
  }
}

.get-quote-link {
  display: inline-block;
  width: 144px;
  height: 106px;
  min-width: auto;
  line-height: 22px;
  padding: 30px 10px !important;
  background-color: #3B3C42;
  color: #fbba00 !important;
}
.get-quote-link:not([disabled]) {
  cursor: pointer;
}
.get-quote-link:not([disabled]):hover, .get-quote-link:not([disabled]):focus, .get-quote-link:not([disabled]):active {
  color: #3B3C42 !important;
  background-color: #fbba00;
}
@media only screen and (max-width: 1279px) {
  .get-quote-link {
    width: 93px;
    height: 62px;
    padding: 7px !important;
  }
  .get-quote-link span:first-child {
    display: none;
  }
}

.menu-toggle-wrap {
  width: 144px;
  height: 106px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fbba00;
}
@media only screen and (max-width: 1279px) {
  .menu-toggle-wrap {
    width: 93px;
    height: 62px;
  }
}

#menu-toggle {
  width: 41px;
  height: 30px;
  padding: 0;
}

.main-navigation {
  position: fixed;
  z-index: 100;
  top: 106px;
  left: 0;
  width: 100vw;
  min-height: -webkit-calc(100% - 106px);
  min-height: calc(100% - 106px);
  background-color: #fff;
  display: none;
  visibility: hidden;
}
@media only screen and (max-width: 1279px) {
  .main-navigation {
    top: 62px;
    min-height: -webkit-calc(100% - 62px);
    min-height: calc(100% - 62px);
  }
}
.menu-active .main-navigation {
  display: block;
  visibility: visible;
}
#wpadminbar ~ * .main-navigation {
  top: 138px;
}
@media only screen and (max-width: 1279px) {
  #wpadminbar ~ * .main-navigation {
    top: 94px;
  }
}
@media screen and (max-width: 782px) {
  #wpadminbar ~ * .main-navigation {
    top: 108px;
  }
}

.nav-wrapper {
  height: -webkit-calc(100vh - 48px - 106px);
  height: calc(100vh - 48px - 106px);
  padding-bottom: 44px;
  padding: 120px 160px 44px 120px;
  margin-bottom: 48px;
  border-bottom: 1px solid #3B3C42;
  overflow: hidden;
}
.nav-wrapper nav {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .nav-wrapper nav {
    padding: 0 10px;
  }
}
#wpadminbar ~ * .nav-wrapper {
  height: -webkit-calc(100vh - 48px - 106px - 32px);
  height: calc(100vh - 48px - 106px - 32px);
}
@media only screen and (max-width: 1279px) {
  #wpadminbar ~ * .nav-wrapper {
    height: -webkit-calc(100vh - 48px - 62px - 32px);
    height: calc(100vh - 48px - 62px - 32px);
  }
}
@media screen and (max-width: 782px) {
  #wpadminbar ~ * .nav-wrapper {
    height: -webkit-calc(100vh - 48px - 62px - 46px);
    height: calc(100vh - 48px - 62px - 46px);
  }
}
@media only screen and (max-width: 1699px) {
  .nav-wrapper {
    padding: 40px 100px 44px 100px;
  }
}
@media only screen and (max-width: 1023px) {
  .nav-wrapper {
    padding: 40px 40px 44px 40px;
  }
}
@media screen and (max-height: 1150px) {
  .nav-wrapper {
    padding-top: 40px;
    padding-left: 30px;
    padding-right: 30px;
  }
}

#primary-menu {
  list-style-type: none;
  margin-left: 0;
}
#primary-menu ul {
  list-style-type: none;
}
#primary-menu > li > a {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 2.4rem;
  line-height: 1.25em;
  font-weight: 400;
  text-transform: initial;
  padding-bottom: 7px;
  margin-bottom: 28px;
  min-width: 278px;
  display: inline-block;
  border-bottom: 1px dashed #3B3C42;
}
@media only screen and (max-width: 767px) {
  #primary-menu > li > a {
    min-width: 100%;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  #primary-menu .menu-item-has-children > a {
    pointer-events: none;
  }
}
#primary-menu .menu-item-has-children > a {
  position: relative;
}
#primary-menu .menu-item-has-children > a::after {
  -webkit-transition: -webkit-transform 0.3s ease-in-out 0s;
  transition: -webkit-transform 0.3s ease-in-out 0s;
  transition: transform 0.3s ease-in-out 0s;
  transition: transform 0.3s ease-in-out 0s, -webkit-transform 0.3s ease-in-out 0s;
  content: "";
  position: absolute;
  height: 20px;
  width: 2px;
  background: #3B3C42;
  border-radius: 10px;
  right: 9px;
  top: 4px;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  -webkit-animation-name: reverseRotatePlus;
          animation-name: reverseRotatePlus;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
}
@media only screen and (min-width: 768px) {
  #primary-menu .menu-item-has-children > a::after {
    content: none;
  }
}
#primary-menu .menu-item-has-children .show-submenu::after {
  -webkit-animation: rotatePlus 0.3s 1;
          animation: rotatePlus 0.3s 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
#primary-menu .menu-item-has-children > a span {
  position: absolute;
  height: 2px;
  width: 20px;
  background: #3B3C42;
  border-radius: 10px;
  right: 0;
  top: 13px;
}
@media only screen and (min-width: 768px) {
  #primary-menu .menu-item-has-children > a span {
    display: none;
  }
}
#primary-menu .sub-menu {
  margin-bottom: 37px;
  margin-left: 0;
  -webkit-columns: 4;
     -moz-columns: 4;
          columns: 4;
  -webkit-column-gap: 70px;
     -moz-column-gap: 70px;
          column-gap: 70px;
  display: none;
}
@media only screen and (max-width: 1279px) {
  #primary-menu .sub-menu {
    -webkit-columns: 2;
       -moz-columns: 2;
            columns: 2;
  }
}
@media only screen and (max-width: 767px) {
  #primary-menu .sub-menu {
    -webkit-columns: 1;
       -moz-columns: 1;
            columns: 1;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    display: none;
  }
}
#primary-menu .sub-menu a {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 16px;
  line-height: 1.875em;
  font-weight: 400;
  text-transform: initial;
}
@media only screen and (max-width: 767px) {
  #primary-menu .sub-menu a {
    line-height: 1.2em;
    display: inline-block;
    padding-bottom: 10px;
  }
}

@-webkit-keyframes rotatePlus {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

@keyframes rotatePlus {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
@-webkit-keyframes reverseRotatePlus {
  from {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  to {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes reverseRotatePlus {
  from {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  to {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
.nav-bottom {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 0 auto;
  padding: 0 150px;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 1279px) {
  .nav-bottom {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
  }
}
.nav-bottom::after, .nav-bottom::before {
  content: "";
  display: block;
  width: 132px;
  height: 1px;
  border-top: 1px dashed #3B3C42;
  top: 16px;
  left: 0;
  position: absolute;
}
@media only screen and (max-width: 1279px) {
  .nav-bottom::after, .nav-bottom::before {
    content: none;
  }
}
.nav-bottom::after {
  left: auto;
  right: 0;
}
.nav-bottom .socials__link {
  width: 28px;
  height: 28px;
}
.nav-bottom .socials__link + .socials__link {
  margin-left: 23px;
}
@media only screen and (max-width: 1279px) {
  .nav-bottom .socials__link + .socials__link {
    margin-left: 10px;
  }
}
.nav-bottom .socials {
  margin: 0 21px;
}
.nav-bottom .link-login--sm {
  display: none;
}
@media only screen and (max-width: 1279px) {
  .nav-bottom .link-login--sm {
    width: 100%;
    display: block;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .nav-bottom .link-login--sm img {
    width: auto;
    height: 31px;
  }
}
@media only screen and (max-width: 1279px) {
  .nav-bottom {
    margin-left: 0 !important;
  }
  .nav-bottom .socials {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 10px 0;
  }
}

.header-login {
  top: 4px;
  position: relative;
}

.button-wrapper-header {
  margin: 4rem 0 9rem;
  text-align: center;
}
@media only screen and (max-width: 1279px) {
  .button-wrapper-header {
    margin-bottom: 2rem;
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .button-wrapper-header {
    margin-top: 0;
  }
}

@media only screen and (min-width: 768px) {
  .header-button {
    padding: 0 53px;
  }
}

.footer {
  background-color: #dedede;
}

.footer__wrapper {
  padding: 37px 0 18px;
}
@media only screen and (max-width: 1023px) {
  .footer__wrapper {
    padding: 43px 0 70px;
  }
}

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

.footer__logo {
  width: 100%;
  text-align: center;
}
.footer__logo img {
  display: block;
  max-width: 190px;
  margin: 0 auto 24px;
}
@media only screen and (max-width: 1023px) {
  .footer__logo {
    margin-bottom: 28px;
  }
}

.footer__content {
  width: -webkit-calc(100% - 640px);
  width: calc(100% - 640px);
  text-align: center;
}
@media only screen and (max-width: 1023px) {
  .footer__content {
    width: 100%;
  }
}
.footer__content .text {
  max-width: 474px;
  margin: 0 auto;
}
@media only screen and (max-width: 1023px) {
  .footer__content .text {
    margin-top: 2rem;
  }
}
.footer__content .text p {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 10px;
  line-height: 1.4em;
  font-weight: 300;
  text-transform: initial;
}
.footer__content .text p + p {
  margin-top: 1rem;
}

.footer__socials {
  width: 320px;
}
@media only screen and (max-width: 1023px) {
  .footer__socials {
    width: 100%;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-bottom: 35px;
  }
}

.footer__contact {
  width: 320px;
}
@media only screen and (max-width: 1023px) {
  .footer__contact {
    width: 100%;
    text-align: center;
  }
}
.footer__contact h2 {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 22px;
  line-height: 1em;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.footer__contact .email {
  margin-top: 6px;
}
.footer__contact .address {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 1.4rem;
  line-height: 1.2857142857em;
  font-weight: 300;
  text-transform: initial;
  margin-top: 21px;
}
@media only screen and (max-width: 1023px) {
  .footer__contact .address {
    margin: 2rem auto 0;
    max-width: 316px;
  }
}

.socials {
  text-align: right;
}
@media only screen and (max-width: 1023px) {
  .socials {
    text-align: center;
  }
}

.socials__link {
  display: inline-block;
  color: #3B3C42;
  width: 54px;
  height: 54px;
}
.socials__link svg {
  width: 100%;
  height: 100%;
}
.socials__link + .socials__link {
  margin-left: 39px;
}
@media only screen and (max-width: 1023px) {
  .socials__link + .socials__link {
    margin-left: 23px;
  }
}
.socials__link:not([disabled]) {
  cursor: pointer;
}
.socials__link:not([disabled]):hover, .socials__link:not([disabled]):focus, .socials__link:not([disabled]):active {
  color: #fbba00;
}
@media only screen and (max-width: 1023px) {
  .socials__link {
    width: 28px;
    height: 28px;
  }
}

.hero {
  overflow: hidden;
}
@media only screen and (min-width: 1024px) {
  .hero {
    margin-bottom: 48px;
  }
}
.hero .wrapper {
  position: relative;
  height: auto;
  max-height: 970px;
  padding-top: 14.1rem;
  padding-left: 12rem;
  padding-bottom: 15.6rem;
}
@media only screen and (max-width: 1279px) {
  .hero .wrapper {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
@media only screen and (max-width: 1023px) {
  .hero .wrapper {
    padding: 0;
    min-height: auto;
    max-height: none;
  }
}
.hero .content {
  position: relative;
  z-index: 1;
  padding: 7rem 6rem 7.5rem 10.2rem;
  background: rgba(255, 255, 255, 0.91);
  max-width: 75.8rem;
  width: 45%;
  min-width: 72rem;
}
.hero .content::after {
  content: "";
  display: block;
  position: absolute;
  top: 8.25rem;
  left: 5rem;
  width: 1px;
  height: 25rem;
  background-color: #3B3C42;
}
@media only screen and (max-width: 1023px) {
  .hero .content::after {
    content: none;
  }
}
@media only screen and (max-width: 1439px) {
  .hero .content {
    width: 75%;
  }
}
@media only screen and (max-width: 1279px) {
  .hero .content {
    width: 100%;
    max-width: none;
    min-width: unset;
  }
}
@media only screen and (max-width: 1023px) {
  .hero .content {
    background-color: #dedede;
  }
}
@media only screen and (max-width: 767px) {
  .hero .content {
    padding: 32px 6px 37px;
  }
}
.hero .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}
@media only screen and (max-width: 1023px) {
  .hero .image {
    position: relative;
    padding-top: 67.6328502415%;
  }
}
.hero svg {
  position: absolute;
  width: 4.8rem;
  height: 4.8rem;
  bottom: 4.8rem;
  left: 50%;
  display: block;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-animation: scroll 0.7s infinite;
          animation: scroll 0.7s infinite;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
}
@media only screen and (max-width: 1023px) {
  .hero svg {
    display: none;
  }
}
.hero video {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: fill;
     object-fit: fill;
  top: 0;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
@media only screen and (max-width: 1023px) {
  .hero video {
    position: relative;
  }
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  100% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  100% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
}
.two-columns {
  margin-bottom: 66px;
}
.two-columns.left .wrapper {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media only screen and (min-width: 1440px) {
  .two-columns.left .wrapper .wysiwyg {
    padding-right: 53px;
  }
}
.two-columns .content-item {
  position: relative;
  width: 50%;
  padding-left: 112px;
}
.two-columns .content-item::after {
  content: "";
  display: block;
  position: absolute;
  top: 1rem;
  left: 6rem;
  width: 1px;
  height: 25rem;
  background-color: #fbba00;
}
@media only screen and (max-width: 1023px) {
  .two-columns .content-item::after {
    content: none;
  }
}
@media only screen and (max-width: 1023px) {
  .two-columns .content-item {
    width: 100%;
    padding: 37px 0 31px;
  }
}
.two-columns.right .content-item {
  padding-left: 58px;
  padding-right: 20px;
}
@media only screen and (max-width: 1023px) {
  .two-columns.right .content-item {
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1024px) {
  .two-columns.right .content-item .wysiwyg {
    max-width: 577px;
  }
}
.two-columns.right .content-item::after {
  left: 0;
}
.two-columns .content-item--full {
  width: 100%;
}
.two-columns .content-item--full .wysiwyg {
  max-width: none !important;
}
.two-columns .image-item {
  width: 50%;
}
@media only screen and (max-width: 1023px) {
  .two-columns .image-item {
    width: 100vw;
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
}
@media only screen and (min-width: 1024px) {
  .two-columns .image {
    max-width: 732px;
  }
}
.two-columns .image img {
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 1023px) {
  .two-columns .image {
    text-align: center;
  }
}
@media only screen and (min-width: 1024px) {
  .two-columns.right .image {
    margin-left: auto;
  }
}
.two-columns .button-wrapper {
  margin-top: 4rem;
}
@media only screen and (max-width: 1023px) {
  .two-columns .wrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.two-columns .caption {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 2.6rem;
  line-height: 1.2307692308em;
  font-weight: 400;
  text-transform: initial;
  color: #fbba00;
  margin-top: 3.7rem;
  text-align: center;
}

.two-columns-2 {
  margin-bottom: 54px;
  position: relative;
}
.two-columns-2 .section__wrapper {
  background: #dedede;
}
.two-columns-2 .container {
  width: 100%;
}
.two-columns-2 .content-wrapper {
  background-color: #dedede;
  width: 50%;
  height: 85%;
  overflow-y: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 7%;
  left: 0;
}
@media only screen and (max-width: 1023px) {
  .two-columns-2 .content-wrapper {
    width: 100%;
    height: auto;
    position: relative;
    top: 0;
  }
}
.two-columns-2 .content-scroll {
  overflow-y: auto;
}
.two-columns-2 .content {
  position: relative;
  padding-left: 5.2rem;
}
.two-columns-2 .content::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 25rem;
  background-color: #3B3C42;
}
@media only screen and (max-width: 1023px) {
  .two-columns-2 .content::after {
    content: none;
  }
}
@media only screen and (max-width: 1023px) {
  .two-columns-2 .content {
    padding: 33px 0 47px;
  }
}
.two-columns-2 .image-item {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-transform: translate(100%, 0);
      -ms-transform: translate(100%, 0);
          transform: translate(100%, 0);
  background-color: #fff;
}
@media only screen and (max-width: 1023px) {
  .two-columns-2 .image-item {
    width: 100%;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
.two-columns-2 .image-wrapper:nth-child(1) {
  width: 100%;
  margin-bottom: 8px;
}
.two-columns-2 .image-wrapper:nth-child(1) .image {
  position: relative;
  overflow: hidden;
  display: block;
}
.two-columns-2 .image-wrapper:nth-child(1) .image > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.two-columns-2 .image-wrapper:nth-child(1) .image:after {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  padding-top: 42.9166666667%;
}
.two-columns-2 .image-wrapper:nth-child(1) .image img {
  -o-object-fit: cover;
     object-fit: cover;
}
.two-columns-2 .image-wrapper:nth-child(2) {
  margin-right: 8px;
}
.two-columns-2 .image-wrapper:nth-child(n+2) {
  width: -webkit-calc(50% - 4px);
  width: calc(50% - 4px);
}
.two-columns-2 .image-wrapper:nth-child(n+2) .image {
  position: relative;
  overflow: hidden;
  display: block;
}
.two-columns-2 .image-wrapper:nth-child(n+2) .image > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.two-columns-2 .image-wrapper:nth-child(n+2) .image:after {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  padding-top: 86.5546218487%;
}
.two-columns-2 .image-wrapper:nth-child(n+2) .image img {
  -o-object-fit: cover;
     object-fit: cover;
}
.two-columns-2 h2 + * {
  margin-top: 44px;
}
@media only screen and (max-width: 1023px) {
  .two-columns-2 h2 + * {
    margin-top: 27px;
  }
}

.benefits {
  text-align: center;
  margin-bottom: 62px;
}
.benefits .container {
  padding: 0 80px;
}
@media only screen and (max-width: 1699px) {
  .benefits .container {
    padding: 0 40px;
  }
}
.benefits .title {
  margin-bottom: 6.6rem;
}
.benefits .block {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: -40px;
  margin-right: -40px;
}
@media only screen and (max-width: 1023px) {
  .benefits .block {
    margin-left: -60px;
    margin-right: -60px;
  }
}
.benefits .item {
  width: 20%;
  padding: 0 40px;
}
@media only screen and (max-width: 1279px) {
  .benefits .item {
    width: 33.33%;
  }
  .benefits .item:nth-child(n+4) {
    margin-top: 5rem;
  }
}
@media only screen and (max-width: 1023px) {
  .benefits .item {
    width: 100%;
    padding: 0 60px;
  }
  .benefits .item:nth-child(n+2) {
    margin-top: 3rem;
  }
}
.benefits .icon {
  position: relative;
  overflow: hidden;
  display: block;
  display: block;
  width: 142px;
  margin: 0 auto 3.5rem;
}
.benefits .icon > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.benefits .icon:after {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  padding-top: 100%;
}
.benefits .icon img {
  -o-object-fit: contain;
     object-fit: contain;
}
.benefits .h5 {
  margin-bottom: 1.2rem;
}
.benefits .button-wrapper {
  margin-top: 43px;
}
@media only screen and (max-width: 1023px) {
  .benefits p {
    max-width: 340px;
    margin: 0 auto;
  }
}

.button-grid {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 1023px) {
  .button-grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.button-grid .button {
  max-width: 100%;
}
.button-grid .button + .button {
  margin-left: 2rem;
}
@media only screen and (max-width: 1023px) {
  .button-grid .button + .button {
    margin-left: 0;
    margin-top: 13px;
  }
}

.quotes {
  text-align: center;
  margin-bottom: 5rem;
}
.quotes .wrapper {
  max-width: 1342px;
  margin: 0 auto;
}
.quotes .quote {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 2.6rem;
  line-height: 1.2307692308em;
  font-weight: 300;
  text-transform: initial;
  color: #fbba00;
  margin-bottom: 17px;
  font-style: italic;
}
@media only screen and (max-width: 1023px) {
  .quotes .quote {
    font-family: "Montserrat", sans-serif;
    letter-spacing: 0;
    font-size: 2.4rem;
    line-height: 1.2083333333em;
    font-weight: 300;
    text-transform: initial;
  }
}
.quotes .cite {
  font-weight: 500;
}

.banner {
  height: 486px;
  margin-bottom: 25px;
}
.banner .wrapper {
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

@media only screen and (min-width: 1024px) {
  .breadcrumbs {
    margin-bottom: 30px;
  }
}
.breadcrumbs p, .breadcrumbs a {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 14px;
  line-height: 1.2857142857em;
  font-weight: 300;
  text-transform: initial;
}
.breadcrumbs .last {
  font-weight: 600;
}

.page__wrapper {
  position: relative;
  padding: 0 54px;
  margin-bottom: 7rem;
}
.page__wrapper::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 25rem;
  background-color: #fbba00;
}
@media only screen and (max-width: 1023px) {
  .page__wrapper::after {
    content: none;
  }
}
@media only screen and (max-width: 1023px) {
  .page__wrapper {
    padding: 0;
  }
}

.page__grid {
  margin: 0 -62px;
}
@media only screen and (max-width: 1023px) {
  .page__grid {
    margin: 0 -20px;
  }
}

.page__item {
  padding: 0 62px;
  width: 33.33%;
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (max-width: 1023px) {
  .page__item {
    width: 50%;
    padding: 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .page__item {
    width: 100%;
  }
}

.page__block {
  padding-bottom: 32px;
  border-bottom: 1px dashed #3B3C42;
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.page__block > * {
  width: 100%;
}
.page__block .link-image {
  position: relative;
  overflow: hidden;
  display: block;
}
.page__block .link-image > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page__block .link-image:after {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  padding-top: 55.0122249389%;
}
.page__block .link-image img {
  -o-object-fit: cover;
     object-fit: cover;
}
.page__block .image {
  margin-bottom: 25px;
}
.page__block .title {
  margin-bottom: 24px;
  font-weight: 500;
}
.page__block .button {
  min-width: 178px;
}
.page__block .bottom {
  margin-top: auto;
}

.page__button {
  margin-top: 3rem;
  text-align: center;
}

.scontact {
  background-color: #F2F0F0;
  margin-top: 46px;
}
.scontact .section__wrapper {
  padding: 46px 0 36px;
  max-width: 99rem;
  margin: 0 auto;
}
.scontact .title {
  text-align: center;
  margin-bottom: 2rem;
}
.scontact .form-submit {
  text-align: center;
  margin-top: 28px;
}
.scontact .button {
  background-color: #fbba00;
}

.groupedform {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.groupedform .form-item {
  width: -webkit-calc(50% - 8px);
  width: calc(50% - 8px);
}
@media only screen and (max-width: 1023px) {
  .groupedform .form-item {
    width: 100%;
  }
}
.groupedform .form-group + .form-group {
  margin-top: 15px;
}
.groupedform .right {
  margin-left: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (max-width: 1023px) {
  .groupedform .right {
    margin-left: 0;
    margin-top: 15px;
  }
}
.groupedform .right .form-group {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}
.groupedform .right .form-control {
  height: 100%;
}
.groupedform .right .wpcf7-form-control-wrap {
  display: block;
  height: 100%;
}
.groupedform input[type=text], .groupedform input[type=email], .groupedform input[type=url], .groupedform input[type=password], .groupedform input[type=search], .groupedform input[type=number], .groupedform input[type=tel], .groupedform input[type=range], .groupedform input[type=date], .groupedform input[type=month], .groupedform input[type=week], .groupedform input[type=time], .groupedform input[type=datetime], .groupedform input[type=datetime-local], .groupedform input[type=color], .groupedform textarea, .groupedform select {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 16px;
  line-height: 1.1875em;
  font-weight: 300;
  text-transform: initial;
  border: 0.5px solid #3B3C42;
  display: block;
  width: 100%;
  border-radius: 0;
  min-height: 42px;
  padding: 12px 8px;
}
.groupedform input[type=text]:not([disabled]), .groupedform input[type=email]:not([disabled]), .groupedform input[type=url]:not([disabled]), .groupedform input[type=password]:not([disabled]), .groupedform input[type=search]:not([disabled]), .groupedform input[type=number]:not([disabled]), .groupedform input[type=tel]:not([disabled]), .groupedform input[type=range]:not([disabled]), .groupedform input[type=date]:not([disabled]), .groupedform input[type=month]:not([disabled]), .groupedform input[type=week]:not([disabled]), .groupedform input[type=time]:not([disabled]), .groupedform input[type=datetime]:not([disabled]), .groupedform input[type=datetime-local]:not([disabled]), .groupedform input[type=color]:not([disabled]), .groupedform textarea:not([disabled]), .groupedform select:not([disabled]) {
  cursor: pointer;
}
.groupedform input[type=text]:not([disabled]):hover, .groupedform input[type=text]:not([disabled]):focus, .groupedform input[type=text]:not([disabled]):active, .groupedform input[type=email]:not([disabled]):hover, .groupedform input[type=email]:not([disabled]):focus, .groupedform input[type=email]:not([disabled]):active, .groupedform input[type=url]:not([disabled]):hover, .groupedform input[type=url]:not([disabled]):focus, .groupedform input[type=url]:not([disabled]):active, .groupedform input[type=password]:not([disabled]):hover, .groupedform input[type=password]:not([disabled]):focus, .groupedform input[type=password]:not([disabled]):active, .groupedform input[type=search]:not([disabled]):hover, .groupedform input[type=search]:not([disabled]):focus, .groupedform input[type=search]:not([disabled]):active, .groupedform input[type=number]:not([disabled]):hover, .groupedform input[type=number]:not([disabled]):focus, .groupedform input[type=number]:not([disabled]):active, .groupedform input[type=tel]:not([disabled]):hover, .groupedform input[type=tel]:not([disabled]):focus, .groupedform input[type=tel]:not([disabled]):active, .groupedform input[type=range]:not([disabled]):hover, .groupedform input[type=range]:not([disabled]):focus, .groupedform input[type=range]:not([disabled]):active, .groupedform input[type=date]:not([disabled]):hover, .groupedform input[type=date]:not([disabled]):focus, .groupedform input[type=date]:not([disabled]):active, .groupedform input[type=month]:not([disabled]):hover, .groupedform input[type=month]:not([disabled]):focus, .groupedform input[type=month]:not([disabled]):active, .groupedform input[type=week]:not([disabled]):hover, .groupedform input[type=week]:not([disabled]):focus, .groupedform input[type=week]:not([disabled]):active, .groupedform input[type=time]:not([disabled]):hover, .groupedform input[type=time]:not([disabled]):focus, .groupedform input[type=time]:not([disabled]):active, .groupedform input[type=datetime]:not([disabled]):hover, .groupedform input[type=datetime]:not([disabled]):focus, .groupedform input[type=datetime]:not([disabled]):active, .groupedform input[type=datetime-local]:not([disabled]):hover, .groupedform input[type=datetime-local]:not([disabled]):focus, .groupedform input[type=datetime-local]:not([disabled]):active, .groupedform input[type=color]:not([disabled]):hover, .groupedform input[type=color]:not([disabled]):focus, .groupedform input[type=color]:not([disabled]):active, .groupedform textarea:not([disabled]):hover, .groupedform textarea:not([disabled]):focus, .groupedform textarea:not([disabled]):active, .groupedform select:not([disabled]):hover, .groupedform select:not([disabled]):focus, .groupedform select:not([disabled]):active {
  border-color: #fbba00;
}
.groupedform select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("../images/arrow_down.svg");
  background-repeat: no-repeat;
  background-position: -webkit-calc(100% - 10px) 50%;
  background-position: calc(100% - 10px) 50%;
  background-size: 10px 10px;
}
.groupedform .form-group--date select {
  padding-left: 8px;
  padding-right: 22px;
  background-position: -webkit-calc(100% - 5px) 50%;
  background-position: calc(100% - 5px) 50%;
}
.groupedform .form-label {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 16px;
  line-height: 1.1875em;
  font-weight: 300;
  text-transform: initial;
}
.groupedform textarea {
  height: 100%;
  resize: none;
}
.groupedform .wpcf7-radio .wpcf7-list-item-label {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 16px;
  line-height: 1.1875em;
  font-weight: 300;
  text-transform: initial;
}
.groupedform .wpcf7-radio [type=radio] {
  opacity: 0;
}
.groupedform .wpcf7-radio label {
  cursor: pointer;
}
.groupedform .wpcf7-radio .wpcf7-list-item {
  margin-left: 0;
  margin-top: 12px;
  margin-bottom: 12px;
}
.groupedform .wpcf7-radio .wpcf7-list-item label {
  display: inline-block;
  height: 24px;
  padding-left: 30px;
  background: url(../images/radio.png) no-repeat 0 0;
  background-size: 24px 24px;
}
.groupedform .wpcf7-radio .is-checked label {
  background-image: url(../images/radio-checked.png);
}

.wpcf7 .ajax-loader {
  position: absolute;
}

.section-list {
  margin-bottom: 50px;
  margin-top: 5rem;
}
.section-list .section__wrapper {
  padding: 0 0 0 54px;
}
@media only screen and (max-width: 1023px) {
  .section-list .section__wrapper {
    padding: 0;
  }
}
.section-list .section__grid {
  margin: 0 -62px;
}
@media only screen and (max-width: 1439px) {
  .section-list .section__grid {
    margin: 0 -30px;
  }
}
@media only screen and (max-width: 1279px) {
  .section-list .section__grid {
    margin: 0 -20px;
  }
}
.section-list .item {
  padding: 0 62px;
  width: 25%;
  margin-bottom: 68px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}
.section-list .item > * {
  width: 100%;
}
@media only screen and (max-width: 1439px) {
  .section-list .item {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 1279px) {
  .section-list .item {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 1023px) {
  .section-list .item {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .section-list .item {
    width: 100%;
  }
  .section-list .item .h4 {
    max-width: 340px;
    margin: 0 auto;
  }
}
.section-list .image {
  margin-bottom: 2rem;
}
.section-list .button-wrapper {
  width: 100%;
  margin-top: auto;
  text-align: center;
}
.section-list .button {
  min-width: 199px;
  margin-top: 7px;
}

.link-login {
  display: inline-block;
  height: 41px;
  width: 221px;
}
.link-login img {
  width: 221px;
  height: 41px;
  display: inline-block;
}
.link-login:not([disabled]) {
  cursor: pointer;
}
.link-login:not([disabled]):hover img, .link-login:not([disabled]):focus img, .link-login:not([disabled]):active img {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.wrap-login {
  position: relative;
  display: inline-block;
}
.wrap-login .link-login {
  position: absolute;
  top: -webkit-calc(50% - 31px);
  top: calc(50% - 31px);
  left: 100%;
  padding-left: 10px;
}
@media only screen and (max-width: 460px) {
  .wrap-login .link-login {
    position: relative;
    top: auto;
    left: 0;
    padding: 0;
    margin-bottom: 17px;
    display: inline-block;
  }
}
.wrap-login * {
  height: 41px;
  display: inline-block;
}

.error-404 {
  padding: 150px 0 220px;
  text-align: center;
}
.error-404 h2 {
  margin: 20px;
}

.button--news {
  min-width: 246px;
  margin-left: 58px;
  margin-top: 4.3rem;
}
@media only screen and (max-width: 1023px) {
  .button--news {
    margin-left: 0;
  }
}

.single-service .rank-math-breadcrumb a:nth-of-type(2) {
  pointer-events: none;
}

#wpsl-gmap,
#wpsl-wrap .wpsl-gmap-canvas {
  height: 486px !important;
  width: 100%;
  float: none;
}

#wpsl-gmap {
  margin-bottom: 25px;
}

#wpsl-result-list {
  width: 100%;
  margin: 0 0 76px;
}

.wpsl-search {
  background: none;
  padding: 0;
  margin: 0;
}
.wpsl-search .wpsl-wrapper {
  position: relative;
  padding-left: 53px;
  margin-bottom: 78px;
}
.wpsl-search .wpsl-wrapper::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 25rem;
  background-color: #fbba00;
}
@media only screen and (max-width: 1023px) {
  .wpsl-search .wpsl-wrapper::after {
    content: none;
  }
}
@media only screen and (max-width: 1023px) {
  .wpsl-search .wpsl-wrapper {
    padding-left: 0;
  }
}
.wpsl-search .title {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 3.2rem;
  line-height: 1.21875em;
  font-weight: 400;
  text-transform: initial;
  margin-bottom: 36px;
}
@media only screen and (max-width: 1023px) {
  .wpsl-search .title {
    font-family: "Montserrat", sans-serif;
    letter-spacing: 0;
    font-size: 2.6rem;
    line-height: 1.2307692308em;
    font-weight: 400;
    text-transform: initial;
  }
}
.wpsl-search p {
  margin-bottom: 24px;
}

#wpsl-search-wrap {
  float: none;
}
#wpsl-search-wrap form {
  display: block;
  width: 100%;
  height: 50px;
  position: relative;
  max-width: 564px;
}
@media only screen and (max-width: 1023px) {
  #wpsl-search-wrap form {
    max-width: none;
  }
}
#wpsl-search-wrap .wpsl-input {
  width: 100%;
  height: 100%;
  margin: 0;
  display: block;
  float: none;
}
#wpsl-search-wrap #wpsl-search-input {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 18px;
  line-height: 1.2222222222em;
  font-weight: 300;
  text-transform: initial;
  border-radius: 0;
  border: 1px solid #3B3C42;
  width: 100% !important;
  height: 100%;
  padding-right: 55px;
}
#wpsl-search-wrap #wpsl-search-input.wpsl-error {
  border: 1px solid #bd0028 !important;
}
#wpsl-search-wrap .wpsl-search-btn-wrap input,
#wpsl-search-wrap .wpsl-search-btn-wrap {
  position: absolute;
  width: 42px;
  height: 42px;
  top: 4px;
  right: 4px;
  margin: 0;
  border: none;
}
#wpsl-search-wrap .wpsl-search-btn-wrap {
  background: #fbba00;
  background-image: url("../images/search.svg");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 36px;
}
#wpsl-search-wrap .wpsl-search-btn-wrap input {
  opacity: 0;
  top: 0;
  right: 0;
}
.section-locator .wrapper {
  padding: 0 53px;
}
@media only screen and (max-width: 1023px) {
  .section-locator .wrapper {
    padding: 0;
  }
}
.section-locator #wpsl-stores {
  height: auto !important;
}
.section-locator #wpsl-stores,
.section-locator #wpsl-result-list {
  width: 100%;
}
.section-locator ul {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 18px;
  line-height: 1.2222222222em;
  font-weight: 300;
  text-transform: initial;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.section-locator ul > li {
  width: -webkit-calc(33.33% - 84px);
  width: calc(33.33% - 84px);
  margin-left: 126px !important;
  padding: 0 !important;
}
.section-locator ul > li div > *:last-child {
  margin-bottom: 14px !important;
}
@media only screen and (max-width: 1279px) {
  .section-locator ul > li {
    width: -webkit-calc(50% - 30px);
    width: calc(50% - 30px);
    margin-left: 0 !important;
    margin-top: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .section-locator ul > li {
    width: 100%;
    margin-left: 0 !important;
  }
}
.section-locator ul > li:nth-child(3n+1) {
  margin-left: 0 !important;
}
.section-locator ul > li:nth-child(n+4) {
  margin-top: 30px;
}
@media only screen and (max-width: 1279px) {
  .section-locator ul > li:nth-child(2n) {
    margin-left: 60px !important;
  }
}
@media only screen and (max-width: 1023px) {
  .section-locator ul > li:nth-child(2n) {
    margin-left: 0 !important;
  }
}
@media only screen and (max-width: 1279px) {
  .section-locator ul > li:nth-child(n+3) {
    margin-top: 30px !important;
  }
}
@media only screen and (max-width: 1023px) {
  .section-locator ul > li:nth-child(2) {
    margin-top: 30px !important;
  }
}
.section-locator .wpsl-distance {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  font-size: 14px;
  line-height: 1.2857142857em;
  font-weight: 500;
  text-transform: initial;
  margin-bottom: 20px;
  display: inline-block;
  color: #fbba00;
  padding: 5px;
  background-color: #3B3C42;
}
.section-locator strong {
  display: block;
}
.section-locator .wpsl-header {
  margin-bottom: 0 !important;
}
.section-locator .wpsl-header + *:not(.wpsl-description) {
  margin-top: 20px !important;
}
.section-locator .wpsl-website {
  margin-top: 20px !important;
}
.section-locator * {
  word-break: break-word;
}

#wpsl-result-list li p.wpsl-phone {
  margin-top: 20px;
}

.wpsl-zip {
  display: block;
}

@media only screen and (max-width: 350px) {
  .benefits .container {
    padding: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .banner {
    height: 100vw;
  }
}
.home .section.intro-copy {
  margin-bottom: -30px;
}

.page-template-page-basic .wpcf7-submit {
  min-width: 16rem;
}
.page-template-page-basic .form-submit {
  margin-top: 4rem;
}

.site-main--basic-template .two-columns .content-item--full {
  max-width: 58rem;
  padding: 75px 0 36px !important;
  text-align: center;
  margin: 0 auto;
}
.site-main--basic-template .two-columns .content-item--full::after {
  content: none;
}
.site-main--basic-template .two-columns .content-item--full .header-logo {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
}
.site-main--basic-template .two-columns .content-item--full .header-logo + * {
  margin-top: 20px;
}

.form-group--date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.form-group--date .form-label {
  width: 100%;
  margin-bottom: 6px;
}
.form-group--date .wpcf7-form-control-wrap {
  display: inline-block;
  max-width: 100%;
  margin-right: 10px;
}
.form-group--date select {
  border-radius: 2px;
  background-color: #e9e9ed;
  font-size: 16px;
  padding: 3px 0 4px;
}

.wpcf7-not-valid-tip {
  font-size: 1.5rem;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwidmVuZG9ycy9fbm9ybWFsaXplLnNjc3MiLCJiYXNlL19iYXNlLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImJhc2UvX2ZvbnRzLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL19idXR0b24uc2NzcyIsImJhc2UvX2hlbHBlcnMuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fZWxlbWVudHMuc2NzcyIsInBhZ2VzL19ob21lLnNjc3MiLCJwYWdlcy9fYmFzaWMtdGVtcGxhdGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEIsMkVBQUE7QUFFQTs7Ozs7RUFBQTtBQU9BOytFQUFBO0FBR0E7RUFFRSxpQkFBQTtFQUFtQixNQUFBO0VBQ25CLDBCQUFBO0VBQTRCLE1BQUE7RUFDNUIsOEJBQUE7RUFBZ0MsTUFBQTtBRENsQzs7QUNFQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRSxTQUFBO0FEREY7O0FDSUE7O0VBQUE7QUFJQTs7Ozs7O0VBTUUsY0FBQTtBREZGOztBQ0tBOzs7RUFBQTtBQUtBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FESEY7O0FDTUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTs7O0VBRU8sTUFBQTtFQUNMLGNBQUE7QURKRjs7QUNPQTs7RUFBQTtBQUlBO0VBQ0UsZ0JBQUE7QURMRjs7QUNRQTs7O0VBQUE7QUFLQTtFQUNFLCtCQUFBO1VBQUEsdUJBQUE7RUFBeUIsTUFBQTtFQUN6QixTQUFBO0VBQVcsTUFBQTtFQUNYLGlCQUFBO0VBQW1CLE1BQUE7QURIckI7O0FDTUE7OztFQUFBO0FBS0E7RUFDRSxpQ0FBQTtFQUFtQyxNQUFBO0VBQ25DLGNBQUE7RUFBZ0IsTUFBQTtBREZsQjs7QUNLQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VB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O0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0Fib3NHUjs7QWFoc0dBO0VBQ0ksaUJBQUE7QWJtc0dKIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohIG5vcm1hbGl6ZS5jc3MgdjUuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5odG1sIFt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBTZXQgdXAgYSBkZWNlbnQgYm94IG1vZGVsIG9uIHRoZSByb290IGVsZW1lbnRcbiAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLyoqXG4gKiBNYWtlIGFsbCBlbGVtZW50cyBmcm9tIHRoZSBET00gaW5oZXJpdCBmcm9tIHRoZSBwYXJlbnQgYm94LXNpemluZ1xuICogU2luY2UgYCpgIGhhcyBhIHNwZWNpZmljaXR5IG9mIDAsIGl0IGRvZXMgbm90IG92ZXJyaWRlIHRoZSBgaHRtbGAgdmFsdWVcbiAqIG1ha2luZyBhbGwgZWxlbWVudHMgaW5oZXJpdGluZyBmcm9tIHRoZSByb290IGJveC1zaXppbmcgdmFsdWVcbiAqIFNlZTogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG91dGxpbmU6IDAuMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3V0bGluZTogbm9uZTtcbn1cbio6Zm9jdXMsXG4qOjpiZWZvcmU6Zm9jdXMsXG4qOjphZnRlcjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xufVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKipcbiAqIEJhc2ljIHN0eWxlcyBmb3IgbGlua3NcbiAqL1xuYSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQgMHM7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hOm5vdCguYnV0dG9uLCBidXR0b24pOm5vdChbZGlzYWJsZWRdKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmE6bm90KC5idXR0b24sIGJ1dHRvbik6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCBhOm5vdCguYnV0dG9uLCBidXR0b24pOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgYTpub3QoLmJ1dHRvbiwgYnV0dG9uKTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIHtcbiAgY29sb3I6ICNmYmJhMDA7XG59XG5hOnZpc2l0ZWQge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuYTpub3QoLmRpc2FibGVkLCBbZGlzYWJsZT10cnVlXSksIGJ1dHRvbjpub3QoLmRpc2FibGVkLCBbZGlzYWJsZT10cnVlXSksIFt0eXBlPXN1Ym1pdF06bm90KC5kaXNhYmxlZCwgW2Rpc2FibGU9dHJ1ZV0pIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pbWctd3JhcHBlci5uby1zcC1maXQge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xufVxuLmltZy13cmFwcGVyLm5vLXNwLWZpdCBpbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS1maXQ9Y292ZXJdIGltZyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbltkYXRhLWZpdD1jb250YWluXSBpbWcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi5oaWRkZW4teSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zaXRlIHtcbiAgcGFkZGluZy10b3A6IDEwNnB4O1xufVxuLmhhcy1iYW5uZXIgLnNpdGUge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5zaXRlIHtcbiAgICBwYWRkaW5nLXRvcDogNjJweDtcbiAgfVxufVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4uZ3JpZC13cmFwcGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmdyaWQtd3JhcHBlci5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ncmlkLXdyYXBwZXIgKiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5ncmlkLXdyYXBwZXIgLmdyaWRfX2l0ZW0ge1xuICB3aWR0aDogY2FsYygxLzEyICogMTAwJSk7XG59XG4uZ3JpZC13cmFwcGVyIC5ncmlkX19jb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2OCwgMjIyLCAyNTUsIDAuMik7XG59XG5cbi5ncmlkLXRvZ2dsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwYWRkaW5nOiAxNnB4O1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI5LCAyNDAsIDg2LCAwLjY5Mik7XG4gIGJvcmRlcjogMXB4IGRvdHRlZCBibGFjaztcbn1cblxuLm93bC1kb3Qge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xufVxuXG4jc2VjdGlvbi1iYW5uZXIgKyAuc2VjdGlvbixcbi5zZWN0aW9uLS1iZyArIC5zZWN0aW9uLS1iZyB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbmEgaW1nIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtICFpbXBvcnRhbnQ7XG59XG5hOm5vdChbZGlzYWJsZWRdKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmE6bm90KFtkaXNhYmxlZF0pOmhvdmVyIGltZywgYTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMgaW1nLCBhOm5vdChbZGlzYWJsZWRdKTphY3RpdmUgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uc2VjdGlvbi0tYmcgLnNlY3Rpb25fX3dyYXBwZXIge1xuICBwYWRkaW5nOiA5NnB4IDA7XG59XG5cbi5ncmlkLWNvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmdyaWQtY29sIHtcbiAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjVweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgLmdyaWQtY29sIHtcbiAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjVweDtcbiAgfVxufVxuLmdyaWQtY29sID4gZGl2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmdyaWQtY29sID4gZGl2IGxhYmVsIHtcbiAgbGVmdDogMTBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5ncmlkLWNvbCA+IGRpdiB7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICB9XG4gIC5ncmlkLWNvbCA+IGRpdiBsYWJlbCB7XG4gICAgbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgLmdyaWQtY29sID4gZGl2IHtcbiAgICBwYWRkaW5nOiAwIDI4cHg7XG4gIH1cbiAgLmdyaWQtY29sID4gZGl2IGxhYmVsIHtcbiAgICBsZWZ0OiAyOHB4O1xuICB9XG59XG4uZ3JpZC1jb2wgfiAuZ3JpZC1jb2wge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmdyaWQtY29sIH4gLmdyaWQtY29sIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5ncmlkLWNvbC0tdHdvID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuZ3JpZC1jb2wtLXR3byA+IGRpdiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gIC5ncmlkLWNvbC0tdHdvID4gZGl2IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDAgMjhweDtcbiAgfVxufVxuXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuYm9keTo6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIHotaW5kZXg6IDEwMDAwO1xufVxuYm9keS5zaG93LW1vZGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xufVxuLmh0bWwtc2hvdy1tb2RhbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbn1cblxuLmZzLWdhbC1tYWluIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnRleHQtaGlnaGxpZ2h0IHtcbiAgY29sb3I6ICNmYmJhMDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMzQjNDNDI7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmFcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFPYmxpcXVlLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFPYmxpcXVlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYU9ibGlxdWUud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYU9ibGlxdWUud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFPYmxpcXVlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhT2JsaXF1ZS5zdmcjU0ZVRnV0dXJhT2JsaXF1ZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUhlYXZ5LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFIZWF2eS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFIZWF2eS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhSGVhdnkud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFIZWF2eS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUhlYXZ5LnN2ZyNTRlVGdXR1cmFIZWF2eVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUxpZ2h0T2JsaXF1ZS5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhTGlnaHRPYmxpcXVlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUxpZ2h0T2JsaXF1ZS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhTGlnaHRPYmxpcXVlLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhTGlnaHRPYmxpcXVlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhTGlnaHRPYmxpcXVlLnN2ZyNTRlVGdXR1cmFMaWdodE9ibGlxdWVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmFcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFCb2xkLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFCb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFCb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhQm9sZC5zdmcjU0ZVRnV0dXJhQm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmFcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFCb29rLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFCb29rLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUJvb2sud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUJvb2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFCb29rLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhQm9vay5zdmcjU0ZVRnV0dXJhQm9va1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGRPYmxpcXVlLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFCb2xkT2JsaXF1ZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFCb2xkT2JsaXF1ZS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhQm9sZE9ibGlxdWUud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFCb2xkT2JsaXF1ZS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGRPYmxpcXVlLnN2ZyNTRlVGdXR1cmFCb2xkT2JsaXF1ZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmFcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFFeHRyYUJvbGRPYmxpcXVlLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFFeHRyYUJvbGRPYmxpcXVlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZE9ibGlxdWUud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZE9ibGlxdWUud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFFeHRyYUJvbGRPYmxpcXVlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhRXh0cmFCb2xkT2JsaXF1ZS5zdmcjU0ZVRnV0dXJhRXh0cmFCb2xkT2JsaXF1ZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmFcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFFeHRyYUJvbGQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFFeHRyYUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZC5zdmcjU0ZVRnV0dXJhRXh0cmFCb2xkXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUxpZ2h0LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFMaWdodC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFMaWdodC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFMaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUxpZ2h0LnN2ZyNTRlVGdXR1cmFMaWdodFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYS5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvU0ZVRnV0dXJhLnN2ZyNTRlVGdXR1cmFcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmFcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFIZWF2eU9ibGlxdWUuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUhlYXZ5T2JsaXF1ZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9TRlVGdXR1cmFIZWF2eU9ibGlxdWUud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUhlYXZ5T2JsaXF1ZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUhlYXZ5T2JsaXF1ZS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL1NGVUZ1dHVyYUhlYXZ5T2JsaXF1ZS5zdmcjU0ZVRnV0dXJhSGVhdnlPYmxpcXVlXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG4vKipcbiAqIEJhc2ljIHR5cG9ncmFwaHkgc3R5bGUgZm9yIGNvcHkgdGV4dFxuICovXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjIyMjIyMjIyMmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgY29sb3I6ICMzQjNDNDI7XG59XG5cbjpmb2N1cyB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAg4oCLMCAycHggMXB4IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaDEsXG5oMSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc2l6ZTogNC40cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMjcyNzI3MjczZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmgxLFxuaDEge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yMTg3NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIH1cbn1cblxuLmgyLFxuaDIge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDMuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE4NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuaDIsXG5oMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIzMDc2OTIzMDhlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICB9XG59XG5cbi5oMyxcbmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIzMDc2OTIzMDhlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG5cbi5oNCxcbmg0IHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xufVxuXG4uaDUsXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMS4yMjcyNzI3MjczZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xufVxuXG4uaDYsXG5wLCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjIyMjIyMjIyMmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbn1cblxuLnd5c2l3eWcgKiB7XG4gIG1hcmdpbjogMDtcbn1cbi53eXNpd3lnIGgxICsgKiB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAud3lzaXd5ZyBoMSArICoge1xuICAgIG1hcmdpbi10b3A6IDIycHg7XG4gIH1cbn1cbi53eXNpd3lnIGgyICsgKiB7XG4gIG1hcmdpbi10b3A6IDMzcHg7XG59XG4ud3lzaXd5ZyBoMyArICoge1xuICBtYXJnaW4tdG9wOiAxMXB4O1xufVxuLnd5c2l3eWcgaDQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMi44cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnd5c2l3eWcgaDQgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAyM3B4O1xuICB9XG59XG4ud3lzaXd5ZyBwICsgKiwgLnd5c2l3eWcgaDYgKyAqIHtcbiAgbWFyZ2luLXRvcDogMi4xcmVtO1xufVxuLnd5c2l3eWcudGljay1saXN0IHVsIHtcbiAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3RpY2sucG5nXCIpO1xuICBwYWRkaW5nLWxlZnQ6IDIxcHg7XG59XG4ud3lzaXd5Zy50aWNrLWxpc3QgdWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuLnd5c2l3eWcudGljay1saXN0IHVsIGxpICsgbGkge1xuICBtYXJnaW4tdG9wOiAyM3B4O1xufVxuLnd5c2l3eWcgdWwge1xuICBsaXN0LXN0eWxlOiBcIuKAolwiO1xufVxuLnd5c2l3eWcgdWwgKyAqIHtcbiAgbWFyZ2luLXRvcDogMi43cmVtO1xufVxuLnd5c2l3eWcgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4ud3lzaXd5ZyBhOm5vdCguYnV0dG9uKSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50d28tY29sdW1ucy0yIC53eXNpd3lnIGE6bm90KC5idXR0b24pIHtcbiAgZm9udC13ZWlnaHQ6IHVuc2V0O1xufVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWJhc2ljIC53cGNmNy1zdWJtaXQsIC5mYWNldHdwLWxvYWQtbW9yZSwgLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIyMjIyMjIyMjJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzO1xuICBtaW4taGVpZ2h0OiA2MXB4O1xuICBtaW4td2lkdGg6IDI2OHB4O1xuICBjb2xvcjogIzNCM0M0MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmEwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiA2MXB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG59XG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWJhc2ljIC53cGNmNy1zdWJtaXQ6bm90KFtkaXNhYmxlZF0pLCAuZmFjZXR3cC1sb2FkLW1vcmU6bm90KFtkaXNhYmxlZF0pLCAuYnV0dG9uOm5vdChbZGlzYWJsZWRdKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtYmFzaWMgLndwY2Y3LXN1Ym1pdDpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5mYWNldHdwLWxvYWQtbW9yZTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5idXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAucGFnZS10ZW1wbGF0ZS1wYWdlLWJhc2ljIC53cGNmNy1zdWJtaXQ6bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAuZmFjZXR3cC1sb2FkLW1vcmU6bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAuYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLnBhZ2UtdGVtcGxhdGUtcGFnZS1iYXNpYyAud3BjZjctc3VibWl0Om5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC5mYWNldHdwLWxvYWQtbW9yZTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAuYnV0dG9uOm5vdChbZGlzYWJsZWRdKTphY3RpdmUge1xuICBjb2xvcjogIzNCM0M0MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTEsIDE4NiwgMCwgMC42KTtcbn1cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtYmFzaWMgLndwY2Y3LXN1Ym1pdDp2aXNpdGVkLCAuZmFjZXR3cC1sb2FkLW1vcmU6dmlzaXRlZCwgLmJ1dHRvbjp2aXNpdGVkIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBrZXlmcmFtZXMgYnRuIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCwgLTUwJSk7XG4gIH1cbn1cbi8qKlxuICogQ2xlYXIgaW5uZXIgZmxvYXRzXG4gKi9cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi8qKlxuICogSGlkZSB0ZXh0IHdoaWxlIG1ha2luZyBpdCByZWFkYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiAqIDEuIE5lZWRlZCBpbiBXZWJLaXQtYmFzZWQgYnJvd3NlcnMgYmVjYXVzZSBvZiBhbiBpbXBsZW1lbnRhdGlvbiBidWc7XG4gKiAgICBTZWU6IGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00NTcxNDZcbiAqL1xuLmhpZGUtdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIC8qIDEgKi9cbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qKlxuICogSGlkZSBlbGVtZW50IHdoaWxlIG1ha2luZyBpdCByZWFkYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiAqIFNoYW1lbGVzc2x5IGJvcnJvd2VkIGZyb20gSFRNTDVCb2lsZXJwbGF0ZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDExOS1MMTMzXG4gKi9cbiN3cHNsLXNlYXJjaC13cmFwIC53cHNsLWlucHV0IGxhYmVsLFxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4ubm8tbWFyZ2luIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRkZW4tcGMge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tcGMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCA1MHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDgwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTcwMHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTcwcHg7XG4gIH1cbn1cblxuLmNvbnRhaW5lci0tZnVsbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG5cbi5ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IC0xcHgpIHtcbiAgLmdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG4gIC5ncmlkID4gKiB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLmdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICB9XG4gIC5ncmlkID4gKiB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uZ3JpZF9faXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubm8tc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm93bC1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG59XG5cbi5vd2wtbmV4dCxcbi5vd2wtcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuLm93bC1uZXh0IHN2Zyxcbi5vd2wtcHJldiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogI2RlZGVkZTtcbn1cbi5vd2wtbmV4dCBzdmc6bm90KFtkaXNhYmxlZF0pLFxuLm93bC1wcmV2IHN2Zzpub3QoW2Rpc2FibGVkXSkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ub3dsLXByZXYge1xuICBsZWZ0OiAtMjBweDtcbn1cblxuLm93bC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0yMHB4O1xufVxuXG4ucmVzZXQtZGVmYXVsdC1zdHlsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmMtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICNmYmJhMDA7XG59XG5cbi5tZW51LXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiAwO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5tZW51LXRvZ2dsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gIH1cbn1cbi5tZW51LXRvZ2dsZSBzdmcge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaG93LW1lbnUgLm1lbnUtdG9nZ2xlIHN2ZzpudGgtY2hpbGQoMSkge1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ubWVudS10b2dnbGUgc3ZnOm50aC1jaGlsZCgyKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIG9wYWNpdHk6IDA7XG59XG4uc2hvdy1tZW51IC5tZW51LXRvZ2dsZSBzdmc6bnRoLWNoaWxkKDIpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAubWVudS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhhbWJ1cmdlciB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uaGFtYnVyZ2VyIC5oYW1idXJnZXItYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDQxcHg7XG4gIGhlaWdodDogMzBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGFtYnVyZ2VyIC5oYW1idXJnZXItYm94IHtcbiAgICB3aWR0aDogNDBweDtcbiAgfVxufVxuXG4uaGFtYnVyZ2VyLWlubmVyOmFmdGVyLCAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gIHRvcDogLTEwcHg7XG59XG5cbi5oYW1idXJnZXItaW5uZXI6YWZ0ZXIge1xuICBib3R0b206IC0xMHB4O1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLWlubmVyOmFmdGVyLCAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDQxcHg7XG4gIGhlaWdodDogNHB4O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgbGVmdDogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLWlubmVyOmFmdGVyLCAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gIH1cbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6YmVmb3JlIHtcbiAgdG9wOiAxM3B4O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICAgIHRvcDogMTBweDtcbiAgfVxufVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gIHRvcDogMjZweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gICAgdG9wOiAyMHB4O1xuICB9XG59XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoLTUuNzE0MjlweCwgLTZweCwgMCk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMxcHgsIDApIHJvdGF0ZSgtOTBkZWcpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgcm90YXRlKC05MGRlZyk7XG4gIH1cbn1cblxuLmhhbWJ1cmdlciB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4uaGFtYnVyZ2VyIC5oYW1idXJnZXItYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDQxcHg7XG4gIGhlaWdodDogMzBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGFtYnVyZ2VyIC5oYW1idXJnZXItYm94IHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gIH1cbn1cblxuLmhhbWJ1cmdlci1pbm5lcjphZnRlciwgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICB0b3A6IC0xMHB4O1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyOmFmdGVyIHtcbiAgYm90dG9tOiAtMTBweDtcbn1cblxuLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlci1pbm5lcjphZnRlciwgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNCM0M0MjtcbiAgbGVmdDogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLWlubmVyOmFmdGVyLCAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gIH1cbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6YmVmb3JlIHtcbiAgdG9wOiAxMnB4O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICAgIHRvcDogMTBweDtcbiAgfVxufVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gIHRvcDogMjRweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gICAgdG9wOiAyMHB4O1xuICB9XG59XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTJweCwgMCkgcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoLTUuNzE0MjlweCwgLTZweCwgMCk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTI0cHgsIDApIHJvdGF0ZSgtOTBkZWcpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgcm90YXRlKC05MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjdXN0b21GYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApIHNjYWxlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBjdXN0b21GYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwNnB4O1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuc2l0ZS1oZWFkZXIge1xuICAgIGhlaWdodDogNjJweDtcbiAgfVxufVxuI3dwYWRtaW5iYXIgfiAqIC5zaXRlLWhlYWRlciB7XG4gIHRvcDogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4MnB4KSB7XG4gICN3cGFkbWluYmFyIH4gKiAuc2l0ZS1oZWFkZXIge1xuICAgIHRvcDogNDZweDtcbiAgfVxufVxuXG4uc2l0ZS1oZWFkZXJfX3dyYXBwZXIge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zaXRlLWhlYWRlcl9fd3JhcHBlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICB9XG59XG5cbi5zaXRlLWhlYWRlcl9fZ3JpZCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTA2cHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuc2l0ZS1oZWFkZXJfX2dyaWQge1xuICAgIGhlaWdodDogNjJweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLnNpdGUtYnJhbmRpbmcge1xuICB3aWR0aDogMjk0cHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAuc2l0ZS1icmFuZGluZyB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuc2l0ZS1icmFuZGluZyB7XG4gICAgd2lkdGg6IDE3NnB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KSB7XG4gIC5zaXRlLWJyYW5kaW5nIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTg2cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIH1cbn1cblxuI2xvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNsb2dvIGltZyB7XG4gIG1heC1oZWlnaHQ6IDY3cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4jbG9nbyBoMSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwO1xufVxuXG4uc2l0ZS1oZWFkZXJfX2NvbnRhY3Qge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDAgNjBweCAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG9wYWNpdHk6IDE7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuc2l0ZS1oZWFkZXJfX2NvbnRhY3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5tZW51LWFjdGl2ZSAuc2l0ZS1oZWFkZXJfX2NvbnRhY3Qge1xuICBvcGFjaXR5OiAwO1xufVxuLnNpdGUtaGVhZGVyX19jb250YWN0IGxpIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnNpdGUtaGVhZGVyX19jb250YWN0IGxpICsgbGkge1xuICBtYXJnaW4tbGVmdDogNTZweDtcbn1cbi5zaXRlLWhlYWRlcl9fY29udGFjdCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uc2l0ZS1oZWFkZXJfX2NvbnRhY3Qgc3ZnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc2l0ZS1oZWFkZXJfX2NvbnRhY3QgLmljb24tZW52ZWxvcGUge1xuICB0b3A6IDVweDtcbn1cblxuLmhlYWRlci1yaWdodCB7XG4gIHdpZHRoOiAyODhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5oZWFkZXItcmlnaHQge1xuICAgIHdpZHRoOiAxODZweDtcbiAgfVxufVxuXG4uZ2V0LXF1b3RlLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNDRweDtcbiAgaGVpZ2h0OiAxMDZweDtcbiAgbWluLXdpZHRoOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMzBweCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzQjNDNDI7XG4gIGNvbG9yOiAjZmJiYTAwICFpbXBvcnRhbnQ7XG59XG4uZ2V0LXF1b3RlLWxpbms6bm90KFtkaXNhYmxlZF0pIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmdldC1xdW90ZS1saW5rOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLmdldC1xdW90ZS1saW5rOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLmdldC1xdW90ZS1saW5rOm5vdChbZGlzYWJsZWRdKTphY3RpdmUge1xuICBjb2xvcjogIzNCM0M0MiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiYTAwO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLmdldC1xdW90ZS1saW5rIHtcbiAgICB3aWR0aDogOTNweDtcbiAgICBoZWlnaHQ6IDYycHg7XG4gICAgcGFkZGluZzogN3B4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdldC1xdW90ZS1saW5rIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm1lbnUtdG9nZ2xlLXdyYXAge1xuICB3aWR0aDogMTQ0cHg7XG4gIGhlaWdodDogMTA2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiYTAwO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLm1lbnUtdG9nZ2xlLXdyYXAge1xuICAgIHdpZHRoOiA5M3B4O1xuICAgIGhlaWdodDogNjJweDtcbiAgfVxufVxuXG4jbWVudS10b2dnbGUge1xuICB3aWR0aDogNDFweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogMTA2cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMTA2cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICB0b3A6IDYycHg7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gNjJweCk7XG4gIH1cbn1cbi5tZW51LWFjdGl2ZSAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4jd3BhZG1pbmJhciB+ICogLm1haW4tbmF2aWdhdGlvbiB7XG4gIHRvcDogMTM4cHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAjd3BhZG1pbmJhciB+ICogLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgdG9wOiA5NHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODJweCkge1xuICAjd3BhZG1pbmJhciB+ICogLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgdG9wOiAxMDhweDtcbiAgfVxufVxuXG4ubmF2LXdyYXBwZXIge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4IC0gMTA2cHgpO1xuICBwYWRkaW5nLWJvdHRvbTogNDRweDtcbiAgcGFkZGluZzogMTIwcHggMTYwcHggNDRweCAxMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzQjNDNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubmF2LXdyYXBwZXIgbmF2IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm5hdi13cmFwcGVyIG5hdiB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG59XG4jd3BhZG1pbmJhciB+ICogLm5hdi13cmFwcGVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDhweCAtIDEwNnB4IC0gMzJweCk7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAjd3BhZG1pbmJhciB+ICogLm5hdi13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4IC0gNjJweCAtIDMycHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODJweCkge1xuICAjd3BhZG1pbmJhciB+ICogLm5hdi13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4IC0gNjJweCAtIDQ2cHgpO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2OTlweCkge1xuICAubmF2LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDQwcHggMTAwcHggNDRweCAxMDBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLm5hdi13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHggNDRweCA0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMTE1MHB4KSB7XG4gIC5uYXYtd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuI3ByaW1hcnktbWVudSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4jcHJpbWFyeS1tZW51IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuI3ByaW1hcnktbWVudSA+IGxpID4gYSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgbWluLXdpZHRoOiAyNzhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMzQjNDNDI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNwcmltYXJ5LW1lbnUgPiBsaSA+IGEge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI3ByaW1hcnktbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4jcHJpbWFyeS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNwcmltYXJ5LW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOjphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDBzO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDJweDtcbiAgYmFja2dyb3VuZDogIzNCM0M0MjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcmlnaHQ6IDlweDtcbiAgdG9wOiA0cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBhbmltYXRpb24tbmFtZTogcmV2ZXJzZVJvdGF0ZVBsdXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI3ByaW1hcnktbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG59XG4jcHJpbWFyeS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zaG93LXN1Ym1lbnU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiByb3RhdGVQbHVzIDAuM3MgMTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG59XG4jcHJpbWFyeS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICMzQjNDNDI7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEzcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNwcmltYXJ5LW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiNwcmltYXJ5LW1lbnUgLnN1Yi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMzdweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNvbHVtbnM6IDQ7XG4gIGNvbHVtbi1nYXA6IDcwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAjcHJpbWFyeS1tZW51IC5zdWItbWVudSB7XG4gICAgY29sdW1uczogMjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAjcHJpbWFyeS1tZW51IC5zdWItbWVudSB7XG4gICAgY29sdW1uczogMTtcbiAgICBjb2x1bW4tZ2FwOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiNwcmltYXJ5LW1lbnUgLnN1Yi1tZW51IGEge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI3ByaW1hcnktbWVudSAuc3ViLW1lbnUgYSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsdXMge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJldmVyc2VSb3RhdGVQbHVzIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxufVxuLm5hdi1ib3R0b20ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAubmF2LWJvdHRvbSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5uYXYtYm90dG9tOjphZnRlciwgLm5hdi1ib3R0b206OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTMycHg7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzQjNDNDI7XG4gIHRvcDogMTZweDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLm5hdi1ib3R0b206OmFmdGVyLCAubmF2LWJvdHRvbTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG59XG4ubmF2LWJvdHRvbTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbn1cbi5uYXYtYm90dG9tIC5zb2NpYWxzX19saW5rIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbn1cbi5uYXYtYm90dG9tIC5zb2NpYWxzX19saW5rICsgLnNvY2lhbHNfX2xpbmsge1xuICBtYXJnaW4tbGVmdDogMjNweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5uYXYtYm90dG9tIC5zb2NpYWxzX19saW5rICsgLnNvY2lhbHNfX2xpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG4ubmF2LWJvdHRvbSAuc29jaWFscyB7XG4gIG1hcmdpbjogMCAyMXB4O1xufVxuLm5hdi1ib3R0b20gLmxpbmstbG9naW4tLXNtIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5uYXYtYm90dG9tIC5saW5rLWxvZ2luLS1zbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLm5hdi1ib3R0b20gLmxpbmstbG9naW4tLXNtIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAzMXB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAubmF2LWJvdHRvbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubmF2LWJvdHRvbSAuc29jaWFscyB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cbn1cblxuLmhlYWRlci1sb2dpbiB7XG4gIHRvcDogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idXR0b24td3JhcHBlci1oZWFkZXIge1xuICBtYXJnaW46IDRyZW0gMCA5cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuYnV0dG9uLXdyYXBwZXItaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmJ1dHRvbi13cmFwcGVyLWhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwIDUzcHg7XG4gIH1cbn1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG5cbi5mb290ZXJfX3dyYXBwZXIge1xuICBwYWRkaW5nOiAzN3B4IDAgMThweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5mb290ZXJfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDQzcHggMCA3MHB4O1xuICB9XG59XG5cbi5mb290ZXJfX2dyaWQge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mb290ZXJfX2xvZ28ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZvb3Rlcl9fbG9nbyBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxOTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMjRweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5mb290ZXJfX2xvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gIH1cbn1cblxuLmZvb3Rlcl9fY29udGVudCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2NDBweCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5mb290ZXJfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uZm9vdGVyX19jb250ZW50IC50ZXh0IHtcbiAgbWF4LXdpZHRoOiA0NzRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuZm9vdGVyX19jb250ZW50IC50ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG59XG4uZm9vdGVyX19jb250ZW50IC50ZXh0IHAge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG4uZm9vdGVyX19jb250ZW50IC50ZXh0IHAgKyBwIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmZvb3Rlcl9fc29jaWFscyB7XG4gIHdpZHRoOiAzMjBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5mb290ZXJfX3NvY2lhbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9yZGVyOiAtMTtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICB9XG59XG5cbi5mb290ZXJfX2NvbnRhY3Qge1xuICB3aWR0aDogMzIwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuZm9vdGVyX19jb250YWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5mb290ZXJfX2NvbnRhY3QgaDIge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDIycHg7XG59XG4uZm9vdGVyX19jb250YWN0IC5lbWFpbCB7XG4gIG1hcmdpbi10b3A6IDZweDtcbn1cbi5mb290ZXJfX2NvbnRhY3QgLmFkZHJlc3Mge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzE0Mjg1N2VtO1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgbWFyZ2luLXRvcDogMjFweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5mb290ZXJfX2NvbnRhY3QgLmFkZHJlc3Mge1xuICAgIG1hcmdpbjogMnJlbSBhdXRvIDA7XG4gICAgbWF4LXdpZHRoOiAzMTZweDtcbiAgfVxufVxuXG4uc29jaWFscyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNvY2lhbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uc29jaWFsc19fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICMzQjNDNDI7XG4gIHdpZHRoOiA1NHB4O1xuICBoZWlnaHQ6IDU0cHg7XG59XG4uc29jaWFsc19fbGluayBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnNvY2lhbHNfX2xpbmsgKyAuc29jaWFsc19fbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAzOXB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNvY2lhbHNfX2xpbmsgKyAuc29jaWFsc19fbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDIzcHg7XG4gIH1cbn1cbi5zb2NpYWxzX19saW5rOm5vdChbZGlzYWJsZWRdKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zb2NpYWxzX19saW5rOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLnNvY2lhbHNfX2xpbms6bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAuc29jaWFsc19fbGluazpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIHtcbiAgY29sb3I6ICNmYmJhMDA7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc29jaWFsc19fbGluayB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICB9XG59XG5cbi5oZXJvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZXJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICB9XG59XG4uaGVybyAud3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiA5NzBweDtcbiAgcGFkZGluZy10b3A6IDE0LjFyZW07XG4gIHBhZGRpbmctbGVmdDogMTJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxNS42cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLmhlcm8gLndyYXBwZXIge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuaGVybyAud3JhcHBlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cbn1cbi5oZXJvIC5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiA3cmVtIDZyZW0gNy41cmVtIDEwLjJyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MSk7XG4gIG1heC13aWR0aDogNzUuOHJlbTtcbiAgd2lkdGg6IDQ1JTtcbiAgbWluLXdpZHRoOiA3MnJlbTtcbn1cbi5oZXJvIC5jb250ZW50OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOC4yNXJlbTtcbiAgbGVmdDogNXJlbTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNCM0M0Mjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5oZXJvIC5jb250ZW50OjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgLmhlcm8gLmNvbnRlbnQge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5oZXJvIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWluLXdpZHRoOiB1bnNldDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmhlcm8gLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlcm8gLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDMycHggNnB4IDM3cHg7XG4gIH1cbn1cbi5oZXJvIC5pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHotaW5kZXg6IDA7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuaGVybyAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogNjcuNjMyODUwMjQxNSU7XG4gIH1cbn1cbi5oZXJvIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDQuOHJlbTtcbiAgaGVpZ2h0OiA0LjhyZW07XG4gIGJvdHRvbTogNC44cmVtO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgYW5pbWF0aW9uOiBzY3JvbGwgMC43cyBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5oZXJvIHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmhlcm8gdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBmaWxsO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmhlcm8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbn1cbi50d28tY29sdW1ucyB7XG4gIG1hcmdpbi1ib3R0b206IDY2cHg7XG59XG4udHdvLWNvbHVtbnMubGVmdCAud3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC50d28tY29sdW1ucy5sZWZ0IC53cmFwcGVyIC53eXNpd3lnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1M3B4O1xuICB9XG59XG4udHdvLWNvbHVtbnMgLmNvbnRlbnQtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1sZWZ0OiAxMTJweDtcbn1cbi50d28tY29sdW1ucyAuY29udGVudC1pdGVtOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXJlbTtcbiAgbGVmdDogNnJlbTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmEwMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC50d28tY29sdW1ucyAuY29udGVudC1pdGVtOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnR3by1jb2x1bW5zIC5jb250ZW50LWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDM3cHggMCAzMXB4O1xuICB9XG59XG4udHdvLWNvbHVtbnMucmlnaHQgLmNvbnRlbnQtaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogNThweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC50d28tY29sdW1ucy5yaWdodCAuY29udGVudC1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnR3by1jb2x1bW5zLnJpZ2h0IC5jb250ZW50LWl0ZW0gLnd5c2l3eWcge1xuICAgIG1heC13aWR0aDogNTc3cHg7XG4gIH1cbn1cbi50d28tY29sdW1ucy5yaWdodCAuY29udGVudC1pdGVtOjphZnRlciB7XG4gIGxlZnQ6IDA7XG59XG4udHdvLWNvbHVtbnMgLmNvbnRlbnQtaXRlbS0tZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnR3by1jb2x1bW5zIC5jb250ZW50LWl0ZW0tLWZ1bGwgLnd5c2l3eWcge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cbi50d28tY29sdW1ucyAuaW1hZ2UtaXRlbSB7XG4gIHdpZHRoOiA1MCU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAudHdvLWNvbHVtbnMgLmltYWdlLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50d28tY29sdW1ucyAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNzMycHg7XG4gIH1cbn1cbi50d28tY29sdW1ucyAuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnR3by1jb2x1bW5zIC5pbWFnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudHdvLWNvbHVtbnMucmlnaHQgLmltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuLnR3by1jb2x1bW5zIC5idXR0b24td3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAudHdvLWNvbHVtbnMgLndyYXBwZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4udHdvLWNvbHVtbnMgLmNhcHRpb24ge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjMwNzY5MjMwOGVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgY29sb3I6ICNmYmJhMDA7XG4gIG1hcmdpbi10b3A6IDMuN3JlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udHdvLWNvbHVtbnMtMiB7XG4gIG1hcmdpbi1ib3R0b206IDU0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi50d28tY29sdW1ucy0yIC5zZWN0aW9uX193cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2RlZGVkZTtcbn1cbi50d28tY29sdW1ucy0yIC5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi50d28tY29sdW1ucy0yIC5jb250ZW50LXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDg1JTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDclO1xuICBsZWZ0OiAwO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnR3by1jb2x1bW5zLTIgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cbn1cbi50d28tY29sdW1ucy0yIC5jb250ZW50LXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4udHdvLWNvbHVtbnMtMiAuY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA1LjJyZW07XG59XG4udHdvLWNvbHVtbnMtMiAuY29udGVudDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMzQjNDNDI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAudHdvLWNvbHVtbnMtMiAuY29udGVudDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC50d28tY29sdW1ucy0yIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzM3B4IDAgNDdweDtcbiAgfVxufVxuLnR3by1jb2x1bW5zLTIgLmltYWdlLWl0ZW0ge1xuICB3aWR0aDogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnR3by1jb2x1bW5zLTIgLmltYWdlLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnR3by1jb2x1bW5zLTIgLmltYWdlLXdyYXBwZXI6bnRoLWNoaWxkKDEpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbi50d28tY29sdW1ucy0yIC5pbWFnZS13cmFwcGVyOm50aC1jaGlsZCgxKSAuaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnR3by1jb2x1bW5zLTIgLmltYWdlLXdyYXBwZXI6bnRoLWNoaWxkKDEpIC5pbWFnZSA+ICoge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi50d28tY29sdW1ucy0yIC5pbWFnZS13cmFwcGVyOm50aC1jaGlsZCgxKSAuaW1hZ2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDQyLjkxNjY2NjY2NjclO1xufVxuLnR3by1jb2x1bW5zLTIgLmltYWdlLXdyYXBwZXI6bnRoLWNoaWxkKDEpIC5pbWFnZSBpbWcge1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi50d28tY29sdW1ucy0yIC5pbWFnZS13cmFwcGVyOm50aC1jaGlsZCgyKSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuLnR3by1jb2x1bW5zLTIgLmltYWdlLXdyYXBwZXI6bnRoLWNoaWxkKG4rMikge1xuICB3aWR0aDogY2FsYyg1MCUgLSA0cHgpO1xufVxuLnR3by1jb2x1bW5zLTIgLmltYWdlLXdyYXBwZXI6bnRoLWNoaWxkKG4rMikgLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi50d28tY29sdW1ucy0yIC5pbWFnZS13cmFwcGVyOm50aC1jaGlsZChuKzIpIC5pbWFnZSA+ICoge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi50d28tY29sdW1ucy0yIC5pbWFnZS13cmFwcGVyOm50aC1jaGlsZChuKzIpIC5pbWFnZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogODYuNTU0NjIxODQ4NyU7XG59XG4udHdvLWNvbHVtbnMtMiAuaW1hZ2Utd3JhcHBlcjpudGgtY2hpbGQobisyKSAuaW1hZ2UgaW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4udHdvLWNvbHVtbnMtMiBoMiArICoge1xuICBtYXJnaW4tdG9wOiA0NHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnR3by1jb2x1bW5zLTIgaDIgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAyN3B4O1xuICB9XG59XG5cbi5iZW5lZml0cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNjJweDtcbn1cbi5iZW5lZml0cyAuY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCA4MHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjk5cHgpIHtcbiAgLmJlbmVmaXRzIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgfVxufVxuLmJlbmVmaXRzIC50aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDYuNnJlbTtcbn1cbi5iZW5lZml0cyAuYmxvY2sge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tcmlnaHQ6IC00MHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJlbmVmaXRzIC5ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTYwcHg7XG4gIH1cbn1cbi5iZW5lZml0cyAuaXRlbSB7XG4gIHdpZHRoOiAyMCU7XG4gIHBhZGRpbmc6IDAgNDBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5iZW5lZml0cyAuaXRlbSB7XG4gICAgd2lkdGg6IDMzLjMzJTtcbiAgfVxuICAuYmVuZWZpdHMgLml0ZW06bnRoLWNoaWxkKG4rNCkge1xuICAgIG1hcmdpbi10b3A6IDVyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5iZW5lZml0cyAuaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCA2MHB4O1xuICB9XG4gIC5iZW5lZml0cyAuaXRlbTpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxufVxuLmJlbmVmaXRzIC5pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNDJweDtcbiAgbWFyZ2luOiAwIGF1dG8gMy41cmVtO1xufVxuLmJlbmVmaXRzIC5pY29uID4gKiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmJlbmVmaXRzIC5pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xufVxuLmJlbmVmaXRzIC5pY29uIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4uYmVuZWZpdHMgLmg1IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xufVxuLmJlbmVmaXRzIC5idXR0b24td3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDQzcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYmVuZWZpdHMgcCB7XG4gICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4uYnV0dG9uLWdyaWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5idXR0b24tZ3JpZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG4uYnV0dG9uLWdyaWQgLmJ1dHRvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5idXR0b24tZ3JpZCAuYnV0dG9uICsgLmJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJ1dHRvbi1ncmlkIC5idXR0b24gKyAuYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICB9XG59XG5cbi5xdW90ZXMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVyZW07XG59XG4ucXVvdGVzIC53cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAxMzQycHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnF1b3RlcyAucXVvdGUge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjMwNzY5MjMwOGVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgY29sb3I6ICNmYmJhMDA7XG4gIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5xdW90ZXMgLnF1b3RlIHtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjA4MzMzMzMzM2VtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIH1cbn1cbi5xdW90ZXMgLmNpdGUge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uYmFubmVyIHtcbiAgaGVpZ2h0OiA0ODZweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbi5iYW5uZXIgLndyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuLmJyZWFkY3J1bWJzIHAsIC5icmVhZGNydW1icyBhIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyODU3ZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xufVxuLmJyZWFkY3J1bWJzIC5sYXN0IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnBhZ2VfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgNTRweDtcbiAgbWFyZ2luLWJvdHRvbTogN3JlbTtcbn1cbi5wYWdlX193cmFwcGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmEwMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5wYWdlX193cmFwcGVyOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnBhZ2VfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnBhZ2VfX2dyaWQge1xuICBtYXJnaW46IDAgLTYycHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAucGFnZV9fZ3JpZCB7XG4gICAgbWFyZ2luOiAwIC0yMHB4O1xuICB9XG59XG5cbi5wYWdlX19pdGVtIHtcbiAgcGFkZGluZzogMCA2MnB4O1xuICB3aWR0aDogMzMuMzMlO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnBhZ2VfX2l0ZW0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wYWdlX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucGFnZV9fYmxvY2sge1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjM0IzQzQyO1xuICB3aWR0aDogMTAwJTtcbiAgZmxleDogMSAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4ucGFnZV9fYmxvY2sgPiAqIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFnZV9fYmxvY2sgLmxpbmstaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnBhZ2VfX2Jsb2NrIC5saW5rLWltYWdlID4gKiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnBhZ2VfX2Jsb2NrIC5saW5rLWltYWdlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA1NS4wMTIyMjQ5Mzg5JTtcbn1cbi5wYWdlX19ibG9jayAubGluay1pbWFnZSBpbWcge1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5wYWdlX19ibG9jayAuaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuLnBhZ2VfX2Jsb2NrIC50aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ucGFnZV9fYmxvY2sgLmJ1dHRvbiB7XG4gIG1pbi13aWR0aDogMTc4cHg7XG59XG4ucGFnZV9fYmxvY2sgLmJvdHRvbSB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG59XG5cbi5wYWdlX19idXR0b24ge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zY29udGFjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMkYwRjA7XG4gIG1hcmdpbi10b3A6IDQ2cHg7XG59XG4uc2NvbnRhY3QgLnNlY3Rpb25fX3dyYXBwZXIge1xuICBwYWRkaW5nOiA0NnB4IDAgMzZweDtcbiAgbWF4LXdpZHRoOiA5OXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc2NvbnRhY3QgLnRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLnNjb250YWN0IC5mb3JtLXN1Ym1pdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMjhweDtcbn1cbi5zY29udGFjdCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmEwMDtcbn1cblxuLmdyb3VwZWRmb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmdyb3VwZWRmb3JtIC5mb3JtLWl0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmdyb3VwZWRmb3JtIC5mb3JtLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uZ3JvdXBlZGZvcm0gLmZvcm0tZ3JvdXAgKyAuZm9ybS1ncm91cCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG4uZ3JvdXBlZGZvcm0gLnJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuZ3JvdXBlZGZvcm0gLnJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG59XG4uZ3JvdXBlZGZvcm0gLnJpZ2h0IC5mb3JtLWdyb3VwIHtcbiAgZmxleDogMSAwIGF1dG87XG59XG4uZ3JvdXBlZGZvcm0gLnJpZ2h0IC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZ3JvdXBlZGZvcm0gLnJpZ2h0IC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT10ZXh0XSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9ZW1haWxdLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT11cmxdLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXNlYXJjaF0sIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXRlbF0sIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXJhbmdlXSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9ZGF0ZV0sIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPW1vbnRoXSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9d2Vla10sIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXRpbWVdLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT1kYXRldGltZV0sIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9Y29sb3JdLCAuZ3JvdXBlZGZvcm0gdGV4dGFyZWEsIC5ncm91cGVkZm9ybSBzZWxlY3Qge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE4NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIGJvcmRlcjogMC41cHggc29saWQgIzNCM0M0MjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtaW4taGVpZ2h0OiA0MnB4O1xuICBwYWRkaW5nOiAxMnB4IDhweDtcbn1cbi5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXRleHRdOm5vdChbZGlzYWJsZWRdKSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9ZW1haWxdOm5vdChbZGlzYWJsZWRdKSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9dXJsXTpub3QoW2Rpc2FibGVkXSksIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXTpub3QoW2Rpc2FibGVkXSksIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXNlYXJjaF06bm90KFtkaXNhYmxlZF0pLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT1udW1iZXJdOm5vdChbZGlzYWJsZWRdKSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9dGVsXTpub3QoW2Rpc2FibGVkXSksIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXJhbmdlXTpub3QoW2Rpc2FibGVkXSksIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWRhdGVdOm5vdChbZGlzYWJsZWRdKSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9bW9udGhdOm5vdChbZGlzYWJsZWRdKSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9d2Vla106bm90KFtkaXNhYmxlZF0pLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT10aW1lXTpub3QoW2Rpc2FibGVkXSksIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWRhdGV0aW1lXTpub3QoW2Rpc2FibGVkXSksIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpub3QoW2Rpc2FibGVkXSksIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWNvbG9yXTpub3QoW2Rpc2FibGVkXSksIC5ncm91cGVkZm9ybSB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksIC5ncm91cGVkZm9ybSBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9dGV4dF06bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT10ZXh0XTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXRleHRdOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWVtYWlsXTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWVtYWlsXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWVtYWlsXTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT11cmxdOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9dXJsXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXVybF06bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXNlYXJjaF06bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT1zZWFyY2hdOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9c2VhcmNoXTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT1udW1iZXJdOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9bnVtYmVyXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPW51bWJlcl06bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9dGVsXTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXRlbF06bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT10ZWxdOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXJhbmdlXTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXJhbmdlXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXJhbmdlXTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT1kYXRlXTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWRhdGVdOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9ZGF0ZV06bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9bW9udGhdOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9bW9udGhdOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9bW9udGhdOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXdlZWtdOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9d2Vla106bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT13ZWVrXTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT10aW1lXTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPXRpbWVdOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9dGltZV06bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9ZGF0ZXRpbWVdOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9ZGF0ZXRpbWVdOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLmdyb3VwZWRmb3JtIGlucHV0W3R5cGU9ZGF0ZXRpbWVdOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC5ncm91cGVkZm9ybSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT1jb2xvcl06bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT1jb2xvcl06bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAuZ3JvdXBlZGZvcm0gaW5wdXRbdHlwZT1jb2xvcl06bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLmdyb3VwZWRmb3JtIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLmdyb3VwZWRmb3JtIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLmdyb3VwZWRmb3JtIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC5ncm91cGVkZm9ybSBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAuZ3JvdXBlZGZvcm0gc2VsZWN0Om5vdChbZGlzYWJsZWRdKTpmb2N1cywgLmdyb3VwZWRmb3JtIHNlbGVjdDpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmJiYTAwO1xufVxuLmdyb3VwZWRmb3JtIHNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvd19kb3duLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTBweCkgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDtcbn1cbi5ncm91cGVkZm9ybSAuZm9ybS1ncm91cC0tZGF0ZSBzZWxlY3Qge1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gNXB4KSA1MCU7XG59XG4uZ3JvdXBlZGZvcm0gLmZvcm0tbGFiZWwge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE4NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG4uZ3JvdXBlZGZvcm0gdGV4dGFyZWEge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHJlc2l6ZTogbm9uZTtcbn1cbi5ncm91cGVkZm9ybSAud3BjZjctcmFkaW8gLndwY2Y3LWxpc3QtaXRlbS1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTg3NWVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbn1cbi5ncm91cGVkZm9ybSAud3BjZjctcmFkaW8gW3R5cGU9cmFkaW9dIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5ncm91cGVkZm9ybSAud3BjZjctcmFkaW8gbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZ3JvdXBlZGZvcm0gLndwY2Y3LXJhZGlvIC53cGNmNy1saXN0LWl0ZW0ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi5ncm91cGVkZm9ybSAud3BjZjctcmFkaW8gLndwY2Y3LWxpc3QtaXRlbSBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcmFkaW8ucG5nKSBuby1yZXBlYXQgMCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbn1cbi5ncm91cGVkZm9ybSAud3BjZjctcmFkaW8gLmlzLWNoZWNrZWQgbGFiZWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3JhZGlvLWNoZWNrZWQucG5nKTtcbn1cblxuLndwY2Y3IC5hamF4LWxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnNlY3Rpb24tbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIG1hcmdpbi10b3A6IDVyZW07XG59XG4uc2VjdGlvbi1saXN0IC5zZWN0aW9uX193cmFwcGVyIHtcbiAgcGFkZGluZzogMCAwIDAgNTRweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWN0aW9uLWxpc3QgLnNlY3Rpb25fX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbi5zZWN0aW9uLWxpc3QgLnNlY3Rpb25fX2dyaWQge1xuICBtYXJnaW46IDAgLTYycHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAuc2VjdGlvbi1saXN0IC5zZWN0aW9uX19ncmlkIHtcbiAgICBtYXJnaW46IDAgLTMwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5zZWN0aW9uLWxpc3QgLnNlY3Rpb25fX2dyaWQge1xuICAgIG1hcmdpbjogMCAtMjBweDtcbiAgfVxufVxuLnNlY3Rpb24tbGlzdCAuaXRlbSB7XG4gIHBhZGRpbmc6IDAgNjJweDtcbiAgd2lkdGg6IDI1JTtcbiAgbWFyZ2luLWJvdHRvbTogNjhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNlY3Rpb24tbGlzdCAuaXRlbSA+ICoge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gIC5zZWN0aW9uLWxpc3QgLml0ZW0ge1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLnNlY3Rpb24tbGlzdCAuaXRlbSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2VjdGlvbi1saXN0IC5pdGVtIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zZWN0aW9uLWxpc3QgLml0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zZWN0aW9uLWxpc3QgLml0ZW0gLmg0IHtcbiAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG4uc2VjdGlvbi1saXN0IC5pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4uc2VjdGlvbi1saXN0IC5idXR0b24td3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2VjdGlvbi1saXN0IC5idXR0b24ge1xuICBtaW4td2lkdGg6IDE5OXB4O1xuICBtYXJnaW4tdG9wOiA3cHg7XG59XG5cbi5saW5rLWxvZ2luIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDQxcHg7XG4gIHdpZHRoOiAyMjFweDtcbn1cbi5saW5rLWxvZ2luIGltZyB7XG4gIHdpZHRoOiAyMjFweDtcbiAgaGVpZ2h0OiA0MXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubGluay1sb2dpbjpub3QoW2Rpc2FibGVkXSkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubGluay1sb2dpbjpub3QoW2Rpc2FibGVkXSk6aG92ZXIgaW1nLCAubGluay1sb2dpbjpub3QoW2Rpc2FibGVkXSk6Zm9jdXMgaW1nLCAubGluay1sb2dpbjpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIGltZyB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLndyYXAtbG9naW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi53cmFwLWxvZ2luIC5saW5rLWxvZ2luIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gMzFweCk7XG4gIGxlZnQ6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgLndyYXAtbG9naW4gLmxpbmstbG9naW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4ud3JhcC1sb2dpbiAqIHtcbiAgaGVpZ2h0OiA0MXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5lcnJvci00MDQge1xuICBwYWRkaW5nOiAxNTBweCAwIDIyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZXJyb3ItNDA0IGgyIHtcbiAgbWFyZ2luOiAyMHB4O1xufVxuXG4uYnV0dG9uLS1uZXdzIHtcbiAgbWluLXdpZHRoOiAyNDZweDtcbiAgbWFyZ2luLWxlZnQ6IDU4cHg7XG4gIG1hcmdpbi10b3A6IDQuM3JlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5idXR0b24tLW5ld3Mge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5zaW5nbGUtc2VydmljZSAucmFuay1tYXRoLWJyZWFkY3J1bWIgYTpudGgtb2YtdHlwZSgyKSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4jd3BzbC1nbWFwLFxuI3dwc2wtd3JhcCAud3BzbC1nbWFwLWNhbnZhcyB7XG4gIGhlaWdodDogNDg2cHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBub25lO1xufVxuXG4jd3BzbC1nbWFwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuI3dwc2wtcmVzdWx0LWxpc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgNzZweDtcbn1cblxuLndwc2wtc2VhcmNoIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuLndwc2wtc2VhcmNoIC53cHNsLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogNTNweDtcbiAgbWFyZ2luLWJvdHRvbTogNzhweDtcbn1cbi53cHNsLXNlYXJjaCAud3BzbC13cmFwcGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmEwMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC53cHNsLXNlYXJjaCAud3BzbC13cmFwcGVyOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLndwc2wtc2VhcmNoIC53cHNsLXdyYXBwZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuLndwc2wtc2VhcmNoIC50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMy4ycmVtO1xuICBsaW5lLWhlaWdodDogMS4yMTg3NWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgbWFyZ2luLWJvdHRvbTogMzZweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC53cHNsLXNlYXJjaCAudGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yMzA3NjkyMzA4ZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgfVxufVxuLndwc2wtc2VhcmNoIHAge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4jd3BzbC1zZWFyY2gtd3JhcCB7XG4gIGZsb2F0OiBub25lO1xufVxuI3dwc2wtc2VhcmNoLXdyYXAgZm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogNTY0cHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAjd3BzbC1zZWFyY2gtd3JhcCBmb3JtIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cbiN3cHNsLXNlYXJjaC13cmFwIC53cHNsLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG59XG4jd3BzbC1zZWFyY2gtd3JhcCAjd3BzbC1zZWFyY2gtaW5wdXQge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjIyMjIyMjIyMjJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzQjNDNDI7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogNTVweDtcbn1cbiN3cHNsLXNlYXJjaC13cmFwICN3cHNsLXNlYXJjaC1pbnB1dC53cHNsLWVycm9yIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JkMDAyOCAhaW1wb3J0YW50O1xufVxuI3dwc2wtc2VhcmNoLXdyYXAgLndwc2wtc2VhcmNoLWJ0bi13cmFwIGlucHV0LFxuI3dwc2wtc2VhcmNoLXdyYXAgLndwc2wtc2VhcmNoLWJ0bi13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICB0b3A6IDRweDtcbiAgcmlnaHQ6IDRweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7XG59XG4jd3BzbC1zZWFyY2gtd3JhcCAud3BzbC1zZWFyY2gtYnRuLXdyYXAge1xuICBiYWNrZ3JvdW5kOiAjZmJiYTAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VhcmNoLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDM2cHg7XG59XG4jd3BzbC1zZWFyY2gtd3JhcCAud3BzbC1zZWFyY2gtYnRuLXdyYXAgaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuLnNlY3Rpb24tbG9jYXRvciAud3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgNTNweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWN0aW9uLWxvY2F0b3IgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbi5zZWN0aW9uLWxvY2F0b3IgI3dwc2wtc3RvcmVzIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4uc2VjdGlvbi1sb2NhdG9yICN3cHNsLXN0b3Jlcyxcbi5zZWN0aW9uLWxvY2F0b3IgI3dwc2wtcmVzdWx0LWxpc3Qge1xuICB3aWR0aDogMTAwJTtcbn1cbi5zZWN0aW9uLWxvY2F0b3IgdWwge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjIyMjIyMjIyMjJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zZWN0aW9uLWxvY2F0b3IgdWwgPiBsaSB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDg0cHgpO1xuICBtYXJnaW4tbGVmdDogMTI2cHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuLnNlY3Rpb24tbG9jYXRvciB1bCA+IGxpIGRpdiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDE0cHggIWltcG9ydGFudDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5zZWN0aW9uLWxvY2F0b3IgdWwgPiBsaSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2VjdGlvbi1sb2NhdG9yIHVsID4gbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zZWN0aW9uLWxvY2F0b3IgdWwgPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuLnNlY3Rpb24tbG9jYXRvciB1bCA+IGxpOm50aC1jaGlsZChuKzQpIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5zZWN0aW9uLWxvY2F0b3IgdWwgPiBsaTpudGgtY2hpbGQoMm4pIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2VjdGlvbi1sb2NhdG9yIHVsID4gbGk6bnRoLWNoaWxkKDJuKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLnNlY3Rpb24tbG9jYXRvciB1bCA+IGxpOm50aC1jaGlsZChuKzMpIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWN0aW9uLWxvY2F0b3IgdWwgPiBsaTpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgfVxufVxuLnNlY3Rpb24tbG9jYXRvciAud3BzbC1kaXN0YW5jZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzE0Mjg1N2VtO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogI2ZiYmEwMDtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0IzQzQyO1xufVxuLnNlY3Rpb24tbG9jYXRvciBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zZWN0aW9uLWxvY2F0b3IgLndwc2wtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnNlY3Rpb24tbG9jYXRvciAud3BzbC1oZWFkZXIgKyAqOm5vdCgud3BzbC1kZXNjcmlwdGlvbikge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG4uc2VjdGlvbi1sb2NhdG9yIC53cHNsLXdlYnNpdGUge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG4uc2VjdGlvbi1sb2NhdG9yICoge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4jd3BzbC1yZXN1bHQtbGlzdCBsaSBwLndwc2wtcGhvbmUge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ud3BzbC16aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTBweCkge1xuICAuYmVuZWZpdHMgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYmFubmVyIHtcbiAgICBoZWlnaHQ6IDEwMHZ3O1xuICB9XG59XG4uaG9tZSAuc2VjdGlvbi5pbnRyby1jb3B5IHtcbiAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG59XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtYmFzaWMgLndwY2Y3LXN1Ym1pdCB7XG4gIG1pbi13aWR0aDogMTZyZW07XG59XG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWJhc2ljIC5mb3JtLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG59XG5cbi5zaXRlLW1haW4tLWJhc2ljLXRlbXBsYXRlIC50d28tY29sdW1ucyAuY29udGVudC1pdGVtLS1mdWxsIHtcbiAgbWF4LXdpZHRoOiA1OHJlbTtcbiAgcGFkZGluZzogNzVweCAwIDM2cHggIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zaXRlLW1haW4tLWJhc2ljLXRlbXBsYXRlIC50d28tY29sdW1ucyAuY29udGVudC1pdGVtLS1mdWxsOjphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG4uc2l0ZS1tYWluLS1iYXNpYy10ZW1wbGF0ZSAudHdvLWNvbHVtbnMgLmNvbnRlbnQtaXRlbS0tZnVsbCAuaGVhZGVyLWxvZ28ge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc2l0ZS1tYWluLS1iYXNpYy10ZW1wbGF0ZSAudHdvLWNvbHVtbnMgLmNvbnRlbnQtaXRlbS0tZnVsbCAuaGVhZGVyLWxvZ28gKyAqIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmZvcm0tZ3JvdXAtLWRhdGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uZm9ybS1ncm91cC0tZGF0ZSAuZm9ybS1sYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4uZm9ybS1ncm91cC0tZGF0ZSAud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmZvcm0tZ3JvdXAtLWRhdGUgc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWVkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDNweCAwIDRweDtcbn1cblxuLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICBmb250LXNpemU6IDEuNXJlbTtcbn0iLCIvKiEgbm9ybWFsaXplLmNzcyB2NS4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgLy9mb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgLy9mb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHZlcnkgYmFzaWMgc3R5bGVzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiBTZXQgdXAgYSBkZWNlbnQgYm94IG1vZGVsIG9uIHRoZSByb290IGVsZW1lbnRcbiAqL1xuIGh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuXG4vKipcbiAqIE1ha2UgYWxsIGVsZW1lbnRzIGZyb20gdGhlIERPTSBpbmhlcml0IGZyb20gdGhlIHBhcmVudCBib3gtc2l6aW5nXG4gKiBTaW5jZSBgKmAgaGFzIGEgc3BlY2lmaWNpdHkgb2YgMCwgaXQgZG9lcyBub3Qgb3ZlcnJpZGUgdGhlIGBodG1sYCB2YWx1ZVxuICogbWFraW5nIGFsbCBlbGVtZW50cyBpbmhlcml0aW5nIGZyb20gdGhlIHJvb3QgYm94LXNpemluZyB2YWx1ZVxuICogU2VlOiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3V0bGluZTogMC4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdXRsaW5lOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5ib2R5IHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbm1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG59XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qKlxuICogQmFzaWMgc3R5bGVzIGZvciBsaW5rc1xuICovXG5hIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvcik7XG5cbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgXG4gICY6bm90KC5idXR0b24sYnV0dG9uKSB7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICAvLyBjb2xvcjogJGJsdWU7IC8vIHJlbW92ZSBjbXQgYWZ0ZXIgcnVuXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuYSwgYnV0dG9uLCBbdHlwZT1zdWJtaXRdIHtcbiAgJjpub3QoLmRpc2FibGVkLCBbZGlzYWJsZT1cInRydWVcIl0pIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBvbiBicm93c2VyIG5vdCBzdXBwb3J0IG9iamVjdCBmaXRcbi8vIGhpZGUgaW1nIGFuZCB1c2UgYmFja2dyb3VuZCBpbWFnZSBmb3Igd3JhcHBlciBkaXZcbi5pbWctd3JhcHBlci5uby1zcC1maXQge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXG4gIGltZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbltkYXRhLWZpdD1cImNvdmVyXCJdIGltZyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbltkYXRhLWZpdD1cImNvbnRhaW5cIl0gaW1nIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4uaGlkZGVuLXkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2l0ZSB7XG4gIHBhZGRpbmctdG9wOiAxMDZweDtcblxuICAuaGFzLWJhbm5lciAmIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgcGFkZGluZy10b3A6ICRoZWFkZXItc207XG4gIH1cbn1cblxuI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLy8gZm9yIGdyaWQgXG4uZ3JpZC13cmFwcGVyIHtcbiAgLy8gZGlzcGxheTogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gICYuaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgKiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuZ3JpZF9faXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxLzEyICogMTAwJSk7XG4gIH1cblxuICAuZ3JpZF9fY29sIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTY4LCAyMjIsIDI1NSwgMC4yKTtcbiAgfVxufVxuXG4uZ3JpZC10b2dnbGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogMTZweDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyOSwgMjQwLCA4NiwgMC42OTIpO1xuICBib3JkZXI6IDFweCBkb3R0ZWQgYmxhY2s7XG59XG5cbi5vd2wtZG90IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbn1cblxuLnNlY3Rpb24gKyAuc2VjdGlvbiB7XG4gIC8vIG1hcmdpbi10b3A6IDEwMHB4O1xufVxuXG4jc2VjdGlvbi1iYW5uZXIgKyAuc2VjdGlvbixcbi5zZWN0aW9uLS1iZyArIC5zZWN0aW9uLS1iZyB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNzZWN0aW9uLWJhbm5lciArIC5zZWN0aW9uLS1uYmcge1xuICAvLyBtYXJnaW4tdG9wOiAxMDBweDtcbn1cblxuYSB7XG4gIGltZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG4gIH1cbn1cblxuLnNlY3Rpb24tLWJnIHtcbiAgLnNlY3Rpb25fX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDk2cHggMDtcbiAgfVxufVxuXG4uZ3JpZC1jb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcblxuICBAaW5jbHVkZSBicChtZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnAoeGwpIHtcbiAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjVweDtcbiAgfVxuXG4gID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbGFiZWwge1xuICAgICAgbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgcGFkZGluZzogMCAyNXB4O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKHhsKSB7XG4gICAgICBwYWRkaW5nOiAwIDI4cHg7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbGVmdDogMjhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB+IC5ncmlkLWNvbCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uZ3JpZC1jb2wtLXR3byB7XG4gID4gZGl2IHtcblxuICAgICsgZGl2IHtcbiAgICAgIEBpbmNsdWRlIGJwKG1kLCBtYXgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAoeGwpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwIDI4cHg7XG4gICAgfVxuICB9XG59XG5cbmJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICB9XG5cbiAgJi5zaG93LW1vZGFsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgJi5tZW51LWFjdGl2ZSB7XG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4uaHRtbC1zaG93LW1vZGFsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXIge1xuICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xufVxuXG4uZnMtZ2FsLW1haW4ge1xuICB3aWR0aDogYXV0bzsgXG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnRleHQtaGlnaGxpZ2h0IHtcbiAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRwcmltYXJ5LWNvbG9yO1xufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGFwcGxpY2F0aW9uLXdpZGUgU2FzcyB2YXJpYWJsZXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gUmVsYXRpdmUgb3IgYWJzb2x1dGUgVVJMIHdoZXJlIGFsbCBhc3NldHMgYXJlIHNlcnZlZCBmcm9tXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdoZW4gdXNpbmcgYSBDRE5cbi8vLyAgICRiYXNlLXVybDogJ2h0dHA6Ly9jZG4uZXhhbXBsZS5jb20vYXNzZXRzLyc7XG4kYmFzZS11cmw6ICcvYXNzZXRzLycgIWRlZmF1bHQ7XG5cblxuLy8vIFJlZ3VsYXIgZm9udCBmYW1pbHlcbi8vLyBAdHlwZSBMaXN0XG4kZi1wcmltYXJ5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBDb2RlIChtb25vc3BhY2UpIGZvbnQgZmFtaWx5XG4vLy8gQHR5cGUgTGlzdFxuJGYtY29kZTogJ0NvdXJpZXIgTmV3JywgJ0RlamFWdSBTYW5zIE1vbm8nLCAnQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJywgJ01vbmFjbycsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8gY29sb3JcbiRwcmltYXJ5LWNvbG9yOiAjM0IzQzQyO1xuJHNlY29uZGFyeS1jb2xvcjogI2ZiYmEwMDtcbiR3aGl0ZTogI2ZmZjtcbiRncmV5OiAjZGVkZWRlO1xuXG4vLyByZXNwb25zaXZlXG4kYnJlYWtwb2ludHM6IChcbiAgICBcInhzXCIgOiAwcHgsXG4gICAgXCJzbVwiIDogNzY4cHgsICAvLyB0YWJsZXQgcG9ydHJhaXRcbiAgICBcIm1kXCIgOiAxMDI0cHgsIC8vIHRhYmxldCBsYW5kc2NhcGVcbiAgICBcImxnXCIgOiAxMjgwcHgsIC8vIGRlc2t0b3AgcGNcbiAgICBcInhsXCIgOiAxNDQwcHgsIC8vIGxhcHRvcFxuICAgIFwieHhsXCI6IDE3MDBweCAgLy8gZGVza3RvcCBsYXJnZVxuKTtcblxuLy8gZ3JpZFxuJGNvbDogMTI7XG4kZ3V0dGVyczpcbiAgICBcInhzXCIgMjBweCxcbiAgICBcImxnXCIgNDBweDtcblxuLy9jb250YWluZXJcbiRtYXgtd2lkdGg6IDE5MjBweDtcbiRwYWRkaW5nczpcbiAgICBcInhzXCIgNnB4LFxuICAgIFwic21cIiA1MHB4LFxuICAgIFwibWRcIiA1MHB4LFxuICAgIFwieGxcIiA4MHB4LFxuICAgIFwieHhsXCIgMTcwcHg7XG5cbiRoZWFkZXI6IDEwNnB4O1xuJHdwYWRtaW46IDMycHg7XG5cbiRoZWFkZXItc206IDYycHg7XG4kd3BhZG1pbi1zbTogNDZweDsiLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBhcHBsaWNhdGlvbi13aWRlIFNhc3MgbWl4aW5zLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIEV2ZW50IHdyYXBwZXJcbi8vLyBAYXV0aG9yIEhhcnJ5IFJvYmVydHNcbi8vLyBAcGFyYW0ge0Jvb2x9ICRzZWxmIFtmYWxzZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGN1cnJlbnQgc2VsZWN0b3Jcbi8vLyBAbGluayBodHRwczovL3R3aXR0ZXIuY29tL2Nzc3dpemFyZHJ5L3N0YXR1cy80Nzg5Mzg1MzAzNDIwMDY3ODQgT3JpZ2luYWwgdHdlZXQgZnJvbSBIYXJyeSBSb2JlcnRzXG5AbWl4aW4gb24tZXZlbnQoJHNlbGY6IGZhbHNlKSB7XG4gIEBpZiAkc2VsZiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGEgY29udGV4dCBiYXNlZCBzZWxlY3RvciBhIGxpdHRsZSBtb3JlIGZyaWVuZGx5XG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjb250ZXh0XG5AbWl4aW4gd2hlbi1pbnNpZGUoJGNvbnRleHQpIHtcbiAgI3skY29udGV4dH0gJiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG4vLyBmb250IGZhY2VcbkBtaXhpbiBmb250LWZhY2UoJG5hbWUsICRmaWxlKSB7XG4gIEBmb250LWZhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiI3skbmFtZX1cIjtcbiAgICAgIHNyYzogdXJsKFwiLi4vZm9udHMvI3skZmlsZX0uZW90XCIpO1xuICAgICAgc3JjOiB1cmwoXCIuLi9mb250cy8jeyRmaWxlfS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgdXJsKFwiLi4vZm9udHMvI3skZmlsZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgdXJsKFwiLi4vZm9udHMvI3skZmlsZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgICAgdXJsKFwiLi4vZm9udHMvI3skZmlsZX0uc3ZnPyN3ZWJmb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgfVxufVxuXG4vLyBzbW9vdGggYW5pbWF0aW9uXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydHk6IGFsbCwgJGR1cmF0aW9uOiAuM3MsICR0aW1pbmc6IGVhc2UtaW4tb3V0LCAkZGVsYXk6IDBzKSB7XG4gIHRyYW5zaXRpb246ICRwcm9wZXJ0eSAkZHVyYXRpb24gJHRpbWluZyAkZGVsYXk7XG59XG5cbi8vIGFic1xuQG1peGluIHBvcy1hYnMoJGNlbnRlcjogdHJ1ZSwgJGZ1bGw6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIEBpZiAkY2VudGVyIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgIC8vIGJyb3dzZXIgbm90IHN1cHBvcnQgM2RcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9IEBlbHNlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gIH1cblxuICBAaWYgJGZ1bGwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLy8gZGVmYXVsdCB1c2UgZm9yIGJsb2NrXG4vLyBvciB3cmFwcGVyIGltZ1xuQG1peGluIHJhdGlvKCR3OiAxLCAkaDogMSwgJGJsb2NrOiBmYWxzZSwgJGNvdmVyOiB0cnVlKSB7XG4gICRyYXRpbzogdW5xdW90ZSgkaCAvICR3ICogMTAwICsgJyUnKTtcblxuICA+ICoge1xuICAgICAgQGluY2x1ZGUgcG9zLWFicyhmYWxzZSk7XG4gIH1cbiAgXG4gIC8vIHJhdGlvIGZvciBibG9ja1xuICBAaWYgJGJsb2NrIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkcmF0aW87XG4gIH0gQGVsc2Uge1xuXG4gICAgICAvLyByYXRpbyBmb3IgaW1hZ2VcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgcHNldWRvKCRwb3M6IHJlbGF0aXZlKTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogJHJhdGlvO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICAgIEBpZiAkY292ZXIge1xuICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgfVxufVxuXG4vLyBzdHlsZSBwbGFjZWhvbGRlciB1c2UgZm9yIGlucHV0IGFuZCB0ZXh0YXJlYVxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJi5wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICY6LW1vei1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxufVxuXG4vLyBob3ZlciBzdGF0ZVxuQG1peGluIGhvdmVyKCkge1xuICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHRyaWFuZ2xlXG5AbWl4aW4gcHNldWRvKCRkaXNwbGF5OiBibG9jaywgJHBvczogYWJzb2x1dGUsICRjb250ZW50OiAnJyl7XG4gIGNvbnRlbnQ6ICRjb250ZW50O1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgcG9zaXRpb246ICRwb3M7XG59XG5cbkBtaXhpbiB0cmlhbmdsZSgkY29sb3IsICRkaXJlY3Rpb24sICRzaXplOiA2cHgsICRwb3NpdGlvbjogYWJzb2x1dGUsICRyb3VuZDogZmFsc2Upe1xuICBAaW5jbHVkZSBwc2V1ZG8oJHBvczogJHBvc2l0aW9uKTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgQGlmICRyb3VuZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIH1cbiAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgbWFyZ2luLXRvcDogMCAtIHJvdW5kKCAkc2l6ZSAvIDIuNSApO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgLSByb3VuZCggJHNpemUgLyAyLjUgKTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtJHNpemU7XG4gIH0gQGVsc2UgaWYgICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogLSRzaXplO1xuICB9XG59XG5cbi8vIGZvbnRcbkBtaXhpbiBzZXQtZm9udCgkZno6IDE4LCAkbGg6IDIyLCAkZnc6IDMwMCwgJHR0OiBpbml0aWFsLCAkYmFzZTogMTApIHtcbiAgZm9udC1mYW1pbHk6ICRmLXByaW1hcnk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBAaWYgJGZ6IHsgZm9udC1zaXplOiB1bnF1b3RlKCRmeiAvICRiYXNlICsgJ3JlbScpOyB9XG4gIEBpZiAkbGggeyBsaW5lLWhlaWdodDogdW5xdW90ZSgkbGggLyAkZnogKyAnZW0nKTsgfVxuICBAaWYgJGZ3IHsgZm9udC13ZWlnaHQ6ICRmdzsgfVxuICBAaWYgJHR0IHsgdGV4dC10cmFuc2Zvcm06ICR0dDsgfVxufVxuXG5AbWl4aW4gc2V0LXRleHQoJGZ6OiAxOCwgJGxoOiAyMiwgJGZ3OiAzMDAsICR0dDogaW5pdGlhbCwgJGJhc2U6IDEwKSB7XG4gIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgQGlmICRmeiB7IGZvbnQtc2l6ZTogdW5xdW90ZSgkZnogKyAncHgnKTsgfVxuICBAaWYgJGxoIHsgbGluZS1oZWlnaHQ6IHVucXVvdGUoJGxoIC8gJGZ6ICsgJ2VtJyk7IH1cbiAgQGlmICRmdyB7IGZvbnQtd2VpZ2h0OiAkZnc7IH1cbiAgQGlmICR0dCB7IHRleHQtdHJhbnNmb3JtOiAkdHQ7IH1cbn1cblxuLy8gY3V0IGFuZCByZXBsYWNlIGJ5IGRvdCBkb3QgZG90XG5AbWl4aW4gdHJ1bmNhdGUoJHRydW5jYXRpb24tYm91bmRhcnkpIHtcbiAgbWF4LXdpZHRoOiAkdHJ1bmNhdGlvbi1ib3VuZGFyeTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8vIHJlc3BvbnNpdmVcbkBtaXhpbiBicCgkd2lkdGgsICR0eXBlOiBtYXgpIHtcbiAgQGlmIG1hcF9oYXNfa2V5KCRicmVha3BvaW50cywgJHdpZHRoKSB7XG4gICAgICAkd2lkdGg6IG1hcF9nZXQoJGJyZWFrcG9pbnRzLCAkd2lkdGgpO1xuICAgICAgQGlmICR0eXBlID09IG1heCB7XG4gICAgICAgICAgJHdpZHRoOiAkd2lkdGggLSAxcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgjeyR0eXBlfS13aWR0aDogJHdpZHRoKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gIH1cbn1cblxuQG1peGluIGJwY3VzdG9tKCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgfVxufVxuXG5cbi8vIGNvbnRhaW5lclxuQG1peGluIGNvbnRhaW5lcigpIHtcbiAgQGVhY2ggJGJwLCAkcGFkZGluZyBpbiAkcGFkZGluZ3Mge1xuICAgICAgQGlmIG1hcF9oYXNfa2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnAoJGJwLCBtaW4pIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cblxuLy8gY29udGFpbmVyXG5AbWl4aW4gZ3JpZCgpIHtcbiAgQGVhY2ggJGJwLCAkZ3V0dGVyIGluICRndXR0ZXJzIHtcbiAgICAgIEBpZiBtYXBfaGFzX2tleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgICAgICRndXR0ZXItaGFsZjogJGd1dHRlciAvIDI7XG4gICAgICAgICAgQGluY2x1ZGUgYnAoJGJwKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRndXR0ZXItaGFsZik7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogKC0kZ3V0dGVyLWhhbGYpO1xuXG4gICAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRndXR0ZXItaGFsZjtcbiAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG4vLyBjb2x1bW5zXG5AbWl4aW4gY29sKCRudW06IDEyKSB7XG4gIHdpZHRoOiB1bnF1b3RlKCRudW0gLyAkY29sICogMTAwICsgJyUnKTtcbn1cblxuLy8gc2V0IGZ1bGwgaGVpZ2h0IGZvciBjaGlsZHJlblxuQG1peGluIHNldC1jaGlsZC1mdWxsLWhlaWdodCgkZWwtcHVzaDogJycpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICA+ICoge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAaWYgJGVsLXB1c2ggIT0gJycge1xuICAgICAgPiAqIHtcbiAgICAgICAgICBmbGV4OiB1bnNldDtcbiAgICAgIH1cbiAgICAgID4gI3skZWwtcHVzaH0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICB9XG4gIH0gQGVsc2Uge1xuICAgICAgPiAqIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICB9XG59XG5cbi8vIGNlbnRlciBob3Jpem9udGFsXG5AbWl4aW4gY2VudGVyLXgge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xufVxuXG4vLyBjZW50ZXIgdmVydGljYWxcbkBtaXhpbiBjZW50ZXIteSB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbn1cblxuLy8gY2VudGVyXG5AbWl4aW4gY2VudGVyIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbkBtaXhpbiBsaW1pdC1saW5lKCRsaDogMS4zNzVlbSwgJGxpbmU6IDIpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lO1xuICBsaW5lLWhlaWdodDogJGxoO1xuICBtYXgtaGVpZ2h0OiAkbGluZSokbGg7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIHJlc2V0LWxpbWl0LWxpbmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiBpbml0aWFsO1xufVxuXG5AbWl4aW4gcmVzZXQtZGVmYXVsdC1zdHlsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuQG1peGluICBib3JkZXItbGVmdCgkY29sb3I6ICRwcmltYXJ5LWNvbG9yLCR0b3A6IDguMjVyZW0sJGxlZnQ6IDVyZW0pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgICAgICBsZWZ0OiAkbGVmdDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gIH1cbn1cblxuQG1peGluICBoMSB7XG4gIEBpbmNsdWRlIHNldC1mb250KDQ0LDU0LDQwMCk7XG4gIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgQGluY2x1ZGUgc2V0LWZvbnQoMzIsMzksNDAwKTtcbiAgfVxufVxuXG5AbWl4aW4gaDIge1xuICBAaW5jbHVkZSBzZXQtZm9udCgzMiwzOSw0MDApO1xuICBAaW5jbHVkZSBicChtZCkge1xuICAgIEBpbmNsdWRlIHNldC1mb250KDI2LDMyLDQwMCk7XG4gIH1cbn1cblxuQG1peGluIGgzIHtcbiAgQGluY2x1ZGUgc2V0LWZvbnQoMjYsMzIsNDAwKTtcbn1cblxuQG1peGluIGg0IHtcbiAgQGluY2x1ZGUgc2V0LWZvbnQoMjQsMzAsMzAwKTtcbn1cblxuQG1peGluIGg1IHtcbiAgQGluY2x1ZGUgc2V0LWZvbnQoMjIsMjcsNDAwKTtcbn1cblxuQG1peGluIGg2IHtcbiAgQGluY2x1ZGUgc2V0LXRleHQoKTtcbn0iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYU9ibGlxdWUuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYU9ibGlxdWUuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFPYmxpcXVlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYU9ibGlxdWUud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYU9ibGlxdWUudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYU9ibGlxdWUuc3ZnI1NGVUZ1dHVyYU9ibGlxdWUnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9TRlVGdXR1cmFIZWF2eS5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhSGVhdnkuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFIZWF2eS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFIZWF2eS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhSGVhdnkudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUhlYXZ5LnN2ZyNTRlVGdXR1cmFIZWF2eScpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUxpZ2h0T2JsaXF1ZS5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhTGlnaHRPYmxpcXVlLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhTGlnaHRPYmxpcXVlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUxpZ2h0T2JsaXF1ZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhTGlnaHRPYmxpcXVlLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFMaWdodE9ibGlxdWUuc3ZnI1NGVUZ1dHVyYUxpZ2h0T2JsaXF1ZScpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGQuc3ZnI1NGVUZ1dHVyYUJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhQm9vay5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhQm9vay5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUJvb2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhQm9vay53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhQm9vay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhQm9vay5zdmcjU0ZVRnV0dXJhQm9vaycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGRPYmxpcXVlLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9TRlVGdXR1cmFCb2xkT2JsaXF1ZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGRPYmxpcXVlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUJvbGRPYmxpcXVlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFCb2xkT2JsaXF1ZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhQm9sZE9ibGlxdWUuc3ZnI1NGVUZ1dHVyYUJvbGRPYmxpcXVlJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZE9ibGlxdWUuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZE9ibGlxdWUuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFFeHRyYUJvbGRPYmxpcXVlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZE9ibGlxdWUud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZE9ibGlxdWUudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZE9ibGlxdWUuc3ZnI1NGVUZ1dHVyYUV4dHJhQm9sZE9ibGlxdWUnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhRXh0cmFCb2xkLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9TRlVGdXR1cmFFeHRyYUJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFFeHRyYUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhRXh0cmFCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFFeHRyYUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUV4dHJhQm9sZC5zdmcjU0ZVRnV0dXJhRXh0cmFCb2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUxpZ2h0LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9TRlVGdXR1cmFMaWdodC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFMaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhTGlnaHQuc3ZnI1NGVUZ1dHVyYUxpZ2h0JykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9TRlVGdXR1cmEuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmEud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmEudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYS5zdmcjU0ZVRnV0dXJhJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhSGVhdnlPYmxpcXVlLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9TRlVGdXR1cmFIZWF2eU9ibGlxdWUuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFIZWF2eU9ibGlxdWUud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZVRnV0dXJhSGVhdnlPYmxpcXVlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlVGdXR1cmFIZWF2eU9ibGlxdWUudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGVUZ1dHVyYUhlYXZ5T2JsaXF1ZS5zdmcjU0ZVRnV0dXJhSGVhdnlPYmxpcXVlJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbiIsIi8qKlxuICogQmFzaWMgdHlwb2dyYXBoeSBzdHlsZSBmb3IgY29weSB0ZXh0XG4gKi9cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlO1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgc2V0LWZvbnQoKTtcblxuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG5cbjpmb2N1cyB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAg4oCLMCAycHggMXB4IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaDEsXG5oMSB7XG4gIEBpbmNsdWRlIGgxO1xufVxuXG4uaDIsXG5oMiB7XG4gIEBpbmNsdWRlIGgyO1xufVxuXG4uaDMsXG5oMyB7XG4gIEBpbmNsdWRlIGgzO1xufVxuXG4uaDQsXG5oNCB7XG4gIEBpbmNsdWRlIGg0O1xufVxuXG4uaDUsXG5oNSB7XG4gIEBpbmNsdWRlIGg1O1xufVxuXG4uaDYsXG5wLCBoNiB7XG4gIEBpbmNsdWRlIGg2O1xufVxuXG4ud3lzaXd5ZyB7XG4gICoge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGgxIHtcbiAgICArICoge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgKyAqIHtcbiAgICAgIG1hcmdpbi10b3A6IDMzcHg7XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgIH1cbiAgfVxuXG4gIGg0IHtcbiAgICArICoge1xuICAgICAgbWFyZ2luLXRvcDogMi44cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyM3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHAsIGg2IHtcbiAgICArICoge1xuICAgICAgbWFyZ2luLXRvcDogMi4xcmVtO1xuICAgIH1cbiAgfVxuXG4gICYudGljay1saXN0IHVsIHtcbiAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJy4uL2ltYWdlcy90aWNrLnBuZycpO1xuICAgIHBhZGRpbmctbGVmdDogMjFweDtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIH1cblxuICAgIGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMjNweDtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogJ+KAoic7XG5cbiAgICArICoge1xuICAgICAgbWFyZ2luLXRvcDogMi43cmVtO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cblxuICBhOm5vdCguYnV0dG9uKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG4udHdvLWNvbHVtbnMtMiAud3lzaXd5ZyBhOm5vdCguYnV0dG9uKSB7XG4gIGZvbnQtd2VpZ2h0OiB1bnNldDtcbn1cbiIsIiVidXR0b24ge1xuICBAaW5jbHVkZSByZXNldC1kZWZhdWx0LXN0eWxlO1xuICBAaW5jbHVkZSBzZXQtZm9udCgkZnc6NTAwKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICBtaW4taGVpZ2h0OiA2MXB4O1xuICBtaW4td2lkdGg6IDI2OHB4O1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogNjFweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLCAuNik7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLmJ1dHRvbiB7XG4gIEBleHRlbmQgJWJ1dHRvbjtcbn1cblxuQGtleWZyYW1lcyBidG4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgsIC01MCUpO1xuICB9XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBDU1MgaGVscGVyIGNsYXNzZXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIENsZWFyIGlubmVyIGZsb2F0c1xuICovXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRleHQgd2hpbGUgbWFraW5nIGl0IHJlYWRhYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuICogMS4gTmVlZGVkIGluIFdlYktpdC1iYXNlZCBicm93c2VycyBiZWNhdXNlIG9mIGFuIGltcGxlbWVudGF0aW9uIGJ1ZztcbiAqICAgIFNlZTogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTQ1NzE0NlxuICovXG4uaGlkZS10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDsgLyogMSAqL1xuICB0ZXh0LWluZGVudDogMTAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyoqXG4gKiBIaWRlIGVsZW1lbnQgd2hpbGUgbWFraW5nIGl0IHJlYWRhYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuICogU2hhbWVsZXNzbHkgYm9ycm93ZWQgZnJvbSBIVE1MNUJvaWxlcnBsYXRlOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTE5LUwxMzNcbiAqL1xuICV2aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5uby1tYXJnaW4ge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLmhpZGRlbi1wYyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXI7XG5cbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uY29udGFpbmVyLS1mdWxsIHtcbiAgcGFkZGluZzogMDtkaXNwbGF5OiBncmlkO1xufVxuXG4lZ3JpZCB7XG4gIEBpbmNsdWRlIGdyaWQ7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ncmlkIHtcbiAgQGV4dGVuZCAlZ3JpZDtcbn1cblxuLmdyaWRfX2l0ZW0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuJWQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmQtZmxleCB7XG4gIEBleHRlbmQgJWQtZmxleDtcbn1cblxuJWQtZmxleC1jIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiVkLWZsZXgtc2Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbiVkLWZsZXgtYWljIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm5vLXNjcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vd2wtbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xufVxuXG4ub3dsLW5leHQsXG4ub3dsLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcblxuICBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb2xvcjogJGdyZXk7XG5cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgLy8gY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub3dsLXByZXYge1xuICBsZWZ0OiAtMjBweDtcbn1cblxuLm93bC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0yMHB4O1xufVxuXG4lcmVzZXQtZGVmYXVsdC1zdHlsZSxcbi5yZXNldC1kZWZhdWx0LXN0eWxlIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uYy1zZWNvbmRhcnkge1xuICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbn0iLCIubWVudS10b2dnbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3V0bGluZTogMDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIFxuICBAaW5jbHVkZSBicChtZCkge1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIC5pcy13aGl0ZS1oZWFkZXIgJiB7XG4gICAgfVxuICB9XG5cbiAgc3ZnOm50aC1jaGlsZCgxKSB7XG4gICAgLnNob3ctbWVudSAmIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIHN2ZzpudGgtY2hpbGQoMikge1xuICAgIEBpbmNsdWRlIHBvcy1hYnModHJ1ZSwgZmFsc2UpO1xuICAgIFxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAuc2hvdy1tZW51ICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGFtYnVyZ2VyIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksZmlsdGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgLmhhbWJ1cmdlci1ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDFweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgLy9ib3JkZXI6IDFweCBzb2xpZDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgIH1cbiAgfVxufVxuXG4uaGFtYnVyZ2VyLWlubmVyOmFmdGVyLC5oYW1idXJnZXItaW5uZXI6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCJcbn1cblxuLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICB0b3A6IC0xMHB4XG59XG5cbi5oYW1idXJnZXItaW5uZXI6YWZ0ZXIge1xuICBib3R0b206IC0xMHB4XG59XG5cbi5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIsIC5oYW1idXJnZXItaW5uZXI6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNDFweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvcjtcbiAgbGVmdDogMDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gIH1cbn1cbi5oYW1idXJnZXItLXNsaWRlciAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gIHRvcDogMTNweDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSxvcGFjaXR5O1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICB0b3A6IDEwcHg7XG4gIH1cbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIge1xuICB0b3A6IDI2cHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHRvcDogMjBweDtcbiAgfVxufVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTBweCwwKSByb3RhdGUoNDVkZWcpXG59XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC01LjcxNDI5cHgsLTZweCwwKTtcbiAgb3BhY2l0eTogMFxufVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTMxcHgsMCkgcm90YXRlKC05MGRlZyk7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHJvdGF0ZSgtOTBkZWcpO1xuICB9XG59XG5cbi5oYW1idXJnZXIge1xuICBmb250OiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSxmaWx0ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZy1yaWdodDogMDtcblxuICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA0MXB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICAvL2JvcmRlcjogMXB4IHNvbGlkO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgfVxuICB9XG59XG5cbi5oYW1idXJnZXItaW5uZXI6YWZ0ZXIsLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIlxufVxuXG4uaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gIHRvcDogLTEwcHhcbn1cblxuLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gIGJvdHRvbTogLTEwcHhcbn1cblxuLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlci1pbm5lcjphZnRlciwgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgbGVmdDogMDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gIH1cbn1cbi5oYW1idXJnZXItLXNsaWRlciAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gIHRvcDogMTJweDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSxvcGFjaXR5O1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICB0b3A6IDEwcHg7XG4gIH1cbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIge1xuICB0b3A6IDI0cHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHRvcDogMjBweDtcbiAgfVxufVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTJweCwwKSByb3RhdGUoNDVkZWcpXG59XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC01LjcxNDI5cHgsLTZweCwwKTtcbiAgb3BhY2l0eTogMFxufVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTI0cHgsMCkgcm90YXRlKC05MGRlZyk7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHJvdGF0ZSgtOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY3VzdG9tRmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL2hlaWdodDogMjguOHB4O1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCkgc2NhbGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY3VzdG9tRmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAvL2hlaWdodDogMjguOHB4O1xuICB9XG59XG5cbi5zaXRlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAkaGVhZGVyO1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICBAaW5jbHVkZSBicChsZykge1xuICAgIGhlaWdodDogJGhlYWRlci1zbTtcbiAgfVxuXG4gICN3cGFkbWluYmFyIH4gKiAmIHtcbiAgICB0b3A6ICR3cGFkbWluO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpIHtcbiAgICAgIHRvcDogJHdwYWRtaW4tc207XG4gICAgfVxuXG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyX193cmFwcGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuXG4gIEBpbmNsdWRlIGJwKHNtKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICB9XG59XG5cbi5zaXRlLWhlYWRlcl9fZ3JpZCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogJGhlYWRlcjtcblxuICBAaW5jbHVkZSBicChsZykge1xuICAgIGhlaWdodDogJGhlYWRlci1zbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLnNpdGUtYnJhbmRpbmcge1xuICB3aWR0aDogMjk0cHg7XG5cbiAgQGluY2x1ZGUgYnAoeGwpIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgd2lkdGg6IDE3NnB4O1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxODZweCk7XG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgfVxufVxuXG4jbG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGltZyB7XG4gICAgbWF4LWhlaWdodDogNjdweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBoMSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxufVxuXG4uc2l0ZS1oZWFkZXJfX2NvbnRhY3Qge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDAgNjBweCAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG9wYWNpdHk6IDE7XG5cbiAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm1lbnUtYWN0aXZlICYge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBsaSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDU2cHg7XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5pY29uLWVudmVsb3BlIHtcbiAgICB0b3A6IDVweDtcbiAgfVxufVxuXG4uaGVhZGVyLXJpZ2h0IHtcbiAgd2lkdGg6IDI4OHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgd2lkdGg6IDE4NnB4O1xuICB9XG59XG5cbi5nZXQtcXVvdGUtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0NHB4O1xuICBoZWlnaHQ6ICRoZWFkZXI7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDMwcHggMTBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgd2lkdGg6IDkzcHg7XG4gICAgaGVpZ2h0OiAkaGVhZGVyLXNtO1xuICAgIHBhZGRpbmc6IDdweCAhaW1wb3J0YW50O1xuXG4gICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ubWVudS10b2dnbGUtd3JhcCB7XG4gIHdpZHRoOiAxNDRweDtcbiAgaGVpZ2h0OiAkaGVhZGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblxuICBAaW5jbHVkZSBicChsZykge1xuICAgIHdpZHRoOiA5M3B4O1xuICAgIGhlaWdodDogJGhlYWRlci1zbTtcbiAgfVxufVxuXG4jbWVudS10b2dnbGUge1xuICB3aWR0aDogNDFweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogJGhlYWRlcjtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAxMDZweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgdG9wOiAkaGVhZGVyLXNtO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIDYycHgpO1xuICB9XG5cbiAgLm1lbnUtYWN0aXZlICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAjd3BhZG1pbmJhciB+ICogJiB7XG4gICAgdG9wOiAkaGVhZGVyICsgJHdwYWRtaW47XG5cbiAgICBAaW5jbHVkZSBicChsZykge1xuICAgICAgdG9wOiAkaGVhZGVyLXNtICsgJHdwYWRtaW47XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpIHtcbiAgICAgIHRvcDogJGhlYWRlci1zbSArICR3cGFkbWluLXNtO1xuICAgIH1cblxuICB9XG59XG5cbi5uYXYtd3JhcHBlciB7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDQ4cHggLSAxMDZweCk7XG4gIHBhZGRpbmctYm90dG9tOiA0NHB4O1xuICBwYWRkaW5nOiAxMjBweCAxNjBweCA0NHB4IDEyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgbmF2IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIEBpbmNsdWRlIGJwKHNtKSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxuICB9XG5cbiAgI3dwYWRtaW5iYXIgfiAqICYge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQ4cHggLSAxMDZweCAtIDMycHgpO1xuXG4gICAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQ4cHggLSA2MnB4IC0gMzJweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQ4cHggLSA2MnB4IC0gNDZweCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnAoeHhsKSB7XG4gICAgcGFkZGluZzogNDBweCAxMDBweCA0NHB4IDEwMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHggNDRweCA0MHB4O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDExNTBweCkge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5cbiNwcmltYXJ5LW1lbnUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICA+IGxpID4gYSB7XG4gICAgQGluY2x1ZGUgc2V0LWZvbnQoMjQsMzAsNDAwKTtcblxuICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICBtaW4td2lkdGg6IDI3OHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgYnAoc20pIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG4gIH1cblxuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEge1xuICAgIEBpbmNsdWRlIGJwKHNtLCBtaW4pIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuXG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICByaWdodDogOXB4O1xuICAgICAgdG9wOiA0cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiByZXZlcnNlUm90YXRlUGx1cztcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzO1xuXG4gICAgICBAaW5jbHVkZSBicChzbSwgbWluKSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnNob3ctc3VibWVudTo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogcm90YXRlUGx1cyAuM3MgMTtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEzcHg7XG4gICAgXG4gICAgQGluY2x1ZGUgYnAoc20sIG1pbikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuc3ViLW1lbnUge1xuICAgIG1hcmdpbi1ib3R0b206IDM3cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgY29sdW1uczogNDtcbiAgICBjb2x1bW4tZ2FwOiA3MHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICAgIGNvbHVtbnM6IDI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc20pIHtcbiAgICAgIGNvbHVtbnM6IDE7XG4gICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIHNldC10ZXh0KDE2LCAzMCwgNDAwKTtcblxuICAgICAgQGluY2x1ZGUgYnAoc20pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsdXMge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcmV2ZXJzZVJvdGF0ZVBsdXMge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG5cbi5uYXYtYm90dG9tIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDE1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmOjphZnRlcixcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTMycHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAkcHJpbWFyeS1jb2xvcjtcbiAgICB0b3A6IDE2cHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAaW5jbHVkZSBicChsZykge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIC5zb2NpYWxzX19saW5rIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG5cbiAgICArIC5zb2NpYWxzX19saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyM3B4O1xuXG4gICAgICBAaW5jbHVkZSBicChsZykge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc29jaWFscyB7XG4gICAgbWFyZ2luOiAwIDIxcHg7XG4gIH1cblxuXG4gIC5saW5rLWxvZ2luLS1zbSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3JkZXI6IDE7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXG4gICAgLnNvY2lhbHMge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlci1sb2dpbiB7XG4gIHRvcDogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idXR0b24td3JhcHBlci1oZWFkZXIge1xuICBtYXJnaW46IDRyZW0gMCA5cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicChzbSkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLmhlYWRlci1idXR0b24ge1xuICBAaW5jbHVkZSBicChzbSxtaW4pIHtcbiAgICBwYWRkaW5nOiAwIDUzcHg7XG4gIH1cbn0iLCIuZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbn1cblxuLmZvb3Rlcl9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogMzdweCAwIDE4cHg7XG5cbiAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICBwYWRkaW5nOiA0M3B4IDAgNzBweDtcbiAgICB9XG59XG5cbi5mb290ZXJfX2dyaWQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZvb3Rlcl9fbG9nbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTkwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDI0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICB9XG59XG5cbi5mb290ZXJfX2NvbnRlbnQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2NDBweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgICBtYXgtd2lkdGg6IDQ3NHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0IHAge1xuICAgICAgICBAaW5jbHVkZSBzZXQtdGV4dCgxMCwxNCwzMDApO1xuXG4gICAgICAgICsgcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyX19zb2NpYWxzIHtcbiAgICB3aWR0aDogMzIwcHg7XG5cbiAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cbn1cblxuLmZvb3Rlcl9fY29udGFjdCB7XG4gICAgd2lkdGg6IDMyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIHNldC10ZXh0KDIyLDIyLDYwMCx1cHBlcmNhc2UpO1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICB9XG5cbiAgICAuZW1haWwge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgfVxuXG4gICAgLmFkZHJlc3Mge1xuICAgICAgICBAaW5jbHVkZSBzZXQtZm9udCgxNCwxOCk7XG5cbiAgICAgICAgbWFyZ2luLXRvcDogMjFweDtcblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIGF1dG8gMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzE2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb2NpYWxzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5zb2NpYWxzX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIHdpZHRoOiA1NHB4O1xuICAgIGhlaWdodDogNTRweDtcblxuICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgKyAuc29jaWFsc19fbGluayB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzOXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICB9XG59IiwiLy8gc2VjdGlvbi1oZXJvXG4vLyBzZWN0aW9uLXR3by1jb2x1bW5zXG5cblxuXG4uaGVybyB7XG4gICAgQGluY2x1ZGUgYnAobWQsIG1pbikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDk3MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTQuMXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1LjZyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdDtcbiAgICAgICAgXG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBhZGRpbmc6IDdyZW0gNnJlbSA3LjVyZW0gMTAuMnJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOTEpO1xuICAgICAgICBtYXgtd2lkdGg6IDc1LjhyZW07XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgIG1pbi13aWR0aDogNzJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoeGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChsZykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMycHggNnB4IDM3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBwb3MtYWJzKGZhbHNlKTtcblxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDI4MC80MTQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNC44cmVtO1xuICAgICAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICAgICAgYm90dG9tOiA0LjhyZW07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICBhbmltYXRpb246IHNjcm9sbCAuN3MgaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2aWRlbyB7XG4gICAgICAgIEBpbmNsdWRlIHBvcy1hYnM7XG5cbiAgICAgICAgb2JqZWN0LWZpdDogZmlsbDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQGtleWZyYW1lcyBzY3JvbGwge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgfVxufVxuXG4udHdvLWNvbHVtbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDY2cHg7XG5cbiAgICAmLmxlZnQgLndyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cbiAgICAgICAgLnd5c2l3eWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoeGwsIG1pbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmNvbnRlbnQtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0KCRzZWNvbmRhcnktY29sb3IsMXJlbSw2cmVtKTtcblxuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDExMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDM3cHggMCAzMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5yaWdodCAuY29udGVudC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1OHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnd5c2l3eWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWQsIG1pbikge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTc3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtaXRlbS0tZnVsbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC53eXNpd3lnIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlLWl0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1kLCBtaW4pIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzMycHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucmlnaHQgLmltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYnAobWQsIG1pbikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBoMztcblxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMy43cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4udHdvLWNvbHVtbnMtMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc2VjdGlvbl9fd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5O1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJwKHh4bCwgbWF4KSB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDg1JTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDclO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmNvbnRlbnQtc2Nyb2xsIHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0KCRwcmltYXJ5LWNvbG9yLDAsIDApO1xuXG4gICAgICAgIHBhZGRpbmctbGVmdDogNS4ycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzM3B4IDAgNDdweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS13cmFwcGVyOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhdGlvKDk2MCwgNDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS13cmFwcGVyOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuICAgIC5pbWFnZS13cmFwcGVyOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNHB4KTtcblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmF0aW8oNDc2LCA0MTIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIgKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDRweDtcblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjdweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJlbmVmaXRzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNjJweDtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDgwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoeHhsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2LjZyZW07XG4gICAgfVxuXG4gICAgLmJsb2NrIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOm50aC1jaGlsZChuKzQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCA2MHB4O1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSByYXRpbygkY292ZXI6ZmFsc2UpO1xuICAgICAgICBcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNDJweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMy41cmVtO1xuICAgIH1cblxuICAgIC5oNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICB9XG5cbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA0M3B4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnV0dG9uLWdyaWQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5idXR0b24gKyAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnF1b3RlcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogMTM0MnB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAucXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBzZXQtZm9udCgyNiwzMiwzMDApO1xuXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNldC1mb250KDI0LDI5LDMwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2l0ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuXG4uYmFubmVyIHtcbiAgICBoZWlnaHQ6IDQ4NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnAobWQsIG1pbikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIHAsIGEge1xuICAgICAgICBAaW5jbHVkZSBzZXQtdGV4dCgxNCwgMTgpO1xuICAgIH1cblxuICAgIC5sYXN0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi5wYWdlX193cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdCgkc2Vjb25kYXJ5LWNvbG9yLCAwLCAwKTtcblxuICAgIHBhZGRpbmc6IDAgNTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cmVtO1xuXG4gICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5wYWdlX19ncmlkIHtcbiAgICBtYXJnaW46IDAgLTYycHg7XG5cbiAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICBtYXJnaW46IDAgLTIwcHg7XG4gICAgfVxufVxuXG4ucGFnZV9faXRlbSB7XG4gICAgcGFkZGluZzogMCA2MnB4O1xuICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc20pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ucGFnZV9fYmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJHByaW1hcnktY29sb3I7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICA+ICoge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubGluay1pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIHJhdGlvKDQwOSwgMjI1KTtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1pbi13aWR0aDogMTc4cHg7XG4gICAgfVxuXG4gICAgLmJvdHRvbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgfVxufVxuXG4ucGFnZV9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNjb250YWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMEYwO1xuICAgIG1hcmdpbi10b3A6IDQ2cHg7XG5cbiAgICAuc2VjdGlvbl9fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDQ2cHggMCAzNnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDk5cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAyOHB4O1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cbn1cblxuLmdyb3VwZWRmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgKyAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJyYW5nZVwiXSwgaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJtb250aFwiXSwgaW5wdXRbdHlwZT1cIndlZWtcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cImNvbG9yXCJdLCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgc2V0LXRleHQoMTYsMTksMzAwKTtcblxuICAgICAgICBib3JkZXI6IC41cHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWluLWhlaWdodDogNDJweDtcbiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93X2Rvd24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxMHB4KSA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICAgIH1cblxuICAgIC5mb3JtLWdyb3VwLS1kYXRlIHtcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDVweCkgNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBzZXQtdGV4dCgxNiwxOSwzMDApO1xuICAgIH1cblxuICAgIFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuXG4gICAgLndwY2Y3LXJhZGlvIHtcbiAgICAgICAgLndwY2Y3LWxpc3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXQtdGV4dCgxNiwxOSwzMDApO1xuICAgICAgICB9XG5cbiAgICAgICAgW3R5cGU9cmFkaW9dIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAud3BjZjctbGlzdC1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAud3BjZjctbGlzdC1pdGVtIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcmFkaW8ucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtY2hlY2tlZCBsYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3JhZGlvLWNoZWNrZWQucG5nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndwY2Y3IC5hamF4LWxvYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uc2VjdGlvbi1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIG1hcmdpbi10b3A6IDVyZW07XG5cbiAgICAuc2VjdGlvbl9fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDU0cHg7XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uX19ncmlkIHtcbiAgICAgICAgbWFyZ2luOiAwIC02MnB4O1xuICAgIFxuICAgICAgICBAaW5jbHVkZSBicCh4bCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIC0zMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNjJweDtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjhweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKHhsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmg0IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDE5OXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgfVxufVxuXG4ubGluay1sb2dpbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogNDFweDtcbiAgICB3aWR0aDogMjIxcHg7XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMjIxcHg7XG4gICAgICAgIGhlaWdodDogNDFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndyYXAtbG9naW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAubGluay1sb2dpbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDMxcHgpO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgKiB7XG4gICAgICAgIGhlaWdodDogNDFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLmVycm9yLTQwNCB7XG4gICAgcGFkZGluZzogMTUwcHggMCAyMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICB9XG59XG5cbi5mYWNldHdwLWxvYWQtbW9yZSB7XG4gICAgQGV4dGVuZCAlYnV0dG9uO1xufVxuXG4uYnV0dG9uLS1uZXdzIHtcbiAgICBtaW4td2lkdGg6IDI0NnB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1OHB4O1xuICAgIG1hcmdpbi10b3A6IDQuM3JlbTtcblxuICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLnNpbmdsZS1zZXJ2aWNlIC5yYW5rLW1hdGgtYnJlYWRjcnVtYiBhOm50aC1vZi10eXBlKDIpIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuI3dwc2wtZ21hcCxcbiN3cHNsLXdyYXAgLndwc2wtZ21hcC1jYW52YXMge1xuICAgIGhlaWdodDogNDg2cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbn1cblxuI3dwc2wtZ21hcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuI3dwc2wtcmVzdWx0LWxpc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDc2cHg7XG59XG5cbi53cHNsLXNlYXJjaCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC53cHNsLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdCgkc2Vjb25kYXJ5LWNvbG9yLCAwLCAwKTtcblxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUzcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDc4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGgyO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxufVxuXG4jd3BzbC1zZWFyY2gtd3JhcCB7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA1NjRweDtcblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndwc2wtaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAjd3BzbC1zZWFyY2gtaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBoNjtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4O1xuICAgIH1cblxuICAgICN3cHNsLXNlYXJjaC1pbnB1dC53cHNsLWVycm9yIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JkMDAyOCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC53cHNsLXNlYXJjaC1idG4td3JhcCBpbnB1dCxcbiAgICAud3BzbC1zZWFyY2gtYnRuLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICByaWdodDogNHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAud3BzbC1zZWFyY2gtYnRuLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zZWFyY2guc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzNnB4O1xuICAgIH1cblxuICAgIC53cHNsLXNlYXJjaC1idG4td3JhcCBpbnB1dCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLndwc2wtaW5wdXQgbGFiZWwge1xuICAgICAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG4gICAgfVxufVxuXG4uc2VjdGlvbi1sb2NhdG9yIHtcbiAgICAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgNTNweDtcblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN3cHNsLXN0b3JlcyB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICN3cHNsLXN0b3JlcyxcbiAgICAjd3BzbC1yZXN1bHQtbGlzdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgaDY7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIHVsID4gbGkge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSA4NHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEyNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgICAgICBkaXYgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwgPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHVsID4gbGk6bnRoLWNoaWxkKG4rNCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIHVsID4gbGk6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwgPiBsaTpudGgtY2hpbGQobiszKSB7XG4gICAgICAgIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCA+IGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3BzbC1kaXN0YW5jZSB7XG4gICAgICAgIEBpbmNsdWRlIHNldC10ZXh0KDE0LCAxOCwgNTAwKTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC53cHNsLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgICAgICArICo6bm90KC53cHNsLWRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3BzbC13ZWJzaXRlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICoge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cblxufVxuXG4jd3BzbC1yZXN1bHQtbGlzdCBsaSBwLndwc2wtcGhvbmUge21hcmdpbi10b3A6IDIwcHg7fVxuXG4ud3BzbC16aXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1MHB4KSB7XG5cdC5iZW5lZml0cyAuY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblx0LmJhbm5lciB7XG5cdFx0aGVpZ2h0OiAxMDB2dztcblx0fVxufSIsIi5ob21lIHtcbiAgLnNlY3Rpb24uaW50cm8tY29weSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG4gIH1cbn0iLCIucGFnZS10ZW1wbGF0ZS1wYWdlLWJhc2ljIHtcbiAgICAud3BjZjctc3VibWl0IHtcbiAgICAgICAgQGV4dGVuZCAlYnV0dG9uO1xuXG4gICAgICAgIG1pbi13aWR0aDogMTZyZW07XG4gICAgfVxuXG4gICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICB9XG59XG5cbi5zaXRlLW1haW4tLWJhc2ljLXRlbXBsYXRlIHtcbiAgICAudHdvLWNvbHVtbnMgLmNvbnRlbnQtaXRlbS0tZnVsbCB7XG4gICAgICAgIG1heC13aWR0aDogNThyZW07XG4gICAgICAgIHBhZGRpbmc6IDc1cHggMCAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItbG9nbyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLmhlYWRlci1sb2dvICsgKiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1ncm91cC0tZGF0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuXG4gICAgLndwY2Y3LWZvcm0tY29udHJvbC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWU5ZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZzogM3B4IDAgNHB4O1xuICAgIH1cbn1cblxuLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4iXX0= */
