@charset "UTF-8";
/* Our Mixins, no Dependancies */
/**
* String Replace
*/
/**
* String Split
*/
/**
* Font Face: https://gist.github.com/jonathantneal/d0460e5c2d5d7f9bc5e6
*/
/**
* pseudo Element Helper
*/
/**
* Resets Component fontsize, color.
*/
/**
* Single Line truncation
*/
/**
* Produces a group of color classes at various tints, given a hex code
*/
/**
* Generate classes [breakpoint]-[property]-[value]. See Helper Classes for usage
* e.g. .small-pt-2rem
*/
/**
* Computes a CSS calc function that betweens a value from
* A to B over viewport-width A to viewport-width B.
* Requires a media query to cap the value at B.
*/
/**
* Generates multiline ellipsed text
*/
/**
* Removes mouse focus ring on elements
*/
/* Brand Colours as Vars */
/**
 *  Core foundation
 */
@import url("//hello.myfonts.net/count/36bf29");
@import url("//hello.myfonts.net/count/36cdc3");
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Nunito-Sans-Regular.eot?") format("eot"), url("../fonts/Nunito-Sans-Regular.woff2") format("woff2"), url("../fonts/Nunito-Sans-Regular.woff") format("woff"), url("../fonts/Nunito-Sans-Regular.ttf") format("truetype"), url("../fonts/Nunito-Sans-Regular.svg#Nunito_Sans") format("svg"); }

@font-face {
  font-family: "Nunito Sans";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/Nunito-Sans-Italic.eot?") format("eot"), url("../fonts/Nunito-Sans-Italic.woff2") format("woff2"), url("../fonts/Nunito-Sans-Italic.woff") format("woff"), url("../fonts/Nunito-Sans-Italic.ttf") format("truetype"), url("../fonts/Nunito-Sans-Italic.svg#Nunito_Sans") format("svg"); }

@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Nunito-Sans-Bold.eot?") format("eot"), url("../fonts/Nunito-Sans-Bold.woff2") format("woff2"), url("../fonts/Nunito-Sans-Bold.woff") format("woff"), url("../fonts/Nunito-Sans-Bold.ttf") format("truetype"), url("../fonts/Nunito-Sans-Bold.svg#Nunito_Sans") format("svg"); }

@font-face {
  font-family: "Hurme Geometric Sans 4";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/HurmeGeometricSans4-Light.eot?") format("eot"), url("../fonts/HurmeGeometricSans4-Light.woff2") format("woff2"), url("../fonts/HurmeGeometricSans4-Light.woff") format("woff"), url("../fonts/HurmeGeometricSans4-Light.ttf") format("truetype"), url("../fonts/HurmeGeometricSans4-Light.svg#Hurme_Geometric_Sans_4") format("svg"); }

@font-face {
  font-family: "Hurme Geometric Sans 4";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/HurmeGeometricSans4-Regular.eot?") format("eot"), url("../fonts/HurmeGeometricSans4-Regular.woff2") format("woff2"), url("../fonts/HurmeGeometricSans4-Regular.woff") format("woff"), url("../fonts/HurmeGeometricSans4-Regular.ttf") format("truetype"), url("../fonts/HurmeGeometricSans4-Regular.svg#Hurme_Geometric_Sans_4") format("svg"); }

@font-face {
  font-family: "Hurme Geometric Sans 4";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/HurmeGeometricSans4-SemiBold.eot?") format("eot"), url("../fonts/HurmeGeometricSans4-SemiBold.woff2") format("woff2"), url("../fonts/HurmeGeometricSans4-SemiBold.woff") format("woff"), url("../fonts/HurmeGeometricSans4-SemiBold.ttf") format("truetype"), url("../fonts/HurmeGeometricSans4-SemiBold.svg#Hurme_Geometric_Sans_4") format("svg"); }

/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 43.75em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 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.
     */
html {
  font-family: sans-serif;
  /* 1 */
  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-.
     */
figcaption,
figure {
  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 {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

/**
     * 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 */ }

/* Links
       ========================================================================== */
/**
     * 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; }

/* Text-level semantics
       ========================================================================== */
/**
     * 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 */
  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-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
     * Show the overflow in IE.
     */
button {
  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 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  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 */ }

/**
     * 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 {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  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; }

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

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

.foundation-mq {
  font-family: "small=0em&medium=43.75em&large=64em&xlarge=76.875em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: "Nunito Sans", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.75;
  color: #222;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.cell {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }
  .cell.shrink {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

@media print, screen and (min-width: 43.75em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 43.75em) {
  .grid-x > .medium-auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 43.75em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 43.75em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.25rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.25rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.25rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.25rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.25rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.25rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.25rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.25rem); }

@media print, screen and (min-width: 43.75em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 43.75em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 43.75em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 43.75em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 43.75em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 43.75em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem); }

@media print, screen and (min-width: 43.75em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column nowrap;
      flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  @media print, screen and (min-width: 43.75em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 43.75em) {
    .grid-y > .medium-auto {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 43.75em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

@media print, screen and (min-width: 43.75em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 43.75em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 43.75em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 43.75em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem); }
  @media print, screen and (min-width: 43.75em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 43.75em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem); } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: 300;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #ebf0f2; }

h1, .h1 {
  font-size: 2.5rem;
  line-height: 1.125;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 2rem;
  line-height: 1.125;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.75rem;
  line-height: 1.125;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.625rem;
  line-height: 1.125;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 1.5rem;
  line-height: 1.125;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1.25rem;
  line-height: 1.125;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 3.5rem; }
  h2, .h2 {
    font-size: 2.375rem; }
  h3, .h3 {
    font-size: 2rem; }
  h4, .h4 {
    font-size: 1.75rem; }
  h5, .h5 {
    font-size: 1.5rem; }
  h6, .h6 {
    font-size: 1.25rem; } }

a {
  line-height: inherit;
  color: #071d49;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #06193f; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 76.875rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #a4bcc2;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 2px solid #64ccc9; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #071d49; }

cite {
  display: block;
  font-size: 0.875rem;
  color: #222; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #222;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #ebf0f2;
  background-color: #f5f8f9;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #222; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #f5f8f9;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #222; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #768692; }

.lead {
  font-size: 112.5%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

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

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

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

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

@media print, screen and (min-width: 43.75em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #768692;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-family: inherit;
  padding: 0.65em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.125em;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #64ccc9;
  color: #071d49; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #42c1bd;
    color: #071d49; }
  .button.tiny {
    font-size: 0.875em; }
  .button.small {
    font-size: 1em; }
  .button.large {
    font-size: 1.4em; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #64ccc9;
      color: #071d49; }
  .button.hollow {
    border: 1px solid #64ccc9;
    color: #64ccc9; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #267270;
      color: #267270; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #64ccc9;
        color: #64ccc9; }
  .button.clear {
    border: 1px solid #64ccc9;
    color: #64ccc9; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #267270;
      color: #267270; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #64ccc9;
        color: #64ccc9; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #64ccc9; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.8125rem;
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1rem;
  border: 1px solid #fff;
  border-radius: 0;
  background-color: #fff;
  box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  color: #222;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #768692;
    background-color: #fff;
    box-shadow: 0 0 5px #ebf0f2;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: inherit; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: inherit; }

input::placeholder,
textarea::placeholder {
  color: inherit; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #f5f8f9;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1.25rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.625rem;
  margin-right: 1.25rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.625rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.8;
  color: #222; }
  label.middle {
    margin: 0 0 1.25rem;
    padding: 0.6875rem 0; }

.help-text {
  margin-top: -0.625rem;
  font-size: 1em;
  font-style: italic;
  color: #222; }

.input-group {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1.25rem;
  -ms-flex-align: stretch;
      align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #ebf0f2;
  background: #f5f8f9;
  color: #222;
  text-align: center;
  white-space: nowrap;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  -ms-flex-align: center;
      align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: auto;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.625rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 2rem;
  border: 1px solid #ebf0f2; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.8125rem;
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #fff;
  border-radius: 0;
  background-color: #fff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  color: #222;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2834, 34, 34%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1.25rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.875rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #768692;
    background-color: #fff;
    box-shadow: 0 0 5px #ebf0f2;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #f5f8f9;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #faedeb; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.625rem;
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.breadcrumbs {
  margin: 0.5rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.875rem;
    color: currentColor;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.575rem;
      opacity: 1;
      content: " ·";
      color: currentColor; }
  .breadcrumbs a {
    color: currentColor; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #ebf0f2;
    cursor: not-allowed; }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 2px solid currentColor;
  border-radius: 0;
  background-color: white;
  color: #222; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #3b76ec;
    color: #fff; }
  .callout.secondary {
    background-color: #b2e6e4;
    color: #222; }
  .callout.success {
    background-color: #9dedbb;
    color: #222; }
  .callout.warning {
    background-color: #ffd780;
    color: #222; }
  .callout.alert {
    background-color: #e6a59b;
    color: #222; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-positive: 1;
      flex-grow: 1;
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  color: #222; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto;
  display: -ms-flexbox;
  display: flex;
  padding: 2rem;
  background: #f5f8f9; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -ms-flex: 1 0 auto;
      flex: 1 0 auto;
  padding: 2rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #fff;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #d9d9d9; }
  .close-button.small {
    right: 0.625rem;
    top: 1rem;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 0.9375rem;
    top: 1.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-direction: row;
        flex-direction: row; }
  .menu.vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-direction: column;
        flex-direction: column; }
  .menu.expanded li {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }
  .menu.simple {
    -ms-flex-align: center;
        align-items: center; }
    .menu.simple li + li {
      margin-left: 0.7em 0; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 43.75em) {
    .menu.medium-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-direction: row;
          flex-direction: row; }
    .menu.medium-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -ms-flex-direction: column;
          flex-direction: column; }
    .menu.medium-expanded li {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }
    .menu.medium-simple li {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-direction: row;
          flex-direction: row; }
    .menu.large-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -ms-flex-direction: column;
          flex-direction: column; }
    .menu.large-expanded li {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }
    .menu.large-simple li {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -ms-flex-item-align: stretch;
          -ms-grid-row-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -ms-flex-item-align: stretch;
          -ms-grid-row-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #071d49;
    color: #fff; }
  .menu .active > a {
    background: #071d49;
    color: #fff; }
  .menu.align-left {
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .menu.align-right li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center; }
    .menu.align-center li .submenu li {
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  -ms-flex-pack: center;
      justify-content: center; }
  .menu-centered > .menu li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -ms-flex-pack: start;
          justify-content: flex-start; }

.no-js [data-responsive-menu] ul {
  display: none; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.drilldown a {
  padding: 1.3125rem 1.875rem;
  background: #768692; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #768692;
  transition: transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 1.3125rem 1.875rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

@media print, screen and (min-width: 43.75em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 280px;
  border: 1px solid #ebf0f2;
  background: #222; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99), visibility 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  background: rgba(34, 34, 34, 0.8);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #768692; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(34, 34, 34, 0.7); }
  .off-canvas.is-open {
    transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #768692; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(34, 34, 34, 0.7); }
  .off-canvas-absolute.is-open {
    transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 300px;
  transform: translateX(-300px); }
  .off-canvas-content .off-canvas.position-left {
    transform: translateX(-300px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    transform: translateX(300px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(34, 34, 34, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 300px;
  transform: translateX(300px); }
  .off-canvas-content .off-canvas.position-right {
    transform: translateX(300px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    transform: translateX(-300px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(34, 34, 34, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 300px;
  transform: translateY(-300px); }
  .off-canvas-content .off-canvas.position-top {
    transform: translateY(-300px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    transform: translateY(300px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(34, 34, 34, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 300px;
  transform: translateY(300px); }
  .off-canvas-content .off-canvas.position-bottom {
    transform: translateY(300px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    transform: translateY(-300px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(34, 34, 34, 0.25); }

.off-canvas-content {
  transform: none;
  transition: transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    transform: translate(0, 0); }

@media print, screen and (min-width: 43.75em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 300px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 300px; }
  .position-right.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 300px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 300px; }
  .position-top.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 300px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 300px; }
  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 300px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 300px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 300px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 300px; }
  .position-right.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 300px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 300px; }
  .position-top.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 300px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 300px; }
  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 300px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 300px; } }

@media print, screen and (min-width: 43.75em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 43.75em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #222; }
    .pagination a:hover,
    .pagination button:hover {
      background: #f5f8f9; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #071d49;
    color: #fff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #ebf0f2;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #222; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.slider {
  position: relative;
  height: 0.625rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #535f68;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.625rem;
  background-color: #fff;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background-color: #fff;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #d9d9d9; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateX(-50%); }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(34, 34, 34, 0.8);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #ebf0f2;
  border-radius: 0;
  background-color: #fff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 43.75em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 43.75em) {
    .reveal {
      width: 600px;
      max-width: 76.875rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 43.75em) {
    .reveal.tiny {
      width: 30%;
      max-width: 76.875rem; } }
  @media print, screen and (min-width: 43.75em) {
    .reveal.small {
      width: 50%;
      max-width: 76.875rem; } }
  @media print, screen and (min-width: 43.75em) {
    .reveal.large {
      width: 90%;
      max-width: 76.875rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 43.6875em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 43.6875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 43.75em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 43.75em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 43.6875em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 43.75em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 43.6875em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 76.8125em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 76.875em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.align-right {
  -ms-flex-pack: end;
      justify-content: flex-end; }

.align-center {
  -ms-flex-pack: center;
      justify-content: center; }

.align-justify {
  -ms-flex-pack: justify;
      justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-right.vertical.menu > li > a {
  -ms-flex-pack: end;
      justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -ms-flex-pack: center;
      justify-content: center; }

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

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

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

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -ms-flex-align: center;
      align-items: center; }

.align-self-middle {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center; }

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

.align-self-stretch {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch; }

.align-center-middle {
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-line-pack: center;
      align-content: center; }

.small-order-1 {
  -ms-flex-order: 1;
      order: 1; }

.small-order-2 {
  -ms-flex-order: 2;
      order: 2; }

.small-order-3 {
  -ms-flex-order: 3;
      order: 3; }

.small-order-4 {
  -ms-flex-order: 4;
      order: 4; }

.small-order-5 {
  -ms-flex-order: 5;
      order: 5; }

.small-order-6 {
  -ms-flex-order: 6;
      order: 6; }

@media print, screen and (min-width: 43.75em) {
  .medium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .medium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .medium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .medium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .medium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .medium-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .large-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .large-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .large-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .large-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .large-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

.flex-container {
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto; }

.flex-child-grow {
  -ms-flex: 1 0 auto;
      flex: 1 0 auto; }

.flex-child-shrink {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto; }

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

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

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

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

@media print, screen and (min-width: 43.75em) {
  .medium-flex-container {
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -ms-flex: 1 1 auto;
        flex: 1 1 auto; }
  .medium-flex-child-grow {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -ms-flex: 0 1 auto;
        flex: 0 1 auto; }
  .medium-flex-dir-row {
    -ms-flex-direction: row;
        flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -ms-flex-direction: column;
        flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -ms-flex: 1 1 auto;
        flex: 1 1 auto; }
  .large-flex-child-grow {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
  .large-flex-child-shrink {
    -ms-flex: 0 1 auto;
        flex: 0 1 auto; }
  .large-flex-dir-row {
    -ms-flex-direction: row;
        flex-direction: row; }
  .large-flex-dir-row-reverse {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
  .large-flex-dir-column {
    -ms-flex-direction: column;
        flex-direction: column; }
  .large-flex-dir-column-reverse {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; } }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(90deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(90deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  animation-name: shake-7; }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%); } }

.spin-cw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn); }
  100% {
    transform: rotate(0); } }

.spin-ccw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(1turn); } }

.wiggle {
  animation-name: wiggle-7deg; }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  animation-duration: 500ms; }

.infinite {
  animation-iteration-count: infinite; }

.slow {
  animation-duration: 750ms !important; }

.fast {
  animation-duration: 250ms !important; }

.linear {
  animation-timing-function: linear !important; }

.ease {
  animation-timing-function: ease !important; }

.ease-in {
  animation-timing-function: ease-in !important; }

.ease-out {
  animation-timing-function: ease-out !important; }

.ease-in-out {
  animation-timing-function: ease-in-out !important; }

.bounce-in {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  animation-delay: 300ms !important; }

.long-delay {
  animation-delay: 700ms !important; }

/* Vendor */
/* Slider */

.home-banner:nth-child(n+1) {
  display: none;
}

.home-banner:first-child,
.slick-initialized .home-banner { 
  display: block !important;
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../img/ajax-loader.gif") center center no-repeat; }

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: inherit;
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: inherit;
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 4px 0;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }

.hamburger-box {
  width: 32px;
  height: 20.08px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 32px;
    height: 2px;
    background-color: #222;
    border-radius: 0;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -9.04px; }
  .hamburger-inner::after {
    bottom: -9.04px; }

body.compensate-for-scrollbar {
  overflow: hidden; }

.fancybox-active {
  height: auto; }

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden; }

.fancybox-container {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji',
 'Segoe UI Emoji', 'Segoe UI Symbol';
  height: 100%;
  left: 0;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992; }

.fancybox-container * {
  box-sizing: border-box; }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: .87;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity .25s, visibility 0s linear .25s;
  visibility: hidden;
  z-index: 99997; }

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity .25s, visibility 0s;
  visibility: visible; }

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  text-align: center;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-toolbar {
  right: 0;
  top: 0; }

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  -webkit-transform: translate3d(0, 0, 0);
  z-index: 99994; }

.fancybox-is-open .fancybox-stage {
  overflow: hidden; }

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  height: 100%;
  margin-right: -.25em;
  vertical-align: middle;
  width: 0; }

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block; }

.fancybox-slide--next {
  z-index: 99995; }

.fancybox-slide--image {
  overflow: visible;
  padding: 44px 0; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-slide--html {
  padding: 6px 6px 0 6px; }

.fancybox-slide--iframe {
  padding: 44px 44px 0; }

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0 0 6px 0;
  max-width: 100%;
  overflow: auto;
  padding: 0;
  padding: 24px;
  position: relative;
  text-align: left;
  vertical-align: middle; }

.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  margin: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995; }

.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in; }

.fancybox-can-drag .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-dragging .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-container [data-selectable='true'] {
  cursor: text; }

.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%; }

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

.fancybox-slide--html .fancybox-content {
  margin-bottom: 6px; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  margin: 0;
  overflow: visible;
  padding: 0;
  width: 100%; }

.fancybox-slide--video .fancybox-content {
  background: #000; }

.fancybox-slide--map .fancybox-content {
  background: #e5e3df; }

.fancybox-slide--iframe .fancybox-content {
  background: #fff;
  height: calc(100% - 44px);
  margin-bottom: 44px; }

.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%; }

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

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%; }

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0; }

/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  outline: none;
  padding: 10px;
  transition: color .2s;
  vertical-align: top;
  width: 44px; }

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc; }

.fancybox-button:focus,
.fancybox-button:hover {
  color: #fff; }

.fancybox-button.disabled,
.fancybox-button.disabled:hover,
.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default; }

.fancybox-button svg {
  display: block;
  overflow: visible;
  position: relative;
  shape-rendering: geometricPrecision; }

.fancybox-button svg path {
  fill: transparent;
  stroke: currentColor;
  stroke-linejoin: round;
  stroke-width: 3; }

.fancybox-button--play svg path:nth-child(2) {
  display: none; }

.fancybox-button--pause svg path:nth-child(1) {
  display: none; }

.fancybox-button--play svg path,
.fancybox-button--share svg path,
.fancybox-button--thumbs svg path {
  fill: currentColor; }

.fancybox-button--share svg path {
  stroke-width: 1; }

/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  height: 38px;
  opacity: 0;
  padding: 6px;
  position: absolute;
  top: 50%;
  width: 38px; }

.fancybox-show-nav .fancybox-navigation .fancybox-button {
  transition: opacity .25s, visibility 0s, color .25s; }

.fancybox-navigation .fancybox-button::after {
  content: '';
  left: -25px;
  padding: 50px;
  position: absolute;
  top: -25px; }

.fancybox-navigation .fancybox-button--arrow_left {
  left: 6px; }

.fancybox-navigation .fancybox-button--arrow_right {
  right: 6px; }

/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #555;
  cursor: pointer;
  height: 44px;
  margin: 0;
  padding: 6px;
  position: absolute;
  right: 0;
  top: 0;
  width: 44px;
  z-index: 10; }

.fancybox-close-small svg {
  fill: transparent;
  opacity: .8;
  stroke: currentColor;
  stroke-width: 1.5;
  transition: stroke .1s; }

.fancybox-close-small:focus {
  outline: none; }

.fancybox-close-small:hover svg {
  opacity: 1; }

.fancybox-slide--image .fancybox-close-small,
.fancybox-slide--video .fancybox-close-small,
.fancybox-slide--iframe .fancybox-close-small {
  color: #ccc;
  padding: 5px;
  right: -12px;
  top: -44px; }

.fancybox-slide--image .fancybox-close-small:hover svg,
.fancybox-slide--video .fancybox-close-small:hover svg,
.fancybox-slide--iframe .fancybox-close-small:hover svg {
  background: transparent;
  color: #fff; }

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-drag .fancybox-close-small {
  display: none; }

/* Caption */
.fancybox-caption {
  bottom: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 25px 44px 25px 44px;
  right: 0; }

.fancybox-caption::before {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAEtCAQAAABjBcL7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHRJREFUKM+Vk8EOgDAIQ0vj/3+xBw8qIZZueFnIKC90MCAI8DlrkHGeqqGIU6lVigrBtpCWqeRWoHDNqs0F7VNVBVxmHRlvoVqjaYkdnDIaivH2HqZ5+oZj3JUzWB+cOz4G48Bg+tsJ/tqu4dLC/4Xb+0GcF5BwBC0AA53qAAAAAElFTkSuQmCC);
  background-repeat: repeat-x;
  background-size: contain;
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: -25px;
  z-index: -1; }

.fancybox-caption::after {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  content: '';
  display: block;
  left: 44px;
  position: absolute;
  right: 44px;
  top: 0; }

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none; }

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline; }

/* Loading indicator */
.fancybox-loading {
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  border: 6px solid rgba(100, 100, 100, 0.5);
  border-radius: 100%;
  border-top-color: #fff;
  height: 60px;
  left: 50%;
  margin: -30px 0 0 -30px;
  opacity: .6;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 60px;
  z-index: 99999; }

@keyframes fancybox-rotate {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(359deg); } }

/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0); }

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1); }

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  transform: rotate(-360deg); }

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  transform: rotate(360deg); }

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  transform: rotate(0deg); }

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0); }

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1); }

/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center; }

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0; }

.fancybox-share p {
  margin: 0;
  padding: 0; }

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all .2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap; }

.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff; }

.fancybox-share__button:hover {
  text-decoration: none; }

.fancybox-share__button--fb {
  background: #3b5998; }

.fancybox-share__button--fb:hover {
  background: #344e86; }

.fancybox-share__button--pt {
  background: #bd081d; }

.fancybox-share__button--pt:hover {
  background: #aa0719; }

.fancybox-share__button--tw {
  background: #1da1f2; }

.fancybox-share__button--tw:hover {
  background: #0d95e8; }

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px; }

.fancybox-share__button svg path {
  fill: #fff; }

.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%; }

/* Thumbs */
.fancybox-thumbs {
  background: #fff;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  width: 212px;
  z-index: 99995; }

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden; }

.fancybox-show-thumbs .fancybox-thumbs {
  display: block; }

.fancybox-show-thumbs .fancybox-inner {
  right: 212px; }

.fancybox-thumbs > ul {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%; }

.fancybox-thumbs-x > ul {
  overflow: hidden; }

.fancybox-thumbs-y > ul::-webkit-scrollbar {
  width: 7px; }

.fancybox-thumbs-y > ul::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }

.fancybox-thumbs-y > ul::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px; }

.fancybox-thumbs > ul > li {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px; }

.fancybox-thumbs-loading {
  background: rgba(0, 0, 0, 0.1); }

.fancybox-thumbs > ul > li {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

.fancybox-thumbs > ul > li:before {
  border: 4px solid #4ea7f9;
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991; }

.fancybox-thumbs .fancybox-thumbs-active:before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-thumbs {
    width: 110px; }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px; }
  .fancybox-thumbs > ul > li {
    max-width: calc(100% - 10px); } }

/**
 * Helpers and Additional Typography
 */
.blur-up {
  opacity: 1;
  -webkit-filter: blur(5px);
          filter: blur(5px);
  transition: -webkit-filter 400ms;
  transition: filter 400ms;
  transition: filter 400ms, -webkit-filter 400ms; }
  .blur-up.lazyloaded {
    -webkit-filter: blur(0);
            filter: blur(0); }

.pos-rel {
  position: relative; }

.slide-and-fade-in {
  animation-name: custom-1; }

@keyframes custom-1 {
  0% {
    transform: translateX(-2em);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }

.slide-and-fade-out {
  animation-name: custom-3; }

@keyframes custom-3 {
  0% {
    transform: translateX(0);
    opacity: 1; }
  100% {
    transform: translateX(2em);
    opacity: 0; } }

.lift-and-fade-in {
  animation-name: custom-5; }

@keyframes custom-5 {
  0% {
    transform: translateY(1em);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }

.grecaptcha-badge {
  display: none; }

.svg-icon {
  vertical-align: middle;
  max-width: 1em;
  max-height: 1em; }

.small-p-0 {
  padding: 0; }

.small-p-025rem {
  padding: 0.25rem; }

.small-p-05rem {
  padding: 0.5rem; }

.small-p-075rem {
  padding: 0.75rem; }

.small-p-1rem {
  padding: 1rem; }

.small-p-2rem {
  padding: 2rem; }

.small-p-3rem {
  padding: 3rem; }

.small-p-4rem {
  padding: 4rem; }

.small-p-8rem {
  padding: 8rem; }

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

.small-pt-025rem {
  padding-top: 0.25rem; }

.small-pt-05rem {
  padding-top: 0.5rem; }

.small-pt-075rem {
  padding-top: 0.75rem; }

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

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

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

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

.small-pt-8rem {
  padding-top: 8rem; }

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

.small-pb-025rem {
  padding-bottom: 0.25rem; }

.small-pb-05rem {
  padding-bottom: 0.5rem; }

.small-pb-075rem {
  padding-bottom: 0.75rem; }

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

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

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

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

.small-pb-8rem {
  padding-bottom: 8rem; }

.small-m-0 {
  margin: 0; }

.small-m-025rem {
  margin: 0.25rem; }

.small-m-05rem {
  margin: 0.5rem; }

.small-m-075rem {
  margin: 0.75rem; }

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

.small-m-2rem {
  margin: 2rem; }

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

.small-m-4rem {
  margin: 4rem; }

.small-m-8rem {
  margin: 8rem; }

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

.small-mt-025rem {
  margin-top: 0.25rem; }

.small-mt-05rem {
  margin-top: 0.5rem; }

.small-mt-075rem {
  margin-top: 0.75rem; }

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

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

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

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

.small-mt-8rem {
  margin-top: 8rem; }

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

.small-mb-025rem {
  margin-bottom: 0.25rem; }

.small-mb-05rem {
  margin-bottom: 0.5rem; }

.small-mb-075rem {
  margin-bottom: 0.75rem; }

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

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

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

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

.small-mb-8rem {
  margin-bottom: 8rem; }

.small-mr-0 {
  margin-right: 0; }

.small-mr-025rem {
  margin-right: 0.25rem; }

.small-mr-05rem {
  margin-right: 0.5rem; }

.small-mr-075rem {
  margin-right: 0.75rem; }

.small-mr-1rem {
  margin-right: 1rem; }

.small-mr-2rem {
  margin-right: 2rem; }

.small-mr-3rem {
  margin-right: 3rem; }

.small-mr-4rem {
  margin-right: 4rem; }

.small-mr-8rem {
  margin-right: 8rem; }

.small-ml-0 {
  margin-left: 0; }

.small-ml-025rem {
  margin-left: 0.25rem; }

.small-ml-05rem {
  margin-left: 0.5rem; }

.small-ml-075rem {
  margin-left: 0.75rem; }

.small-ml-1rem {
  margin-left: 1rem; }

.small-ml-2rem {
  margin-left: 2rem; }

.small-ml-3rem {
  margin-left: 3rem; }

.small-ml-4rem {
  margin-left: 4rem; }

.small-ml-8rem {
  margin-left: 8rem; }

@media screen and (min-width: 700px) {
  .medium-p-0 {
    padding: 0; }
  .medium-p-025rem {
    padding: 0.25rem; }
  .medium-p-05rem {
    padding: 0.5rem; }
  .medium-p-075rem {
    padding: 0.75rem; }
  .medium-p-1rem {
    padding: 1rem; }
  .medium-p-2rem {
    padding: 2rem; }
  .medium-p-3rem {
    padding: 3rem; }
  .medium-p-4rem {
    padding: 4rem; }
  .medium-p-8rem {
    padding: 8rem; }
  .medium-pt-0 {
    padding-top: 0; }
  .medium-pt-025rem {
    padding-top: 0.25rem; }
  .medium-pt-05rem {
    padding-top: 0.5rem; }
  .medium-pt-075rem {
    padding-top: 0.75rem; }
  .medium-pt-1rem {
    padding-top: 1rem; }
  .medium-pt-2rem {
    padding-top: 2rem; }
  .medium-pt-3rem {
    padding-top: 3rem; }
  .medium-pt-4rem {
    padding-top: 4rem; }
  .medium-pt-8rem {
    padding-top: 8rem; }
  .medium-pb-0 {
    padding-bottom: 0; }
  .medium-pb-025rem {
    padding-bottom: 0.25rem; }
  .medium-pb-05rem {
    padding-bottom: 0.5rem; }
  .medium-pb-075rem {
    padding-bottom: 0.75rem; }
  .medium-pb-1rem {
    padding-bottom: 1rem; }
  .medium-pb-2rem {
    padding-bottom: 2rem; }
  .medium-pb-3rem {
    padding-bottom: 3rem; }
  .medium-pb-4rem {
    padding-bottom: 4rem; }
  .medium-pb-8rem {
    padding-bottom: 8rem; }
  .medium-m-0 {
    margin: 0; }
  .medium-m-025rem {
    margin: 0.25rem; }
  .medium-m-05rem {
    margin: 0.5rem; }
  .medium-m-075rem {
    margin: 0.75rem; }
  .medium-m-1rem {
    margin: 1rem; }
  .medium-m-2rem {
    margin: 2rem; }
  .medium-m-3rem {
    margin: 3rem; }
  .medium-m-4rem {
    margin: 4rem; }
  .medium-m-8rem {
    margin: 8rem; }
  .medium-mt-0 {
    margin-top: 0; }
  .medium-mt-025rem {
    margin-top: 0.25rem; }
  .medium-mt-05rem {
    margin-top: 0.5rem; }
  .medium-mt-075rem {
    margin-top: 0.75rem; }
  .medium-mt-1rem {
    margin-top: 1rem; }
  .medium-mt-2rem {
    margin-top: 2rem; }
  .medium-mt-3rem {
    margin-top: 3rem; }
  .medium-mt-4rem {
    margin-top: 4rem; }
  .medium-mt-8rem {
    margin-top: 8rem; }
  .medium-mb-0 {
    margin-bottom: 0; }
  .medium-mb-025rem {
    margin-bottom: 0.25rem; }
  .medium-mb-05rem {
    margin-bottom: 0.5rem; }
  .medium-mb-075rem {
    margin-bottom: 0.75rem; }
  .medium-mb-1rem {
    margin-bottom: 1rem; }
  .medium-mb-2rem {
    margin-bottom: 2rem; }
  .medium-mb-3rem {
    margin-bottom: 3rem; }
  .medium-mb-4rem {
    margin-bottom: 4rem; }
  .medium-mb-8rem {
    margin-bottom: 8rem; }
  .medium-mr-0 {
    margin-right: 0; }
  .medium-mr-025rem {
    margin-right: 0.25rem; }
  .medium-mr-05rem {
    margin-right: 0.5rem; }
  .medium-mr-075rem {
    margin-right: 0.75rem; }
  .medium-mr-1rem {
    margin-right: 1rem; }
  .medium-mr-2rem {
    margin-right: 2rem; }
  .medium-mr-3rem {
    margin-right: 3rem; }
  .medium-mr-4rem {
    margin-right: 4rem; }
  .medium-mr-8rem {
    margin-right: 8rem; }
  .medium-ml-0 {
    margin-left: 0; }
  .medium-ml-025rem {
    margin-left: 0.25rem; }
  .medium-ml-05rem {
    margin-left: 0.5rem; }
  .medium-ml-075rem {
    margin-left: 0.75rem; }
  .medium-ml-1rem {
    margin-left: 1rem; }
  .medium-ml-2rem {
    margin-left: 2rem; }
  .medium-ml-3rem {
    margin-left: 3rem; }
  .medium-ml-4rem {
    margin-left: 4rem; }
  .medium-ml-8rem {
    margin-left: 8rem; } }

@media screen and (min-width: 1024px) {
  .large-p-0 {
    padding: 0; }
  .large-p-025rem {
    padding: 0.25rem; }
  .large-p-05rem {
    padding: 0.5rem; }
  .large-p-075rem {
    padding: 0.75rem; }
  .large-p-1rem {
    padding: 1rem; }
  .large-p-2rem {
    padding: 2rem; }
  .large-p-3rem {
    padding: 3rem; }
  .large-p-4rem {
    padding: 4rem; }
  .large-p-8rem {
    padding: 8rem; }
  .large-pt-0 {
    padding-top: 0; }
  .large-pt-025rem {
    padding-top: 0.25rem; }
  .large-pt-05rem {
    padding-top: 0.5rem; }
  .large-pt-075rem {
    padding-top: 0.75rem; }
  .large-pt-1rem {
    padding-top: 1rem; }
  .large-pt-2rem {
    padding-top: 2rem; }
  .large-pt-3rem {
    padding-top: 3rem; }
  .large-pt-4rem {
    padding-top: 4rem; }
  .large-pt-8rem {
    padding-top: 8rem; }
  .large-pb-0 {
    padding-bottom: 0; }
  .large-pb-025rem {
    padding-bottom: 0.25rem; }
  .large-pb-05rem {
    padding-bottom: 0.5rem; }
  .large-pb-075rem {
    padding-bottom: 0.75rem; }
  .large-pb-1rem {
    padding-bottom: 1rem; }
  .large-pb-2rem {
    padding-bottom: 2rem; }
  .large-pb-3rem {
    padding-bottom: 3rem; }
  .large-pb-4rem {
    padding-bottom: 4rem; }
  .large-pb-8rem {
    padding-bottom: 8rem; }
  .large-m-0 {
    margin: 0; }
  .large-m-025rem {
    margin: 0.25rem; }
  .large-m-05rem {
    margin: 0.5rem; }
  .large-m-075rem {
    margin: 0.75rem; }
  .large-m-1rem {
    margin: 1rem; }
  .large-m-2rem {
    margin: 2rem; }
  .large-m-3rem {
    margin: 3rem; }
  .large-m-4rem {
    margin: 4rem; }
  .large-m-8rem {
    margin: 8rem; }
  .large-mt-0 {
    margin-top: 0; }
  .large-mt-025rem {
    margin-top: 0.25rem; }
  .large-mt-05rem {
    margin-top: 0.5rem; }
  .large-mt-075rem {
    margin-top: 0.75rem; }
  .large-mt-1rem {
    margin-top: 1rem; }
  .large-mt-2rem {
    margin-top: 2rem; }
  .large-mt-3rem {
    margin-top: 3rem; }
  .large-mt-4rem {
    margin-top: 4rem; }
  .large-mt-8rem {
    margin-top: 8rem; }
  .large-mb-0 {
    margin-bottom: 0; }
  .large-mb-025rem {
    margin-bottom: 0.25rem; }
  .large-mb-05rem {
    margin-bottom: 0.5rem; }
  .large-mb-075rem {
    margin-bottom: 0.75rem; }
  .large-mb-1rem {
    margin-bottom: 1rem; }
  .large-mb-2rem {
    margin-bottom: 2rem; }
  .large-mb-3rem {
    margin-bottom: 3rem; }
  .large-mb-4rem {
    margin-bottom: 4rem; }
  .large-mb-8rem {
    margin-bottom: 8rem; }
  .large-mr-0 {
    margin-right: 0; }
  .large-mr-025rem {
    margin-right: 0.25rem; }
  .large-mr-05rem {
    margin-right: 0.5rem; }
  .large-mr-075rem {
    margin-right: 0.75rem; }
  .large-mr-1rem {
    margin-right: 1rem; }
  .large-mr-2rem {
    margin-right: 2rem; }
  .large-mr-3rem {
    margin-right: 3rem; }
  .large-mr-4rem {
    margin-right: 4rem; }
  .large-mr-8rem {
    margin-right: 8rem; }
  .large-ml-0 {
    margin-left: 0; }
  .large-ml-025rem {
    margin-left: 0.25rem; }
  .large-ml-05rem {
    margin-left: 0.5rem; }
  .large-ml-075rem {
    margin-left: 0.75rem; }
  .large-ml-1rem {
    margin-left: 1rem; }
  .large-ml-2rem {
    margin-left: 2rem; }
  .large-ml-3rem {
    margin-left: 3rem; }
  .large-ml-4rem {
    margin-left: 4rem; }
  .large-ml-8rem {
    margin-left: 8rem; } }

@media screen and (min-width: 1230px) {
  .xlarge-p-0 {
    padding: 0; }
  .xlarge-p-025rem {
    padding: 0.25rem; }
  .xlarge-p-05rem {
    padding: 0.5rem; }
  .xlarge-p-075rem {
    padding: 0.75rem; }
  .xlarge-p-1rem {
    padding: 1rem; }
  .xlarge-p-2rem {
    padding: 2rem; }
  .xlarge-p-3rem {
    padding: 3rem; }
  .xlarge-p-4rem {
    padding: 4rem; }
  .xlarge-p-8rem {
    padding: 8rem; }
  .xlarge-pt-0 {
    padding-top: 0; }
  .xlarge-pt-025rem {
    padding-top: 0.25rem; }
  .xlarge-pt-05rem {
    padding-top: 0.5rem; }
  .xlarge-pt-075rem {
    padding-top: 0.75rem; }
  .xlarge-pt-1rem {
    padding-top: 1rem; }
  .xlarge-pt-2rem {
    padding-top: 2rem; }
  .xlarge-pt-3rem {
    padding-top: 3rem; }
  .xlarge-pt-4rem {
    padding-top: 4rem; }
  .xlarge-pt-8rem {
    padding-top: 8rem; }
  .xlarge-pb-0 {
    padding-bottom: 0; }
  .xlarge-pb-025rem {
    padding-bottom: 0.25rem; }
  .xlarge-pb-05rem {
    padding-bottom: 0.5rem; }
  .xlarge-pb-075rem {
    padding-bottom: 0.75rem; }
  .xlarge-pb-1rem {
    padding-bottom: 1rem; }
  .xlarge-pb-2rem {
    padding-bottom: 2rem; }
  .xlarge-pb-3rem {
    padding-bottom: 3rem; }
  .xlarge-pb-4rem {
    padding-bottom: 4rem; }
  .xlarge-pb-8rem {
    padding-bottom: 8rem; }
  .xlarge-m-0 {
    margin: 0; }
  .xlarge-m-025rem {
    margin: 0.25rem; }
  .xlarge-m-05rem {
    margin: 0.5rem; }
  .xlarge-m-075rem {
    margin: 0.75rem; }
  .xlarge-m-1rem {
    margin: 1rem; }
  .xlarge-m-2rem {
    margin: 2rem; }
  .xlarge-m-3rem {
    margin: 3rem; }
  .xlarge-m-4rem {
    margin: 4rem; }
  .xlarge-m-8rem {
    margin: 8rem; }
  .xlarge-mt-0 {
    margin-top: 0; }
  .xlarge-mt-025rem {
    margin-top: 0.25rem; }
  .xlarge-mt-05rem {
    margin-top: 0.5rem; }
  .xlarge-mt-075rem {
    margin-top: 0.75rem; }
  .xlarge-mt-1rem {
    margin-top: 1rem; }
  .xlarge-mt-2rem {
    margin-top: 2rem; }
  .xlarge-mt-3rem {
    margin-top: 3rem; }
  .xlarge-mt-4rem {
    margin-top: 4rem; }
  .xlarge-mt-8rem {
    margin-top: 8rem; }
  .xlarge-mb-0 {
    margin-bottom: 0; }
  .xlarge-mb-025rem {
    margin-bottom: 0.25rem; }
  .xlarge-mb-05rem {
    margin-bottom: 0.5rem; }
  .xlarge-mb-075rem {
    margin-bottom: 0.75rem; }
  .xlarge-mb-1rem {
    margin-bottom: 1rem; }
  .xlarge-mb-2rem {
    margin-bottom: 2rem; }
  .xlarge-mb-3rem {
    margin-bottom: 3rem; }
  .xlarge-mb-4rem {
    margin-bottom: 4rem; }
  .xlarge-mb-8rem {
    margin-bottom: 8rem; }
  .xlarge-mr-0 {
    margin-right: 0; }
  .xlarge-mr-025rem {
    margin-right: 0.25rem; }
  .xlarge-mr-05rem {
    margin-right: 0.5rem; }
  .xlarge-mr-075rem {
    margin-right: 0.75rem; }
  .xlarge-mr-1rem {
    margin-right: 1rem; }
  .xlarge-mr-2rem {
    margin-right: 2rem; }
  .xlarge-mr-3rem {
    margin-right: 3rem; }
  .xlarge-mr-4rem {
    margin-right: 4rem; }
  .xlarge-mr-8rem {
    margin-right: 8rem; }
  .xlarge-ml-0 {
    margin-left: 0; }
  .xlarge-ml-025rem {
    margin-left: 0.25rem; }
  .xlarge-ml-05rem {
    margin-left: 0.5rem; }
  .xlarge-ml-075rem {
    margin-left: 0.75rem; }
  .xlarge-ml-1rem {
    margin-left: 1rem; }
  .xlarge-ml-2rem {
    margin-left: 2rem; }
  .xlarge-ml-3rem {
    margin-left: 3rem; }
  .xlarge-ml-4rem {
    margin-left: 4rem; }
  .xlarge-ml-8rem {
    margin-left: 8rem; } }

@media screen and (min-width: 1440px) {
  .xxlarge-p-0 {
    padding: 0; }
  .xxlarge-p-025rem {
    padding: 0.25rem; }
  .xxlarge-p-05rem {
    padding: 0.5rem; }
  .xxlarge-p-075rem {
    padding: 0.75rem; }
  .xxlarge-p-1rem {
    padding: 1rem; }
  .xxlarge-p-2rem {
    padding: 2rem; }
  .xxlarge-p-3rem {
    padding: 3rem; }
  .xxlarge-p-4rem {
    padding: 4rem; }
  .xxlarge-p-8rem {
    padding: 8rem; }
  .xxlarge-pt-0 {
    padding-top: 0; }
  .xxlarge-pt-025rem {
    padding-top: 0.25rem; }
  .xxlarge-pt-05rem {
    padding-top: 0.5rem; }
  .xxlarge-pt-075rem {
    padding-top: 0.75rem; }
  .xxlarge-pt-1rem {
    padding-top: 1rem; }
  .xxlarge-pt-2rem {
    padding-top: 2rem; }
  .xxlarge-pt-3rem {
    padding-top: 3rem; }
  .xxlarge-pt-4rem {
    padding-top: 4rem; }
  .xxlarge-pt-8rem {
    padding-top: 8rem; }
  .xxlarge-pb-0 {
    padding-bottom: 0; }
  .xxlarge-pb-025rem {
    padding-bottom: 0.25rem; }
  .xxlarge-pb-05rem {
    padding-bottom: 0.5rem; }
  .xxlarge-pb-075rem {
    padding-bottom: 0.75rem; }
  .xxlarge-pb-1rem {
    padding-bottom: 1rem; }
  .xxlarge-pb-2rem {
    padding-bottom: 2rem; }
  .xxlarge-pb-3rem {
    padding-bottom: 3rem; }
  .xxlarge-pb-4rem {
    padding-bottom: 4rem; }
  .xxlarge-pb-8rem {
    padding-bottom: 8rem; }
  .xxlarge-m-0 {
    margin: 0; }
  .xxlarge-m-025rem {
    margin: 0.25rem; }
  .xxlarge-m-05rem {
    margin: 0.5rem; }
  .xxlarge-m-075rem {
    margin: 0.75rem; }
  .xxlarge-m-1rem {
    margin: 1rem; }
  .xxlarge-m-2rem {
    margin: 2rem; }
  .xxlarge-m-3rem {
    margin: 3rem; }
  .xxlarge-m-4rem {
    margin: 4rem; }
  .xxlarge-m-8rem {
    margin: 8rem; }
  .xxlarge-mt-0 {
    margin-top: 0; }
  .xxlarge-mt-025rem {
    margin-top: 0.25rem; }
  .xxlarge-mt-05rem {
    margin-top: 0.5rem; }
  .xxlarge-mt-075rem {
    margin-top: 0.75rem; }
  .xxlarge-mt-1rem {
    margin-top: 1rem; }
  .xxlarge-mt-2rem {
    margin-top: 2rem; }
  .xxlarge-mt-3rem {
    margin-top: 3rem; }
  .xxlarge-mt-4rem {
    margin-top: 4rem; }
  .xxlarge-mt-8rem {
    margin-top: 8rem; }
  .xxlarge-mb-0 {
    margin-bottom: 0; }
  .xxlarge-mb-025rem {
    margin-bottom: 0.25rem; }
  .xxlarge-mb-05rem {
    margin-bottom: 0.5rem; }
  .xxlarge-mb-075rem {
    margin-bottom: 0.75rem; }
  .xxlarge-mb-1rem {
    margin-bottom: 1rem; }
  .xxlarge-mb-2rem {
    margin-bottom: 2rem; }
  .xxlarge-mb-3rem {
    margin-bottom: 3rem; }
  .xxlarge-mb-4rem {
    margin-bottom: 4rem; }
  .xxlarge-mb-8rem {
    margin-bottom: 8rem; }
  .xxlarge-mr-0 {
    margin-right: 0; }
  .xxlarge-mr-025rem {
    margin-right: 0.25rem; }
  .xxlarge-mr-05rem {
    margin-right: 0.5rem; }
  .xxlarge-mr-075rem {
    margin-right: 0.75rem; }
  .xxlarge-mr-1rem {
    margin-right: 1rem; }
  .xxlarge-mr-2rem {
    margin-right: 2rem; }
  .xxlarge-mr-3rem {
    margin-right: 3rem; }
  .xxlarge-mr-4rem {
    margin-right: 4rem; }
  .xxlarge-mr-8rem {
    margin-right: 8rem; }
  .xxlarge-ml-0 {
    margin-left: 0; }
  .xxlarge-ml-025rem {
    margin-left: 0.25rem; }
  .xxlarge-ml-05rem {
    margin-left: 0.5rem; }
  .xxlarge-ml-075rem {
    margin-left: 0.75rem; }
  .xxlarge-ml-1rem {
    margin-left: 1rem; }
  .xxlarge-ml-2rem {
    margin-left: 2rem; }
  .xxlarge-ml-3rem {
    margin-left: 3rem; }
  .xxlarge-ml-4rem {
    margin-left: 4rem; }
  .xxlarge-ml-8rem {
    margin-left: 8rem; } }

/* Foundaiton forces actual font values */
h1,
.h1,
.jal-search__heading {
  font-size: 2.5rem;
  font-weight: 300;
  color: #071d49;
  /* Foundaiton forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.5em; }

h2,
.h2 {
  font-size: 2rem;
  font-weight: 300;
  color: #071d49;
  /* Foundaiton forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.5em; }

h3,
.h3 {
  font-size: 1.75rem;
  font-weight: 300;
  color: #071d49;
  /* Foundaiton forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.5em; }

h4,
.h4,
.jal-form--contact legend {
  font-size: 1.625rem;
  font-weight: 400;
  color: #071d49;
  /* Foundaiton forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.5em; }

h5,
.h5 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #071d49;
  /* Foundaiton forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.5em; }

h6,
.h6 {
  font-size: 1.25rem;
  font-weight: 500;
  color: #071d49;
  /* Foundaiton forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.5em; }

@media print, screen and (min-width: 64em) {
  h1,
  .h1,
  .jal-search__heading {
    font-size: 3.5rem;
    font-weight: 300;
    color: #071d49;
    /* Foundaiton forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.5em; }
  h2,
  .h2 {
    font-size: 2.375rem;
    font-weight: 300;
    color: #071d49;
    /* Foundaiton forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.5em; }
  h3,
  .h3 {
    font-size: 2rem;
    font-weight: 300;
    color: #071d49;
    /* Foundaiton forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.5em; }
  h4,
  .h4,
  .jal-form--contact legend {
    font-size: 1.75rem;
    font-weight: 400;
    color: #071d49;
    /* Foundaiton forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.5em; }
  h5,
  .h5 {
    font-size: 1.5rem;
    font-weight: 500;
    color: #071d49;
    /* Foundaiton forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.5em; }
  h6,
  .h6 {
    font-size: 1.25rem;
    font-weight: 500;
    color: #071d49;
    /* Foundaiton forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.5em; } }

/* adjacent Headings*/
h3 + h4,
h3 + h5,
h2 + h4,
h3 + h5 {
  margin-top: 0; }

dt {
  color: #071d49; }

legend {
  font-family: "Nunito Sans", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1em; }

blockquote {
  position: relative;
  margin-bottom: 2em;
  padding-left: 4.2em;
  border-left: 0;
  font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
  font-size: 0.875; }
  @media print, screen and (min-width: 43.75em) {
    blockquote {
      font-size: 1.25em;
      padding-left: 5em; } }
  blockquote::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 3.2em;
    height: 3.2em;
    margin: 0.5em 1em 0.5em 0;
    background-image: url('data:image/svg+xml,%3Csvg version="1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"%3E%3Cpath fill="#64ccc9" d="M0 4v24l12-12V4zm20 0v24l12-12V4z"/%3E%3C/svg%3E');
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: center;
    border: 0.125rem solid #64ccc9;
    border-radius: 50%; }
    @media print, screen and (min-width: 43.75em) {
      blockquote::before {
        font-size: 1.25em; } }
  blockquote p:last-child {
    margin-bottom: 0; }

.callout.validation {
  background-color: #e6a59b;
  color: #222; }

.callout.info {
  background-color: #e6a59b;
  color: #222; }

.callout.good {
  background-color: #9dedbb;
  color: #222; }

.callout.bad {
  background-color: #e6a59b;
  color: #222; }

/**
 * Elements
 */
.jal-button {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-family: inherit;
  padding: 0.65em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.125em;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  border: 1px solid #64ccc9;
  color: #64ccc9;
  position: relative;
  border-width: 2px;
  transition: all 0.15s ease-out;
  overflow: hidden;
  font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 500;
  white-space: nowrap;
  color: #071d49;
  min-width: 12.5rem; }
  [data-whatinput='mouse'] .jal-button {
    outline: 0; }
  .jal-button, .jal-button:hover, .jal-button:focus {
    background-color: transparent; }
  .jal-button.disabled, .jal-button.disabled:hover, .jal-button.disabled:focus, .jal-button[disabled], .jal-button[disabled]:hover, .jal-button[disabled]:focus {
    background-color: transparent; }
  .jal-button:hover, .jal-button:focus {
    border-color: #267270;
    color: #267270; }
    .jal-button:hover.disabled, .jal-button:hover[disabled], .jal-button:focus.disabled, .jal-button:focus[disabled] {
      border: 1px solid #64ccc9;
      color: #64ccc9; }
  .jal-button:focus, .jal-button:hover {
    border-color: #8ad9d6;
    background-color: rgba(34, 34, 34, 0.02);
    color: #071d49; }
  .jal-button:active {
    opacity: 0.9;
    transform: scale(0.99) translateY(1px); }
  .jal-button svg {
    display: inline-block;
    vertical-align: bottom;
    width: 1em;
    height: 1em;
    font-size: 1em; }
  .jal-button--white {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    font-family: inherit;
    padding: 0.65em 1em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125em;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    border: 1px solid #64ccc9;
    color: #64ccc9;
    position: relative;
    border-width: 2px;
    transition: all 0.15s ease-out;
    overflow: hidden;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 500;
    white-space: nowrap;
    color: #fff; }
    [data-whatinput='mouse'] .jal-button--white {
      outline: 0; }
    .jal-button--white, .jal-button--white:hover, .jal-button--white:focus {
      background-color: transparent; }
    .jal-button--white.disabled, .jal-button--white.disabled:hover, .jal-button--white.disabled:focus, .jal-button--white[disabled], .jal-button--white[disabled]:hover, .jal-button--white[disabled]:focus {
      background-color: transparent; }
    .jal-button--white:hover, .jal-button--white:focus {
      border-color: #267270;
      color: #267270; }
      .jal-button--white:hover.disabled, .jal-button--white:hover[disabled], .jal-button--white:focus.disabled, .jal-button--white:focus[disabled] {
        border: 1px solid #64ccc9;
        color: #64ccc9; }
    .jal-button--white:focus, .jal-button--white:hover {
      border-color: #3fbebb;
      background-color: rgba(255, 255, 255, 0.02);
      color: #fff; }
    .jal-button--white:active {
      opacity: 0.9;
      transform: scale(0.99) translateY(1px); }
  .jal-button--expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    white-space: normal; }
  .jal-button--expand-for-small-only {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
    @media print, screen and (min-width: 43.75em) {
      .jal-button--expand-for-small-only {
        display: inline-block;
        width: auto;
        margin: 0; } }
  .jal-button--min-width {
    min-width: 16.25rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-button--min-width {
        min-width: 13.75rem; } }
  .jal-button--no-min-width {
    min-width: 0; }
    @media print, screen and (min-width: 43.75em) {
      .jal-button--no-min-width {
        min-width: 0; } }
  .jal-button--large {
    font-size: 1.4em; }
  .jal-button--small {
    font-size: 1em; }

.jal-input {
  position: relative; }
  .jal-input label {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    padding: 0.5em 1em;
    transition: all ease-out 0.25s;
    pointer-events: none; }
    .jal-input label span {
      opacity: 0.5; }
  .jal-input.used label {
    opacity: 0; }

.customFont {
  font-family: "CustomFont", "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif !important; }

section.section {
  padding: 60px 0 40px; }

.container {
  max-width: 1300px;
  margin: 0 auto;
  width: 85%; }

.mb-35 {
  margin-bottom: 35px; }

.mt-50 {
  margin-top: 50px; }

.mr-20 {
  margin-right: 20px; }

.flex-h100 {
  min-height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

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

.right {
  float: right; }

.heading-underline {
  border: 1px solid #64ccc9;
  width: 50%;
  margin-left: 0;
  margin-right: auto; }

.text-sm {
  font-size: 12px; }

.text-md {
  font-size: 18px; }
  @media (min-width: 600px) {
    .text-md {
      font-size: 20px; } }
  @media (min-width: 1000px) {
    .text-md {
      font-size: 24px; } }

.text-lg {
  font-size: 22px; }
  @media (min-width: 600px) {
    .text-lg {
      font-size: 24px; } }
  @media (min-width: 1000px) {
    .text-lg {
      font-size: 28px; } }

.text-xl {
  font-size: 34px; }
  @media (min-width: 1000px) {
    .text-xl {
      font-size: 40px; } }

.text-xxl {
  font-size: 36px;
  line-height: 1.1; }
  @media (min-width: 600px) {
    .text-xxl {
      font-size: 44px;
      line-height: 1; } }

.grey-text {
  color: #9f9f9f !important; }

.p40 {
  padding: 40px; }

.fullscreen {
  height: 100vh;
  width: 100vw; }

.hidden-lg-down {
  display: none; }
  @media (min-width: 1200px) {
    .hidden-lg-down {
      display: block; } }

.hidden-lg-up {
  display: block; }
  @media (min-width: 1200px) {
    .hidden-lg-up {
      display: none; } }

.hidden-md-down {
  display: none; }
  @media (min-width: 768px) {
    .hidden-md-down {
      display: block; } }

.hidden-750-down {
  display: block; }
  @media (min-width: 750px) {
    .hidden-750-down {
      display: none; } }

.hidden-750-up {
  display: none; }
  @media (min-width: 750px) {
    .hidden-750-up {
      display: block; } }

.center-inline {
  min-height: 100vh;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 60px 0 40px;
  height: 700px;
  position: relative; }

.center {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: distribute;
      justify-content: space-around; }

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

.themed-title .Light {
  color: white; }

.themed-title .Dark {
  color: #222; }

.logo {
  max-height: 100px;
  position: absolute;
  top: 50px; }
  .logo img {
    height: 80px; }
  @media (max-width: 480px) {
    .logo {
      position: relative;
      top: 20px; } }

.homepage-banner .home-banner .inner {
  max-height: 890px;
  min-height: 550px; }

.home-banner {
  background: none transparent no-repeat scroll center center / cover;
  width: 100vw; }
  .home-banner .inner {
    height: calc(80vh - 200px); }
    .home-banner .inner.fullsize {
      height: calc(100vh - 200px);
      min-height: 550px; }
    @media (max-width: 600px) {
      .home-banner .inner {
        padding-bottom: 60px; }
        .home-banner .inner.fullsize {
          height: calc(100vh - 100px); } }
    @media (max-width: 480px) {
      .home-banner .inner {
        padding-bottom: 90px; }
        .home-banner .inner.fullsize {
          height: calc(100vh - 100px); } }
    @media (max-width: 360px) {
      .home-banner .inner.fullsize {
        height: calc(100vh); } }
    .home-banner .inner .hero-title {
      max-width: 700px; }
      @media (max-width: 480px) {
        .home-banner .inner .hero-title {
          margin-top: 0px; } }
      .home-banner .inner .hero-title .Light {
        color: white; }
      .home-banner .inner .hero-title .Dark {
        color: #222; }
      .home-banner .inner .hero-title .Primary {
        color: #222; }
      .home-banner .inner .hero-title .Secondary {
        color: white; }

.gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 110px;
  background: linear-gradient(to bottom, rgba(255, 0, 0, 0) 0%, white 100%); }

.z100 {
  z-index: 100; }

.banner-carousel {
  display: block;
  z-index: 10; }
  @media (min-width: 320px) {
    .banner-carousel {
      display: block; } }
  .banner-carousel .slick-dots {
    bottom: 100px;
    z-index: 999; }
    .banner-carousel .slick-dots button {
      background: white;
      border-radius: 50%;
      border: 2px solid white; }
      .banner-carousel .slick-dots button:before {
        color: transparent; }
    .banner-carousel .slick-dots .slick-active button {
      background: transparent; }
      .banner-carousel .slick-dots .slick-active button:before {
        color: transparent; }

.title-wrapper {
  padding: 50px; }
  @media (max-width: 480px) {
    .title-wrapper {
      padding: 15px; }
      .title-wrapper .title-content {
        max-width: 100% !important; } }
  .title-wrapper .title-content {
    margin: 0 auto;
    max-width: 80%; }
  @media (min-width: 699px) {
    .title-wrapper {
      z-index: 999;
      margin-top: -100px;
      position: absolute;
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8) 1%, white 20%); } }

@media (min-width: 699px) {
  .margin-adjustment {
    margin-top: 300px; } }

@media (min-width: 1200px) {
  .margin-adjustment {
    margin-top: 200px; } }

.pathway-wrapper .pathway-cta {
  padding: 20px 0 80px;
  position: relative; }

.pathway-wrapper hr {
  border-bottom: 2px solid #64ccc9; }

.pathway-wrapper .pathway-button {
  background-color: transparent;
  border: 2px solid #64ccc9;
  position: absolute;
  bottom: 20px; }
  .pathway-wrapper .pathway-button:hover {
    background-color: #64ccc9;
    color: white; }

@media (min-width: 1200px) {
  .pathway-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .pathway-wrapper .pathway-cta {
      max-width: 40%; }
      .pathway-wrapper .pathway-cta .pathway-title {
        max-width: 80%; } }

.skewed-bg {
  background-image: linear-gradient(70deg, #768692, #768692 50%, #e6e3db 50%); }

.our-homes {
  margin-top: 50px;
  position: relative; }
  .our-homes img {
    -webkit-filter: brightness(0.7);
            filter: brightness(0.7); }
  .our-homes .our-homes-bar {
    min-width: 100%;
    position: absolute;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding: 20px 40px;
    bottom: 0; }
    .our-homes .our-homes-bar h4 {
      margin: 0 0 20px; }
  @media (min-width: 600px) {
    .our-homes .our-homes-bar {
      background-color: rgba(164, 188, 194, 0.5);
      -ms-flex-direction: row;
          flex-direction: row; }
      .our-homes .our-homes-bar h4 {
        margin: 0; }
    .our-homes img {
      -webkit-filter: brightness(1);
              filter: brightness(1); } }

.homes-panel hr {
  border: 1px solid #64ccc9;
  width: 75%; }

.homes-panel .our-homes-heading {
  text-align: center;
  margin-top: 50px; }

.homes-panel .button {
  background-color: transparent;
  border: 2px solid white;
  color: white;
  min-width: 200px; }
  .homes-panel .button:hover {
    background-color: #a4bcc2; }

.our-homes-developments {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }
  .our-homes-developments .development {
    max-width: 100%;
    min-width: 100%;
    padding: 40px 40px 100px;
    background-color: #d1ccbd;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    position: relative; }
    .our-homes-developments .development img {
      max-width: 85%;
      max-height: 100px; }
    .our-homes-developments .development .button {
      margin-top: 20px;
      position: absolute;
      left: 40px;
      right: 40px;
      bottom: 40px; }
      .our-homes-developments .development .button:hover {
        background-color: transparent;
        opacity: .7; }
  @media (min-width: 768px) {
    .our-homes-developments {
      -ms-flex-direction: row;
          flex-direction: row; }
      .our-homes-developments .development {
        max-width: 50%;
        min-width: 50%; }
      .our-homes-developments.columns-3 .development {
        max-width: 50%;
        min-width: 50%; }
        .our-homes-developments.columns-3 .development:last-child {
          display: none; } }
  @media (min-width: 990px) {
    .our-homes-developments.columns-3 .development {
      max-width: 33%;
      min-width: 33%; }
      .our-homes-developments.columns-3 .development:last-child {
        display: block;
        max-width: 34%;
        min-width: 34%; } }

.quote-wrapper {
  max-width: 1300px;
  width: 85%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  position: relative;
  margin: 0; }
  .quote-wrapper .quote-content {
    max-width: 980px;
    padding-left: 60px; }
  .quote-wrapper img {
    position: absolute;
    width: 60px;
    height: 80px;
    left: -20px;
    top: 0px;
    opacity: 1; }
  @media (max-width: 600px) {
    .quote-wrapper {
      display: block;
      width: 100%; }
      .quote-wrapper .quote-content {
        padding-left: 0px; }
      .quote-wrapper img {
        position: relative;
        top: 0;
        left: 0;
        margin-bottom: 20px; } }

.jal-element-elementbrandstatement section.section {
  padding: 0; }
  .jal-element-elementbrandstatement section.section .center-inline {
    padding: 60px 0; }

    .jal-element-elementbrandstatement section.section {
      height: 100% !important; }

      @media (max-width: 600px) {
        .jal-carousel {
          padding-bottom: 0rem !important;
        }

        .jal-element-elementbrandstatement .button-holder {
          bottom: 13px !important;
      }
      }

.button-holder {
  position: absolute;
  bottom: 50px;
  width: 100vw;
  text-align: center; }
  .button-holder .next-section-button {
    cursor: pointer;
    height: 30px;
    width: 30px;
    border-radius: 50%;
    animation: bounce 3s infinite;
    z-index: 999; }
    .button-holder .next-section-button.white {
      color: white; }
    .button-holder .next-section-button:hover {
      cursor: pointer; }

@keyframes bounce {
  0% {
    transform: translate(0, 0); }
  20% {
    transform: translate(0, -20px); }
  60% {
    transform: translate(0, 20px); }
  80% {
    transform: translate(0, 0); } }

.Light-button, .Dark-button, .Primary-button, .Secondary-button {
  box-shadow: rgba(0, 0, 0, 0.25) 0px 4px 15px;
  margin: 0 auto 0 0; }

.Dark-button, .Light-banner-button {
  background-color: #222;
  color: white; }
  .Dark-button:hover, .Light-banner-button:hover {
    background-color: #222;
    color: white; }

.Light-button, .Dark-banner-button {
  background-color: white;
  color: #222; }
  .Light-button:hover, .Dark-banner-button:hover {
    background-color: white;
    color: #222; }

.bg-Secondary {
  background-color: white; }

.bg-Primary {
  background-color: #071d49; }

.bg-Dark {
  background-color: #768692; }

.bg-Light {
  background-color: #e6e3db; }

.white {
  color: white; }

.white-btn {
  background-color: white; }

.typology-heading {
  font-size: 40px;
  margin-bottom: 40px; }

.typology-wrapper h4 {
  margin: 0; }

.typology-wrapper .typology-copy {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-top: 40px; }

@media (min-width: 768px) {
  .typology-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .typology-wrapper .typology-carousel {
      max-width: 67%; }
    .typology-wrapper .typology-copy {
      max-width: 30%;
      margin-top: 0; } }

.typology-carousel {
  position: relative; }
  .typology-carousel .jal-carousel {
    padding-bottom: 0; }
  .typology-carousel .slick-slide img {
    margin: auto; }
  .typology-carousel .slick-arrow {
    background-color: #222; }
  .typology-carousel .jal-carousel__prev {
    left: -15px;
    width: .55em;
    height: .55em; }
    .typology-carousel .jal-carousel__prev svg {
      font-size: .55em;
      color: white; }
  .typology-carousel .jal-carousel__next {
    right: -15px;
    width: .55em;
    height: .55em; }
    .typology-carousel .jal-carousel__next svg {
      font-size: .55em;
      color: white; }

.location-wrapper .location-copy {
  margin-top: 40px; }

@media (min-width: 768px) {
  .location-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
    .location-wrapper .location-image {
      width: 55%; }
    .location-wrapper .location-copy {
      width: 40%;
      min-height: 100%;
      margin-top: 0; } }

.image-wrapper .bottom.position-Left {
  display: none; }

.image-wrapper .bottom.position-Right {
  display: none; }

@media (min-width: 768px) {
  .image-wrapper .top.position-Left {
    display: block; }
  .image-wrapper .top.position-Right {
    display: none; }
  .image-wrapper .bottom.position-Left {
    display: none; }
  .image-wrapper .bottom.position-Right {
    display: block; } }

.column-holder {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  min-height: 100%;
  height: 100%;
  -ms-flex-direction: column;
      flex-direction: column; }
  .column-holder.align-top {
    -ms-flex-align: start;
        align-items: flex-start; }
  .column-holder .column-half {
    max-width: 100%;
    width: 100%; }
  .column-holder .column-two-thirds {
    margin-top: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .column-holder .column-two-thirds .image-col {
      max-width: calc(50% - 10px); }
  @media (min-width: 750px) {
    .column-holder {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between; }
      .column-holder .column-third {
        max-width: 30%; }
      .column-holder .column-two-thirds {
        max-width: 60%; }
      .column-holder .column-half {
        max-width: calc(50% - 10px);
        width: 100%; } }

@media (max-width: 600px) {
  .jal-element-elementthreecolumns .fullscreen {
    height: auto; }
  .jal-element-elementthreecolumns .column-holder .column-two-thirds {
    -ms-flex-order: 1 !important;
        order: 1 !important;
    display: block; }
    .jal-element-elementthreecolumns .column-holder .column-two-thirds .image-col {
      max-width: 100%;
      margin-bottom: 30px;
      max-height: 200px;
      overflow: hidden; }
      .jal-element-elementthreecolumns .column-holder .column-two-thirds .image-col img {
        margin-top: -30%; }
  .jal-element-elementthreecolumns .column-holder .column-third {
    -ms-flex-order: 2 !important;
        order: 2 !important; } }

.hidden {
  display: none; }

.contact-form #Form_HomesContactForm_Title_Holder label {
  display: none; }

.contact-form .homes-contact-form {
  margin-top: 20px; }
  .contact-form .homes-contact-form .jalcon-form-field .jal-select select {
    color: white;
    background-color: transparent; }
    .contact-form .homes-contact-form .jalcon-form-field .jal-select select option {
      color: #222; }
  .contact-form .homes-contact-form .jalcon-form-field .jal-select #Form_HomesContactForm_Title {
    max-width: 80px; }
  .contact-form .homes-contact-form .jalcon-form-field .jal-input label {
    display: none; }
  .contact-form .homes-contact-form .jalcon-form-field input {
    -ms-flex: 1;
        flex: 1;
    background-color: transparent;
    color: white; }
    @media (max-width: 1200px) {
      .contact-form .homes-contact-form .jalcon-form-field input {
        min-width: 100%; } }
  .contact-form .homes-contact-form .Actions input {
    background-color: transparent;
    border: none;
    padding: 0.65em 1em; }
  .contact-form .homes-contact-form .contact-row-flex .field-Title {
    margin-right: auto; }
  @media (min-width: 1000px) {
    .contact-form .homes-contact-form .contact-row-flex .name-fields {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
      .contact-form .homes-contact-form .contact-row-flex .name-fields .field-Firstname {
        margin-right: 15px;
        width: 50%; }
      .contact-form .homes-contact-form .contact-row-flex .name-fields .field-Lastname {
        width: 50%; } }
  @media (min-width: 1500px) {
    .contact-form .homes-contact-form .contact-row-flex {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-align: end;
          align-items: flex-end;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  .contact-form .homes-contact-form .contact-title {
    min-width: 80px; }
  .contact-form .homes-contact-form .contact-age {
    min-width: 120px; }
  .contact-form .homes-contact-form .contact-input-lead-source {
    -ms-flex: 1;
        flex: 1; }
  @media (max-width: 600px) {
    .contact-form .homes-contact-form input.contact-input[name="firstname"] {
      min-width: auto !important; } }

.contact-form.light-bg {
  padding-bottom: 50px; }
  .contact-form.light-bg .homes-contact-form .jalcon-form-field .jal-select select {
    color: #222;
    border: 1px solid #768692; }
    .contact-form.light-bg .homes-contact-form .jalcon-form-field .jal-select select option {
      color: #222; }
  .contact-form.light-bg .homes-contact-form .jalcon-form-field .jal-select #Form_HomesContactForm_Title {
    max-width: 80px;
    margin-right: 15px; }
  .contact-form.light-bg .homes-contact-form .jalcon-form-field input {
    border: 1px solid #768692;
    color: #222; }
  .contact-form.light-bg .homes-contact-form .jalcon-form-field ::-webkit-input-placeholder {
    color: #768692; }
  .contact-form.light-bg .homes-contact-form .jalcon-form-field :-ms-input-placeholder {
    color: #768692; }
  .contact-form.light-bg .homes-contact-form .jalcon-form-field ::placeholder {
    color: #768692; }
  .contact-form.light-bg .homes-contact-form .Actions {
    float: left; }
    .contact-form.light-bg .homes-contact-form .Actions input {
      border: 2px solid #64ccc9;
      padding: 0.85em 2.5em; }

.form-content .heading-underline {
  width: 25%; }

.select-holder {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }
  .select-holder .select-house-type {
    padding: 10px 40px 10px 20px;
    line-height: 1.1;
    margin-bottom: 20px;
    min-height: 65px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    .select-holder .select-house-type svg {
      margin-right: 20px; }
    .select-holder .select-house-type input {
      margin-left: auto; }
    @media (min-width: 600px) {
      .select-holder .select-house-type {
        width: calc(50% - 10px); } }
    @media (min-width: 750px) {
      .select-holder .select-house-type {
        width: 100%; } }
    @media (min-width: 1250px) {
      .select-holder .select-house-type {
        width: calc(50% - 10px); } }
  @media (min-width: 600px) {
    .select-holder {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media (min-width: 750px) {
    .select-holder {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start; } }
  @media (min-width: 1250px) {
    .select-holder {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between; } }

.form-custom-checkbox .select-house-type {
  padding: 10px 40px 10px 20px;
  line-height: 1.1; }

.form-custom-checkbox .checkbox-holder {
  position: relative;
  margin-bottom: 10px; }
  .form-custom-checkbox .checkbox-holder .checkbox-custom {
    position: absolute;
    right: 10px;
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background-color: white;
    border: 1px solid white; }
    .form-custom-checkbox .checkbox-holder .checkbox-custom:after {
      position: absolute;
      color: white;
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg width='13' height='10' viewBox='0 0 13 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.34035 7.92291L1.52654 5.09905L0.568359 6.05388L4.34035 9.83934L12.4376 1.71313L11.4862 0.758301L4.34035 7.92291Z' fill='white'/%3E%3C/svg%3E");
      background-position: center;
      background-repeat: no-repeat;
      padding-left: 3px;
      line-height: 22px;
      top: -1px;
      left: -1px;
      height: 24px;
      width: 24px;
      border-radius: 50%;
      border: solid #222;
      background-color: #222;
      transform: scale(0);
      opacity: 1; }
  .form-custom-checkbox .checkbox-holder input:checked ~ .checkbox-custom {
    transform: scale(1);
    opacity: 1; }
    .form-custom-checkbox .checkbox-holder input:checked ~ .checkbox-custom:after {
      transform: scale(1); }

.form-custom-checkbox input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  height: 14px;
  width: 14px;
  margin: 0;
  opacity: 0;
  cursor: pointer; }

.form-custom-checkbox label.checkbox {
  margin: 0;
  padding: 0;
  padding-left: 20px;
  width: auto; }

.jal-element-elementcontactform .contact-list-items h2, .jal-element-elementcontactform .contact-list-items h3 {
  font-size: 24px;
  color: white;
  font-family: 'CustomFont',sans-serif; }

.jal-element-elementcontactform .contact-list-items a {
  color: white; }

.jal-element-elementcontactform .contact-list-items ul {
  list-style: none; }
  .jal-element-elementcontactform .contact-list-items ul li {
    position: relative; }
    .jal-element-elementcontactform .contact-list-items ul li:before {
      position: absolute;
      width: 16px;
      height: 16px;
      left: -20px;
      top: 2px;
      content: '';
      background-image: url("data:image/svg+xml,%3Csvg width='13' height='10' viewBox='0 0 13 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.34035 7.92291L1.52654 5.09905L0.568359 6.05388L4.34035 9.83934L12.4376 1.71313L11.4862 0.758301L4.34035 7.92291Z' fill='white'/%3E%3C/svg%3E");
      background-position: center;
      background-repeat: no-repeat; }

.jal-element-elementcontactform input::-webkit-input-placeholder {
  /* Firefox, Chrome, Opera */
  color: rgba(255, 255, 255, 0.5); }

.jal-element-elementcontactform input:-ms-input-placeholder {
  /* Firefox, Chrome, Opera */
  color: rgba(255, 255, 255, 0.5); }

.jal-element-elementcontactform input::placeholder {
  /* Firefox, Chrome, Opera */
  color: rgba(255, 255, 255, 0.5); }

.jal-element-elementcontactform input:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: rgba(255, 255, 255, 0.5); }

.jal-element-elementcontactform input::-ms-input-placeholder {
  /* Microsoft Edge */
  color: rgba(255, 255, 255, 0.5); }

@media (max-width: 600px) {
  .jal-element-elementcontactform.bg-Primary .contact-list-items {
    padding: 0; }
    .jal-element-elementcontactform.bg-Primary .contact-list-items .contact-form .contact-row-flex {
      margin-right: 0 !important; }
    .jal-element-elementcontactform.bg-Primary .contact-list-items .contact-form input.contact-input[name="firstname"] {
      min-width: auto !important;
      margin-right: 0 !important; }
    .jal-element-elementcontactform.bg-Primary .contact-list-items .contact-form input.contact-input[name="lastname"] {
      min-width: 100% !important; } }

.bg-Primary .jal-select select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: white'></polygon></svg>") !important; }

.jal-element-elementourhomes section.section {
  padding: 0; }

.jal-element-elementourhomes .our-homes-image {
  min-height: 250px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media (min-width: 480px) {
    .jal-element-elementourhomes .our-homes-image {
      min-height: 380px; } }

.jal-select label {
  color: currentColor; }

.jal-select select {
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 15 8"%3E%3Cpath fill="%23222" fill-rule="evenodd" d="M8 8L0 0h15z"/%3E%3C/svg%3E');
  background-size: 0.75rem 0.375rem; }

.jal-filter .jal-select label,
.jal-form--contact .jal-select label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.jal-select--white {
  color: #fff; }
  .jal-select--white select {
    margin-bottom: 0;
    border-width: 0.125rem;
    border-color: #64ccc9;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 15 8"%3E%3Cpath fill="%23f5f8f9" fill-rule="evenodd" d="M8 8L0 0h15z"/%3E%3C/svg%3E');
    background-color: transparent;
    color: currentColor; }
    .jal-select--white select:focus {
      background-color: transparent; }
  .jal-select--white option {
    color: #222; }

.jal-textarea {
  position: relative; }
  .jal-textarea label {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    border: 0; }
  .jal-textarea textarea {
    resize: none; }
  .jal-textarea__help-text {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    padding: 0.5em 1em;
    transition: all ease-out 0.25s;
    pointer-events: none; }
    .jal-textarea__help-text em {
      font-size: 0.875em; }
    .jal-textarea__help-text span {
      opacity: 0.5; }
    .used + .jal-textarea__help-text {
      opacity: 0; }

.jal-range-slider {
  margin-bottom: 1.25rem; }
  .jal-range-slider label {
    display: inline-block;
    margin-right: 1em;
    color: currentColor;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 500; }
  .jal-range-slider input {
    height: 1.5em;
    cursor: text; }
    .jal-range-slider input:focus {
      border: 0;
      background: none;
      box-shadow: none; }
  .jal-range-slider__top {
    padding-top: 0.75em;
    padding-bottom: 0.5em; }
  .jal-range-slider__ui {
    position: relative;
    height: 0.625rem;
    margin-top: 1.25rem;
    margin-bottom: 2.25rem;
    background-color: #535f68;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -ms-touch-action: none;
        touch-action: none;
    margin-top: 1em;
    margin-bottom: 0.5em;
    border-radius: 0.5em; }
    [data-whatintent='mouse'] .jal-range-slider__ui,
    [data-whatintent='touch'] .jal-range-slider__ui {
      outline: none; }
  .jal-range-slider__handle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: 1;
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
    -ms-touch-action: manipulation;
        touch-action: manipulation;
    border: 0.3125rem solid #64ccc9;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); }
    [data-whatinput='mouse'] .jal-range-slider__handle {
      outline: 0; }
    .jal-range-slider__handle:hover {
      background-color: #d9d9d9; }
    .jal-range-slider__handle.is-dragging {
      transition: all 0s linear; }
  .jal-range-slider__fill {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    max-width: 100%;
    height: 0.625rem;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
    border-radius: 0.5em; }
    .jal-range-slider__fill.is-dragging {
      transition: all 0s linear; }
  .jal-range-slider__values input {
    display: inline-block;
    width: auto;
    margin-bottom: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: currentColor;
    text-align: center; }

.jal-checkbox {
  margin-bottom: 1.25rem; }
  .jal-checkbox__input {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    border: 0; }
  .jal-checkbox__label {
    position: relative;
    padding-left: 2.5em;
    transition: color 0.25s cubic-bezier(0.4, 0, 0.23, 1);
    color: #071d49; }
    .jal-checkbox__label.jal-checkbox__label {
      margin-left: 0; }
  .jal-checkbox__replacer {
    position: absolute;
    left: 0;
    display: block;
    width: 1.5em;
    height: 1.5em;
    max-height: 1.5em;
    border: 0.125rem solid #fff;
    border-radius: 50%;
    background: #fff;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.23, 1);
    cursor: pointer; }
    :hover > .jal-checkbox__replacer,
    :focus + label .jal-checkbox__replacer {
      background: rgba(100, 204, 201, 0.1); }
    :checked + label .jal-checkbox__replacer {
      border: 0.75em solid #64ccc9;
      animation: shrink-bounce 200ms cubic-bezier(0.4, 0, 0.23, 1); }
      :checked + label .jal-checkbox__replacer:before {
        position: absolute;
        display: block;
        content: "";
        top: -0.0625rem;
        left: -0.25em;
        width: 0.5em;
        height: 1em;
        transform: rotate(45deg);
        transform-origin: 50% 50%;
        border-right: 3px solid transparent;
        border-bottom: 3px solid transparent;
        animation: checkbox-check 125ms 0.25s cubic-bezier(0.4, 0, 0.23, 1) forwards; }

@keyframes shrink-bounce {
  0% {
    transform: scale(1); }
  33% {
    transform: scale(0.85); }
  100% {
    transform: scale(1); } }

@keyframes checkbox-check {
  0% {
    transform: translate3d(0, 0, 0) rotate(45deg) scale(0, 0);
    border-color: #64ccc9; }
  33% {
    transform: translate3d(0, 0, 0) rotate(45deg) scale(0, 0.5); }
  100% {
    transform: translate3d(0, -0.5em, 0) rotate(45deg) scale(1, 1);
    border-color: #071d49; } }

.jal-checkbox-group {
  margin-bottom: 1.25rem; }
  .jal-checkbox-group h6 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    margin-bottom: 0.5em;
    font-size: 1em;
    color: currentColor; }
  .jal-checkbox-group input {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    border: 0; }
  .jal-checkbox-group > label {
    margin-bottom: 0.5em; }
    .jal-form .jal-checkbox-group > label {
      position: absolute !important;
      width: 1px;
      height: 1px;
      padding: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      -webkit-clip-path: inset(50%);
              clip-path: inset(50%);
      border: 0; }
  .jal-checkbox-group__icon, .jal-checkbox-group__heading {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    margin-right: 0;
    margin-left: 0;
    display: inline-block; }
  .jal-checkbox-group__icon {
    display: inline;
    vertical-align: bottom;
    font-size: 3em; }
  .jal-checkbox-group__heading {
    margin-top: 0.625em; }
  .jal-checkbox-group__wrapper {
    margin-bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    margin-bottom: 0;
    font-size: 1em; }
    .jal-checkbox-group__wrapper::before, .jal-checkbox-group__wrapper::after {
      display: table;
      content: ' ';
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
      -ms-flex-order: 1;
          order: 1; }
    .jal-checkbox-group__wrapper::after {
      clear: both; }
    .jal-checkbox-group__wrapper .jal-checkbox-group__label {
      margin: 0;
      margin-right: 20px;
      margin-bottom: 20px;
      font-size: 1.125em;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
      .jal-checkbox-group__wrapper .jal-checkbox-group__label:last-child {
        margin-right: 0; }
  .jal-checkbox-group__label {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    font-family: inherit;
    padding: 0.65em 1em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125em;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    border: 1px solid #64ccc9;
    color: #64ccc9;
    position: relative;
    border-width: 2px;
    transition: all 0.15s ease-out;
    overflow: hidden;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 500;
    white-space: nowrap;
    color: #071d49;
    padding: 0.75em 1.425em;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1em;
    text-transform: none; }
    [data-whatinput='mouse'] .jal-checkbox-group__label {
      outline: 0; }
    .jal-checkbox-group__label, .jal-checkbox-group__label:hover, .jal-checkbox-group__label:focus {
      background-color: transparent; }
    .jal-checkbox-group__label.disabled, .jal-checkbox-group__label.disabled:hover, .jal-checkbox-group__label.disabled:focus, .jal-checkbox-group__label[disabled], .jal-checkbox-group__label[disabled]:hover, .jal-checkbox-group__label[disabled]:focus {
      background-color: transparent; }
    .jal-checkbox-group__label:hover, .jal-checkbox-group__label:focus {
      border-color: #267270;
      color: #267270; }
      .jal-checkbox-group__label:hover.disabled, .jal-checkbox-group__label:hover[disabled], .jal-checkbox-group__label:focus.disabled, .jal-checkbox-group__label:focus[disabled] {
        border: 1px solid #64ccc9;
        color: #64ccc9; }
    .jal-checkbox-group__label:focus, .jal-checkbox-group__label:hover {
      border-color: #8ad9d6;
      background-color: rgba(34, 34, 34, 0.02);
      color: #071d49; }
    .jal-checkbox-group__label:active {
      opacity: 0.9;
      transform: scale(0.99) translateY(1px); }
    .jal-checkbox-group__label:first-of-type {
      min-width: 4em; }
    :focus + .jal-checkbox-group__label {
      opacity: 0.8;
      background-color: rgba(100, 204, 201, 0.5); }
      [data-whatintent='mouse'] :focus + .jal-checkbox-group__label,
      [data-whatintent='touch'] :focus + .jal-checkbox-group__label {
        outline: none; }
    :checked + .jal-checkbox-group__label {
      background-color: #64ccc9;
      color: #fff; }
      :checked + .jal-checkbox-group__label:hover {
        background-color: #8ad9d6; }
    :disabled + .jal-checkbox-group__label {
      opacity: 0.2;
      cursor: not-allowed; }
  .jal-checkbox-group__post-submit-message {
    padding: 2rem;
    color: #fff; }
  .jal-checkbox-group--centered .jal-checkbox-group__wrapper {
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: stretch;
        align-items: stretch; }
  .jal-checkbox-group--white .jal-checkbox-group__label {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    font-family: inherit;
    padding: 0.65em 1em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125em;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    border: 1px solid #64ccc9;
    color: #64ccc9;
    position: relative;
    border-width: 2px;
    transition: all 0.15s ease-out;
    overflow: hidden;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 500;
    white-space: nowrap;
    color: #fff; }
    [data-whatinput='mouse'] .jal-checkbox-group--white .jal-checkbox-group__label {
      outline: 0; }
    .jal-checkbox-group--white .jal-checkbox-group__label, .jal-checkbox-group--white .jal-checkbox-group__label:hover, .jal-checkbox-group--white .jal-checkbox-group__label:focus {
      background-color: transparent; }
    .jal-checkbox-group--white .jal-checkbox-group__label.disabled, .jal-checkbox-group--white .jal-checkbox-group__label.disabled:hover, .jal-checkbox-group--white .jal-checkbox-group__label.disabled:focus, .jal-checkbox-group--white .jal-checkbox-group__label[disabled], .jal-checkbox-group--white .jal-checkbox-group__label[disabled]:hover, .jal-checkbox-group--white .jal-checkbox-group__label[disabled]:focus {
      background-color: transparent; }
    .jal-checkbox-group--white .jal-checkbox-group__label:hover, .jal-checkbox-group--white .jal-checkbox-group__label:focus {
      border-color: #267270;
      color: #267270; }
      .jal-checkbox-group--white .jal-checkbox-group__label:hover.disabled, .jal-checkbox-group--white .jal-checkbox-group__label:hover[disabled], .jal-checkbox-group--white .jal-checkbox-group__label:focus.disabled, .jal-checkbox-group--white .jal-checkbox-group__label:focus[disabled] {
        border: 1px solid #64ccc9;
        color: #64ccc9; }
    .jal-checkbox-group--white .jal-checkbox-group__label:focus, .jal-checkbox-group--white .jal-checkbox-group__label:hover {
      border-color: #3fbebb;
      background-color: rgba(255, 255, 255, 0.02);
      color: #fff; }
    .jal-checkbox-group--white .jal-checkbox-group__label:active {
      opacity: 0.9;
      transform: scale(0.99) translateY(1px); }
  .jal-checkbox-group--white :checked + .jal-checkbox-group__label {
    background-color: #64ccc9;
    color: #fff; }
    .jal-checkbox-group--white :checked + .jal-checkbox-group__label:hover {
      background-color: #8ad9d6; }
  .jal-checkbox-group--condensed .jal-checkbox-group__label {
    -ms-flex: 1 1 0px;
        flex: 1 1 0;
    margin: 0;
    padding: 0.75em 1em; }
    .jal-checkbox-group--condensed .jal-checkbox-group__label ~ .jal-checkbox-group__label {
      border-left: 0; }
  .jal-checkbox-group--spaced .jal-checkbox-group__wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .jal-checkbox-group--spaced .jal-checkbox-group__label {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%; }
    @media screen and (max-width: 43.6875em) {
      .jal-checkbox-group--spaced .jal-checkbox-group__label:last-child {
        margin-bottom: 0; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-checkbox-group--spaced .jal-checkbox-group__label {
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
        margin-bottom: 0; } }

.jal-loading {
  width: 4.375rem;
  height: 2.5rem;
  margin: 0 auto;
  font-size: 0.625rem;
  text-align: center; }
  .jal-loading div {
    display: inline-block;
    width: 0.125rem;
    height: 100%;
    margin: 0 0.25rem;
    background-color: #64ccc9;
    animation-duration: 1.2s;
    animation-iteration-count: infinite;
    animation-name: stretchdelay;
    animation-timing-function: ease-in-out; }
  .jal-loading__rect2 {
    animation-delay: -1.1s; }
  .jal-loading__rect3 {
    animation-delay: -1s; }
  .jal-loading__rect4 {
    animation-delay: -0.9s; }
  .jal-loading__rect5 {
    animation-delay: -0.8s; }

@keyframes stretchdelay {
  0%,
  40%,
  100% {
    transform: scaleY(0.4); }
  20% {
    transform: scaleY(1); } }

.jal-symbol {
  display: block;
  width: 100%;
  pointer-events: none; }
  .jal-symbol use {
    pointer-events: none; }
  .jal-symbol--icon {
    max-width: 1em;
    max-height: 1em; }
  .jal-symbol--inline {
    display: inline-block; }

/**
 *  Components
 */
.jal-carousel {
  position: relative;
  padding-bottom: 2em; }
  .jal-carousel__next, .jal-carousel__prev {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 20;
    width: 1em;
    height: 1em;
    margin: auto 0;
    border-radius: 50%;
    transition: all 0.25s linear;
    font-size: 2.5em;
    color: #64ccc9;
    cursor: pointer; }
    [data-whatintent='mouse'] .jal-carousel__next,
    [data-whatintent='touch'] .jal-carousel__next, [data-whatintent='mouse'] .jal-carousel__prev,
    [data-whatintent='touch'] .jal-carousel__prev {
      outline: none; }
    @media print, screen and (min-width: 43.75em) {
      .jal-carousel__next, .jal-carousel__prev {
        background-color: rgba(255, 255, 255, 0.9);
        font-size: 3em; } }
    @media print, screen and (min-width: 64em) {
      .jal-carousel__next, .jal-carousel__prev {
        font-size: 3.75em; } }
    .jal-carousel__next:hover, .jal-carousel__prev:hover {
      background-color: rgba(255, 255, 255, 0.1); }
      @media print, screen and (min-width: 43.75em) {
        .jal-carousel__next:hover, .jal-carousel__prev:hover {
          background-color: white; } }
    .jal-carousel__next svg, .jal-carousel__prev svg {
      display: block;
      width: 1em;
      height: 1em; }
    .jal-carousel__next.slick-disabled, .jal-carousel__prev.slick-disabled {
      opacity: 0;
      cursor: default; }
  .jal-carousel__next {
    right: 0; }
    @media print, screen and (min-width: 43.75em) {
      .jal-carousel__next {
        right: 0.5em; } }
  .jal-carousel__prev {
    left: 0; }
    @media print, screen and (min-width: 43.75em) {
      .jal-carousel__prev {
        left: 0.5em; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-carousel {
      padding-bottom: 6em; } }
  .jal-carousel svg,
  .jal-carousel use {
    pointer-events: none; }
  .jal-carousel__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 76.875rem;
    margin: 0 auto;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%; }
    @media print, screen and (min-width: 43.75em) {
      .jal-carousel__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .jal-carousel__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .jal-carousel__main {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
    .jal-carousel__main.jal-carousel__main {
      margin-bottom: 0; }
      .jal-carousel__main.jal-carousel__main .slick-dots {
        bottom: 0.5em; }
      .jal-carousel__main.jal-carousel__main li button:before {
        font-size: 2rem; }
      .jal-carousel__main.jal-carousel__main > .jal-carousel__main-item {
        width: 100%; }
        .jal-carousel__main.jal-carousel__main > .jal-carousel__main-item:not(:first-child) {
          display: none; }
  .jal-carousel__main, .jal-carousel__nav {
    transition: opacity 0.25s linear;
    line-height: 0.8; }
  .jal-carousel__nav {
    display: none; }
    @media screen and (min-width: 43.75em) {
      .jal-carousel__nav {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: center;
            align-items: center;
        width: 100%; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-carousel__nav.slick-initialized {
        display: block; } }
    .jal-carousel__nav .slick-list {
      min-width: 100%;
      padding: 0 !important; }
    .jal-carousel__nav .slick-slide {
      text-align: center; }
  .jal-carousel__nav-item {
    position: relative;
    display: none;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-carousel__nav-item {
        width: 25%;
        padding-top: 0.9375rem;
        padding-right: 0.9375rem;
        padding-bottom: 0.9375rem;
        padding-left: 0.9375rem;
        display: block; } }
    .slick-initialized .jal-carousel__nav-item {
      width: 100%;
      padding-top: 0.9375rem;
      padding-right: 0.9375rem;
      padding-bottom: 0.9375rem;
      padding-left: 0.9375rem;
      display: block; }
    .jal-carousel__nav-item:hover {
      border-color: rgba(255, 255, 255, 0.1); }
    .jal-carousel__nav-item:nth-child(4) ~ .jal-carousel__nav-item {
      display: none; }
      @media print, screen and (min-width: 43.75em) {
        .slick-initialized .jal-carousel__nav-item:nth-child(4) ~ .jal-carousel__nav-item {
          display: block; } }
    .jal-carousel__nav-item img {
      border: 0.125rem transparent solid;
      transition: border 0.5s linear; }
      @media print, screen and (min-width: 64em) {
        .jal-carousel__nav-item img {
          border: 0.25rem rgba(255, 255, 255, 0.5) solid; } }
    .slick-current .jal-carousel__nav-item img {
      border-color: #fff; }
  [data-whatintent='mouse'] .jal-carousel .slick-slide,
  [data-whatintent='touch'] .jal-carousel .slick-slide {
    outline: none; }

@media print, screen and (min-width: 64em) {
  .jal-content__wrapper {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; } }

.jal-content__header, .jal-content__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-content__header, .jal-content__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-content__body {
    width: calc(75% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-content__header {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-content__header hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-content__header hr {
      width: 80%; } }

.jal-content__header + .jal-content__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-content__header + .jal-content__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-content__header + .jal-content__body {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      padding-left: calc(8.33333% - 1.875rem); } }

.jal-content__heading {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-content__heading .js-first-word {
      display: block; } }

.jal-content__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-content__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-content__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-content__address {
  margin-bottom: 1em;
  font-size: 1.125em; }

.jal-content__address-text address {
  font-style: normal; }

.jal-content__open-hours {
  font-size: 1.125em; }

.jal-content__directions {
  margin-bottom: 1em; }

.jal-content__body h2,
.jal-content__body h3,
.jal-content__body h4,
.jal-content__body h5,
.jal-content__body h6,
.jal-content__body blockquote {
  margin-top: 1.25em;
  margin-bottom: 1em; }
  .jal-content__body h2:first-child,
  .jal-content__body h3:first-child,
  .jal-content__body h4:first-child,
  .jal-content__body h5:first-child,
  .jal-content__body h6:first-child,
  .jal-content__body blockquote:first-child {
    margin-top: 0; }

.jal-content__body cite {
  margin-top: 1em; }

.jal-content--min-height {
  min-height: 30em; }

.jal-content--optimized-for-reading .jal-content__body {
  max-width: 50em; }

.jal-grid__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-grid__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-grid__items, .jal-grid__item {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid__items, .jal-grid__item {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.jal-grid__hgroup {
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid__hgroup {
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.jal-grid__items-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-content + .jal-grid {
  margin-top: 2em; }

.slick-initialized .jal-grid__item {
  display: block; }

@media print, screen and (min-width: 64em) {
  .jal-grid--4-up .jal-grid__header {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; } }

.jal-grid--4-up .jal-grid__header-top, .jal-grid--4-up .jal-grid__header-body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--4-up .jal-grid__header-top, .jal-grid--4-up .jal-grid__header-body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-grid--4-up .jal-grid__header-body {
    width: calc(75% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-grid--4-up .jal-grid__header-top {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-grid--4-up .jal-grid__header-top hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-grid--4-up .jal-grid__header-top hr {
      width: 80%; } }

.jal-grid--4-up .jal-grid__header-top + .jal-grid__header-body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--4-up .jal-grid__header-top + .jal-grid__header-body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-grid--4-up .jal-grid__header-top + .jal-grid__header-body {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      padding-left: calc(8.33333% - 1.875rem); } }

.jal-grid--4-up .jal-grid__heading {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-grid--4-up .jal-grid__heading .js-first-word {
      display: block; } }

.jal-grid--4-up .jal-grid__wrapper {
  display: block; }

.jal-grid--4-up .jal-grid__header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-grid--4-up .jal-grid__items-wrapper {
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: stretch;
      align-items: stretch;
  margin-top: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--4-up .jal-grid__items-wrapper {
      margin-top: -0.9375rem; } }

.jal-grid--4-up .jal-grid__item {
  width: calc(50% - 1.25rem);
  margin-top: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 0.625rem;
  margin-left: 0.625rem; }
  @media screen and (min-width: 50em) {
    .jal-grid--4-up .jal-grid__item {
      width: calc(33.33333% - 1.25rem);
      margin-top: 0.625rem;
      margin-right: 0.625rem;
      margin-bottom: 0.625rem;
      margin-left: 0.625rem; } }
  @media screen and (min-width: 76.875em) {
    .jal-grid--4-up .jal-grid__item {
      width: calc(25% - 1.875rem);
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-grid--3-up .jal-grid__header {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; } }

.jal-grid--3-up .jal-grid__header-top, .jal-grid--3-up .jal-grid__header-body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--3-up .jal-grid__header-top, .jal-grid--3-up .jal-grid__header-body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-grid--3-up .jal-grid__header-body {
    width: calc(75% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-grid--3-up .jal-grid__header-top {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-grid--3-up .jal-grid__header-top hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-grid--3-up .jal-grid__header-top hr {
      width: 80%; } }

.jal-grid--3-up .jal-grid__header-top + .jal-grid__header-body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--3-up .jal-grid__header-top + .jal-grid__header-body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-grid--3-up .jal-grid__header-top + .jal-grid__header-body {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      padding-left: calc(8.33333% - 1.875rem); } }

.jal-grid--3-up .jal-grid__heading {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-grid--3-up .jal-grid__heading .js-first-word {
      display: block; } }

.jal-grid--3-up .jal-grid__wrapper {
  display: block; }

.jal-grid--3-up .jal-grid__header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-grid--3-up .jal-grid__items-wrapper {
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: stretch;
      align-items: stretch;
  margin-top: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--3-up .jal-grid__items-wrapper {
      margin-top: -0.9375rem; } }

.jal-grid--3-up .jal-grid__item {
  width: calc(50% - 1.25rem);
  margin-top: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--3-up .jal-grid__item {
      width: calc(50% - 1.875rem);
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-grid--3-up .jal-grid__item {
      width: calc(33.33333% - 1.875rem);
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-grid--2-up .jal-grid__wrapper {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; } }

.jal-grid--2-up .jal-grid__header, .jal-grid--2-up .jal-grid__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--2-up .jal-grid__header, .jal-grid--2-up .jal-grid__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-grid--2-up .jal-grid__body {
    width: calc(75% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-grid--2-up .jal-grid__header {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-grid--2-up .jal-grid__header hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-grid--2-up .jal-grid__header hr {
      width: 80%; } }

.jal-grid--2-up .jal-grid__header + .jal-grid__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--2-up .jal-grid__header + .jal-grid__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-grid--2-up .jal-grid__header + .jal-grid__body {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      padding-left: calc(8.33333% - 1.875rem); } }

.jal-grid--2-up .jal-grid__heading {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-grid--2-up .jal-grid__heading .js-first-word {
      display: block; } }

.jal-grid--2-up .jal-grid__wrapper {
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: stretch;
      align-items: stretch; }

.jal-grid--2-up .jal-grid__items-wrapper {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--2-up .jal-grid__items-wrapper {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.jal-grid--2-up .jal-grid__item {
  width: calc(50% - 1.25rem);
  margin-top: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--2-up .jal-grid__item {
      width: calc(50% - 1.875rem);
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; } }

.jal-grid--align-middle .jal-grid__wrapper {
  -ms-flex-align: center;
      align-items: center; }

.jal-grid--carousel-for-small-only .jal-grid__next, .jal-grid--carousel-for-small-only .jal-grid__prev {
  position: absolute;
  top: auto;
  bottom: calc(6.9375rem + (((100vw - 2.5rem) * (0.54054)) / 2));
  z-index: 20;
  width: 1em;
  height: 1em;
  margin: auto 0;
  border-radius: 50%;
  transition: all 0.25s linear;
  font-size: 2.5em;
  color: #64ccc9;
  cursor: pointer; }
  [data-whatintent='mouse'] .jal-grid--carousel-for-small-only .jal-grid__next,
  [data-whatintent='touch'] .jal-grid--carousel-for-small-only .jal-grid__next, [data-whatintent='mouse'] .jal-grid--carousel-for-small-only .jal-grid__prev,
  [data-whatintent='touch'] .jal-grid--carousel-for-small-only .jal-grid__prev {
    outline: none; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--carousel-for-small-only .jal-grid__next, .jal-grid--carousel-for-small-only .jal-grid__prev {
      background-color: rgba(255, 255, 255, 0.9);
      font-size: 3em; } }
  @media print, screen and (min-width: 64em) {
    .jal-grid--carousel-for-small-only .jal-grid__next, .jal-grid--carousel-for-small-only .jal-grid__prev {
      font-size: 3.75em; } }
  .jal-grid--carousel-for-small-only .jal-grid__next:hover, .jal-grid--carousel-for-small-only .jal-grid__prev:hover {
    background-color: rgba(255, 255, 255, 0.1); }
    @media print, screen and (min-width: 43.75em) {
      .jal-grid--carousel-for-small-only .jal-grid__next:hover, .jal-grid--carousel-for-small-only .jal-grid__prev:hover {
        background-color: white; } }
  .jal-grid--carousel-for-small-only .jal-grid__next svg, .jal-grid--carousel-for-small-only .jal-grid__prev svg {
    display: block;
    width: 1em;
    height: 1em; }
  .jal-grid--carousel-for-small-only .jal-grid__next.slick-disabled, .jal-grid--carousel-for-small-only .jal-grid__prev.slick-disabled {
    opacity: 0;
    cursor: default; }

.jal-grid--carousel-for-small-only .jal-grid__next {
  right: 0; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--carousel-for-small-only .jal-grid__next {
      right: 0.5em; } }

.jal-grid--carousel-for-small-only .jal-grid__prev {
  left: 0; }
  @media print, screen and (min-width: 43.75em) {
    .jal-grid--carousel-for-small-only .jal-grid__prev {
      left: 0.5em; } }

@media screen and (max-width: 43.6875em) {
  .jal-grid--carousel-for-small-only .jal-grid__wrapper {
    display: block; } }

@media screen and (max-width: 43.6875em) {
  .jal-grid--carousel-for-small-only .jal-grid__body {
    margin-right: 0.625rem;
    margin-left: 0.625rem; } }
  @media screen and (max-width: 43.6875em) and (min-width: 43.75em) {
    .jal-grid--carousel-for-small-only .jal-grid__body {
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media screen and (max-width: 43.6875em) {
  .jal-grid--carousel-for-small-only .jal-grid__item {
    width: 100%;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    width: calc(100vw - 0); } }

@media screen and (max-width: 43.6875em) {
  .jal-grid--carousel-for-small-only .jal-grid__item + .jal-grid__item {
    display: none; } }

@media screen and (min-width: 25.75em) {
  .jal-grid--carousel-for-small-only .jal-grid__next,
  .jal-grid--carousel-for-small-only .jal-grid__prev {
    bottom: 13.125rem; } }

.jal-grid--carousel-for-small-only .slick-list {
  overflow-y: visible; }

@media screen and (max-width: 43.6875em) {
  .jal-grid--full-width-for-small-only .jal-grid__next, .jal-grid--full-width-for-small-only .jal-grid__prev {
    color: #fff; } }

@media screen and (max-width: 43.6875em) {
  .jal-grid--full-width-for-small-only .jal-grid__wrapper {
    margin-right: -0.625rem;
    margin-left: -0.625rem; } }
  @media screen and (max-width: 43.6875em) and (min-width: 43.75em) {
    .jal-grid--full-width-for-small-only .jal-grid__wrapper {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

@media screen and (max-width: 43.6875em) {
  .jal-grid--full-width-for-small-only .jal-grid__body {
    margin-right: 0;
    margin-left: 0; } }

@media screen and (max-width: 43.6875em) {
  .jal-grid--full-width-for-small-only .jal-grid__item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    max-width: 100vw; } }

@media screen and (max-width: 43.6875em) {
  .jal-grid--1-up-for-small .jal-grid__item {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; } }

.jal-header {
  position: relative;
  z-index: 20;
  text-align: center; }
  .jal-header__nav {
    display: none;
    background-color: #768692; }
    @media print, screen and (min-width: 64em) {
      .jal-header__nav {
        display: block; } }
  .jal-header__container, .jal-header__nav-container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 76.875rem;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-header__container, .jal-header__nav-container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .jal-header__nav-wrapper, .jal-header__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
  .jal-header__wrapper {
    position: relative; }
  .jal-header__logo {
    width: calc(65% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    margin-top: 0.625rem;
    margin-right: 0.625rem;
    margin-bottom: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-header__logo {
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-header__logo {
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
        width: auto;
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        -ms-flex-order: 1;
            order: 1; } }
    @media print, screen and (min-width: 64em) {
      .jal-header__logo {
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
        width: auto;
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .jal-header__logo svg {
      display: block;
      width: 100%;
      max-width: 11.25rem;
      max-height: 3.6875rem;
      margin-right: auto;
      margin-left: 0; }
      @media print, screen and (min-width: 64em) {
        .jal-header__logo svg {
          max-width: 19.5rem;
          max-height: 6.5rem; } }
  .jal-header__ui {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    margin-left: 0.625rem;
    margin-bottom: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-header__ui {
        -ms-flex-order: 2;
            order: 2;
        margin-top: 0.625rem;
        margin-right: 0.625rem;
        margin-bottom: 0.625rem;
        margin-left: 0.625rem;
        text-align: right; } }
  @media print, screen and (min-width: 43.75em) and (min-width: 43.75em) {
    .jal-header__ui {
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; } }
  .jal-header__quicklinks {
    display: none;
    margin-bottom: 0.75em;
    padding-right: 4.5em;
    border-bottom: 1px solid #64ccc9; }
    @media print, screen and (min-width: 64em) {
      .jal-header__quicklinks {
        display: block; } }
  .jal-header__phone-link {
    display: inline-block;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1.125em;
    font-weight: 400; }
    @media print, screen and (min-width: 43.75em) {
      .jal-header__phone-link {
        margin-right: 0.625rem;
        vertical-align: bottom;
        line-height: 3.125rem; } }
  @media print, screen and (min-width: 43.75em) and (min-width: 43.75em) {
    .jal-header__phone-link {
      margin-right: 0.9375rem; } }
    .jal-header__phone-link a {
      font-weight: 500; }
  .jal-header__contact-form-link {
    display: none; }
    @media screen and (min-width: 53.125em) {
      .jal-header__contact-form-link {
        display: inline-block; } }
  .jal-header__search-toggle {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    margin-left: 0.625rem;
    margin-bottom: 0.625rem;
    margin-right: 0.625rem;
    font-size: 1.75em; }
    @media print, screen and (min-width: 43.75em) {
      .jal-header__search-toggle {
        -ms-flex-order: 3;
            order: 3;
        margin-top: 0.625rem;
        margin-right: 0.625rem;
        margin-bottom: 0.625rem;
        margin-left: 0.625rem; } }
  @media print, screen and (min-width: 43.75em) and (min-width: 43.75em) {
    .jal-header__search-toggle {
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .jal-header__search-toggle {
        position: absolute;
        top: 0.2em;
        right: 0; } }
    .jal-header__search-toggle button {
      cursor: pointer; }
      [data-whatintent='mouse'] .jal-header__search-toggle button,
      [data-whatintent='touch'] .jal-header__search-toggle button {
        outline: none; }
    .jal-header__search-toggle svg {
      display: block;
      width: 1em;
      height: 1em;
      overflow: hidden; }
  .jal-header__nav-toggle {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-header__nav-toggle {
        -ms-flex-order: 4;
            order: 4; } }
    @media print, screen and (min-width: 64em) {
      .jal-header__nav-toggle {
        display: none; } }

.jal-search {
  background-color: transparent;
  font-size: 1rem;
  color: #fff;
  max-width: 100vw;
  padding: 0;
  background: rgba(3, 11, 26, 0.95); }
  .jal-search__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 76.875rem;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-search__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .jal-search__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .jal-search__body {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-search__body {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .jal-search.jal-search {
    right: 0;
    bottom: 0;
    height: 100%;
    min-height: 100%; }
  .jal-search h2,
  .jal-search h4 {
    color: currentColor; }
  .jal-search__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column wrap;
        flex-flow: column wrap;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    position: relative; }
  .jal-search__ui {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-search__ui {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
  .jal-search__input, .jal-search__button {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
  .jal-search__input {
    height: 3.4375rem;
    padding-left: 1em;
    font-size: 1.25em; }
    @media print, screen and (min-width: 64em) {
      .jal-search__input {
        width: calc(66.66667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-search__button {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .jal-search__form, .jal-search__useful-links {
    margin-top: 4em; }
  .jal-search__heading {
    margin-bottom: 1em; }

.jal-main-nav {
  background-color: transparent;
  font-size: 1.125rem;
  color: #fff;
  font-weight: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif; }
  .jal-main-nav[href],
  .jal-main-nav a {
    color: currentColor; }
    .jal-main-nav[href]:hover,
    .jal-main-nav a:hover {
      color: currentColor;
      text-decoration: none; }
  .jal-main-nav__child-list, .jal-main-nav__grandchild-list {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-direction: column;
        flex-direction: column; }
    [data-whatinput='mouse'] .jal-main-nav__child-list li, [data-whatinput='mouse'] .jal-main-nav__grandchild-list li {
      outline: 0; }
    .jal-main-nav__child-list a,
    .jal-main-nav__child-list .button, .jal-main-nav__grandchild-list a,
    .jal-main-nav__grandchild-list .button {
      line-height: 1;
      text-decoration: none;
      display: block;
      padding: 0.7rem 1rem; }
    .jal-main-nav__child-list input,
    .jal-main-nav__child-list select,
    .jal-main-nav__child-list a,
    .jal-main-nav__child-list button, .jal-main-nav__grandchild-list input,
    .jal-main-nav__grandchild-list select,
    .jal-main-nav__grandchild-list a,
    .jal-main-nav__grandchild-list button {
      margin-bottom: 0; }
    .jal-main-nav__child-list input, .jal-main-nav__grandchild-list input {
      display: inline-block; }
  .opens-right .jal-main-nav__child-list.js-dropdown-active {
    left: 0; }
  .opens-left .jal-main-nav__child-list.js-dropdown-active {
    right: 0;
    left: auto; }
  .jal-main-nav__link, .jal-main-nav__child-link, .jal-main-nav__grandchild-link,
  .jal-main-nav .js-drilldown-back a {
    position: relative;
    display: block;
    overflow: hidden;
    font-weight: 500; }
    .jal-main-nav__link:before, .jal-main-nav__child-link:before, .jal-main-nav__grandchild-link:before,
    .jal-main-nav .js-drilldown-back a:before {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 0;
      opacity: 0;
      background-image: linear-gradient(rgba(245, 248, 249, 0), rgba(245, 248, 249, 0.1));
      background-repeat: repeat-x;
      transition: opacity 0.3s linear, background-color 0.3s linear; }
    .jal-main-nav__link:focus:before, .jal-main-nav__link:hover:before, .jal-main-nav__child-link:focus:before, .jal-main-nav__child-link:hover:before, .jal-main-nav__grandchild-link:focus:before, .jal-main-nav__grandchild-link:hover:before,
    .jal-main-nav .js-drilldown-back a:focus:before,
    .jal-main-nav .js-drilldown-back a:hover:before {
      opacity: 1; }
    .jal-main-nav__link:active:before, .jal-main-nav__child-link:active:before, .jal-main-nav__grandchild-link:active:before,
    .jal-main-nav .js-drilldown-back a:active:before {
      background-color: rgba(245, 248, 249, 0.8); }
  .jal-main-nav__link {
    background-color: transparent;
    font-size: 1rem;
    color: #fff; }
    .jal-main-nav__link[href],
    .jal-main-nav__link a {
      color: currentColor; }
      .jal-main-nav__link[href]:hover,
      .jal-main-nav__link a:hover {
        color: currentColor;
        text-decoration: none; }
  .jal-main-nav__social, .jal-main-nav__enquiry-button {
    margin: 1rem; }
  .jal-main-nav__close-button button {
    top: 1.25rem; }
  .jal-main-nav .section > a,
  .jal-main-nav .current > a {
    background-color: transparent; }
    .jal-main-nav .section > a > span,
    .jal-main-nav .current > a > span {
      display: inline;
      background-size: 1px 1em;
      box-shadow: inset 0 -0.125em #64ccc9; }
  .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__list {
    border-top: 1px solid #84939d; }
  .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__item,
  .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__child-item,
  .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__grandchild-item {
    font-size: 1.125rem; }
  .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__link,
  .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__child-link,
  .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__grandchild-link {
    padding-left: 1.25rem;
    border-bottom: 1px solid #84939d;
    font-size: 1em;
    color: #fff; }
    .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__link.is-active, .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__link.current,
    .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__child-link.is-active,
    .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__child-link.current,
    .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__grandchild-link.is-active,
    .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__grandchild-link.current {
      color: #fff; }
    .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__link:hover,
    .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__child-link:hover,
    .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__grandchild-link:hover {
      color: #fff; }
  .jal-main-nav--vertical.jal-main-nav--vertical .is-drilldown-submenu-parent > a:after {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    top: 1.25em;
    right: 1em;
    left: auto;
    width: 1em;
    height: 1em;
    transform: rotate(-90deg);
    background-image: url("data:image/svg+xml, %3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 16 16%22%3E%3Cpath d=%22M1 5l7 7 7-7%22 stroke=%22#fff%22 fill=%22none%22 stroke-linecap=%22round%22/%3E%3C/svg%3E"); }
  .jal-main-nav--vertical.jal-main-nav--vertical .js-drilldown-back a:before,
  .jal-main-nav--vertical.jal-main-nav--vertical .jal-main-nav__link:before {
    z-index: 0; }
  .jal-main-nav--vertical.jal-main-nav--vertical .js-drilldown-back a {
    padding-left: 1.25rem;
    background-color: #ebf0f2;
    color: #071d49; }
    .jal-main-nav--vertical.jal-main-nav--vertical .js-drilldown-back a:before {
      position: static;
      display: inline-block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      vertical-align: middle;
      width: 1em;
      height: 1em;
      margin-top: -0.125em;
      margin-right: 0.5em;
      margin-left: -0.125em;
      opacity: 1;
      transform: rotate(90deg);
      background-image: url("data:image/svg+xml, %3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewbox=%220 0 16 16%22%3E%3Cpath d=%22M1 5l7 7 7-7%22 stroke=%22#071d49%22 fill=%22none%22 stroke-linecap=%22round%22/%3E%3C/svg%3E"); }
    .jal-main-nav--vertical.jal-main-nav--vertical .js-drilldown-back a:hover {
      background-color: #f5f8f9;
      color: #071d49; }
  .jal-main-nav--horizontal {
    width: 100%; }
    .jal-main-nav--horizontal > ul {
      padding: 0;
      margin: 0;
      list-style: none;
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      [data-whatinput='mouse'] .jal-main-nav--horizontal > ul li {
        outline: 0; }
      .jal-main-nav--horizontal > ul a,
      .jal-main-nav--horizontal > ul .button {
        line-height: 1;
        text-decoration: none;
        display: block;
        padding: 0.7rem 1rem; }
      .jal-main-nav--horizontal > ul input,
      .jal-main-nav--horizontal > ul select,
      .jal-main-nav--horizontal > ul a,
      .jal-main-nav--horizontal > ul button {
        margin-bottom: 0; }
      .jal-main-nav--horizontal > ul input {
        display: inline-block; }
    .jal-main-nav--horizontal [data-name='About Us'],
    .jal-main-nav--horizontal [data-name='Contact'],
    .jal-main-nav--horizontal [data-name='Login'] {
      display: none; }
    .jal-main-nav--horizontal .jal-main-nav__list {
      margin-left: -0.9375rem; }
    .jal-main-nav--horizontal .jal-main-nav__item {
      position: relative; }
      .jal-main-nav--horizontal .jal-main-nav__item:after {
        position: absolute;
        display: block;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        top: auto;
        bottom: -3px;
        z-index: 4;
        width: 100%;
        height: 3px;
        opacity: 0;
        transform: scale(0, 1) translateX(-4em);
        transform-origin: 100% 0;
        background-color: #64ccc9;
        transition: all 0.7s cubic-bezier(0.11, 0.92, 0.05, 0.99);
        transition-delay: 0.3s; }
      .jal-main-nav--horizontal .jal-main-nav__item.section:after, .jal-main-nav--horizontal .jal-main-nav__item.current:after, .jal-main-nav--horizontal .jal-main-nav__item:hover:after {
        opacity: 1;
        transform: scale(1, 1) translateX(0);
        transition-delay: 0.1s; }
      .jal-main-nav--horizontal .jal-main-nav__item.section span, .jal-main-nav--horizontal .jal-main-nav__item.current span, .jal-main-nav--horizontal .jal-main-nav__item:hover span {
        box-shadow: none; }
      .jal-main-nav--horizontal .jal-main-nav__item:active:after {
        background-color: rgba(235, 240, 242, 0.2); }
    .jal-main-nav--horizontal .jal-main-nav__link {
      padding: 1rem 1.875rem;
      font-size: 1em; }
    .jal-main-nav--horizontal .jal-main-nav__child-list,
    .jal-main-nav--horizontal .jal-main-nav__grandchild-list {
      position: absolute;
      top: 100%;
      z-index: 1;
      display: none;
      border: 0;
      color: currentColor;
      text-align: left; }
      .jal-main-nav--horizontal .jal-main-nav__child-list.js-dropdown-active,
      .jal-main-nav--horizontal .jal-main-nav__grandchild-list.js-dropdown-active {
        display: block; }
    .jal-main-nav--horizontal .jal-main-nav__child-link,
    .jal-main-nav--horizontal .jal-main-nav__grandchild-link {
      display: block;
      padding: 1rem 1.875rem; }
    .jal-main-nav--horizontal .jal-main-nav__child-list {
      border-top: 3px #535f68 solid;
      background-image: linear-gradient(#738390, #7f8e99); }
      @supports ((-webkit-clip-path: polygon(0 0, 100% 1%, 100% 100%, 10% 100%, 0 90%)) or (clip-path: polygon(0 0, 100% 1%, 100% 100%, 10% 100%, 0 90%))) {
        .jal-main-nav--horizontal .jal-main-nav__child-list {
          -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
                  clip-path: polygon(0 0, 100% 0%, 100% 100%, 1rem 100%, 0 calc(100% - 1rem)); } }
    .jal-main-nav--horizontal .jal-main-nav__child-item {
      position: static;
      border-top: 1px solid #84939d; }
    .jal-main-nav--horizontal .jal-main-nav__grandchild-list {
      top: 0;
      background: #ebf0f2;
      color: #071d49; }
      .jal-main-nav--horizontal .jal-main-nav__grandchild-list.js-dropdown-active {
        top: 0; }
    .jal-main-nav--horizontal .jal-main-nav__grandchild-item {
      border-top: 1px solid #f5f8f9; }
    .jal-main-nav--horizontal .jal-main-nav__grandchild-link:before {
      z-index: -1;
      background-color: #f5f8f9; }
    .jal-main-nav--horizontal .jal-main-nav__grandchild-link:active:before {
      background-color: rgba(34, 34, 34, 0.2); }
    .jal-main-nav--horizontal .js-dropdown-active {
      animation-duration: 0.5s;
      animation-name: custom_1;
      animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99); }

.jal-quicklinks {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif; }
  [data-whatinput='mouse'] .jal-quicklinks li {
    outline: 0; }
  .jal-quicklinks a,
  .jal-quicklinks .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .jal-quicklinks input,
  .jal-quicklinks select,
  .jal-quicklinks a,
  .jal-quicklinks button {
    margin-bottom: 0; }
  .jal-quicklinks input {
    display: inline-block; }
  .jal-quicklinks > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .jal-quicklinks > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .jal-quicklinks a {
    padding: 1em 2em; }
  .jal-quicklinks svg {
    vertical-align: middle;
    font-size: 80%; }
  .jal-quicklinks .parent > a > span,
  .jal-quicklinks .active > a > span {
    display: inline;
    background-size: 1px 1em;
    box-shadow: inset 0 -0.125em #64ccc9; }
  .jal-quicklinks__item {
    position: relative;
    margin: 0; }
    .jal-quicklinks__item:after {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      left: auto;
      width: 1px;
      height: 1em;
      margin: auto;
      background-color: #d1ccbd; }
    .jal-quicklinks__item:first-child > a {
      padding-left: 0.5em; }
    .jal-quicklinks__item:before {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      top: auto;
      bottom: -3px;
      z-index: 4;
      width: 100%;
      height: 3px;
      opacity: 0;
      transform: scale(0, 1) translateX(-4em);
      transform-origin: 100% 0;
      background-color: #64ccc9;
      transition: all 0.7s cubic-bezier(0.11, 0.92, 0.05, 0.99);
      transition-delay: 0.3s; }
    .jal-quicklinks__item.active:before, .jal-quicklinks__item:hover:before {
      opacity: 1;
      transform: scale(1, 1) translateX(0);
      transition-delay: 0.1s; }
  .jal-quicklinks__link, .jal-quicklinks__child-link {
    position: relative;
    display: block;
    overflow: hidden; }
    .jal-quicklinks__link:before, .jal-quicklinks__child-link:before {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: -2;
      opacity: 0;
      background-image: linear-gradient(rgba(245, 248, 249, 0), rgba(245, 248, 249, 0.1));
      background-repeat: repeat-x;
      transition: all 0.3s linear; }
    .jal-quicklinks__link:hover:before, .jal-quicklinks__child-link:hover:before {
      opacity: 1; }
  .jal-quicklinks__link-text {
    vertical-align: middle; }
  .jal-quicklinks__child-list {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-direction: column;
        flex-direction: column;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 1;
    display: none;
    border: 0;
    border-top: 3px #535f68 solid;
    background: #ebf0f2;
    color: currentColor;
    text-align: left; }
    [data-whatinput='mouse'] .jal-quicklinks__child-list li {
      outline: 0; }
    .jal-quicklinks__child-list a,
    .jal-quicklinks__child-list .button {
      line-height: 1;
      text-decoration: none;
      display: block;
      padding: 0.7rem 1rem; }
    .jal-quicklinks__child-list input,
    .jal-quicklinks__child-list select,
    .jal-quicklinks__child-list a,
    .jal-quicklinks__child-list button {
      margin-bottom: 0; }
    .jal-quicklinks__child-list input {
      display: inline-block; }
    @supports ((-webkit-clip-path: polygon(0 0, 100% 1%, 100% 100%, 10% 100%, 0 90%)) or (clip-path: polygon(0 0, 100% 1%, 100% 100%, 10% 100%, 0 90%))) {
      .jal-quicklinks__child-list {
        -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
                clip-path: polygon(0 0, 100% 0%, 100% 100%, 1rem 100%, 0 calc(100% - 1rem)); } }
    .jal-quicklinks__child-list.js-dropdown-active {
      display: block; }
  .jal-quicklinks__child-item {
    border-top: 1px solid #f5f8f9; }
  .jal-quicklinks__child-link.jal-quicklinks__child-link {
    display: block;
    padding: 1.3125rem 1.875rem; }
  .jal-quicklinks__child-link:before {
    background-color: #f5f8f9; }
  .jal-quicklinks__child-link:active:before {
    background-color: rgba(34, 34, 34, 0.2); }
  .jal-quicklinks .js-dropdown-active {
    z-index: 5;
    animation-duration: 0.5s;
    animation-name: custom-1;
    animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99); }

.jal-product {
  background-color: #f5f8f9;
  overflow: hidden; }
  .jal-product img {
    width: 100%; }
  .jal-product__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .jal-product__header, .jal-product__content, .jal-product__aside-content {
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .jal-product__header {
    position: relative; }
  .jal-product__hero-image {
    display: none; }
    @media screen and (min-width: 36.25em) {
      .jal-product__hero-image {
        display: block; } }
    @media screen and (min-width: 36.25em) {
      .jal-product__hero-image:after {
        position: absolute;
        display: block;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        top: 50%;
        background-image: linear-gradient(rgba(34, 34, 34, 0), rgba(34, 34, 34, 0.5)); } }
  .jal-product__aside-content {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    margin-right: 0;
    margin-left: 0;
    position: relative; }
    @media screen and (min-width: 36.25em) {
      .jal-product__aside-content {
        -ms-flex-order: 3;
            order: 3;
        width: 50%;
        margin-right: 0;
        margin-left: 0;
        max-width: 23.4375rem;
        font-size: 0.75em; } }
    @media screen and (min-width: 76.875em) {
      .jal-product__aside-content {
        font-size: 0.875em; } }
    @media screen and (min-width: 90em) {
      .jal-product__aside-content {
        max-width: 23.4375rem; } }
  .jal-product__icon-list {
    display: none;
    background-color: #768692; }
    @media screen and (min-width: 36.25em) {
      .jal-product__icon-list {
        display: block; } }
  .jal-product__secondary-image {
    width: 7.875rem; }
    @media screen and (min-width: 26.5625em) {
      .jal-product__secondary-image {
        width: 9.0625rem; } }
    @media screen and (min-width: 36.25em) {
      .jal-product__secondary-image {
        position: absolute;
        top: 4.75em;
        right: 0;
        bottom: 0;
        left: 0;
        width: auto;
        overflow: hidden; } }
    .jal-product__secondary-image img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .jal-product__content {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    width: auto;
    margin-right: 0;
    margin-left: 0;
    min-width: 1px; }
    @media screen and (min-width: 36.25em) {
      .jal-product__content {
        -ms-flex-order: 2;
            order: 2;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
        width: auto;
        margin-right: 0;
        margin-left: 0; } }
  .jal-product__content-inner {
    position: relative;
    padding: 0.5rem; }
    @media screen and (min-width: 26.5625em) {
      .jal-product__content-inner {
        padding: 1rem; } }
    @media screen and (min-width: 36.25em) {
      .jal-product__content-inner {
        padding: 2rem; } }
  .jal-product__price, .jal-product__location {
    margin-bottom: 0;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif; }
    .jal-product__price dt, .jal-product__location dt {
      position: absolute !important;
      width: 1px;
      height: 1px;
      padding: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      -webkit-clip-path: inset(50%);
              clip-path: inset(50%);
      border: 0; }
    .jal-product__price dd, .jal-product__location dd {
      line-height: 1; }
  .jal-product__heading {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 2.7rem;
    margin: 0 auto;
    overflow: hidden;
    font-size: 1.125rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    /* autoprefixer: off */
    -webkit-line-clamp: 2;
    margin-bottom: 0.5em; }
    @media screen and (min-width: 36.25em) {
      .jal-product__heading {
        position: absolute;
        right: 0;
        bottom: 100%;
        left: 0;
        z-index: 5;
        display: block;
        height: auto;
        margin-bottom: 0;
        padding: 1rem 2rem;
        font-size: 2rem;
        color: #fff; } }
  .jal-product__price dd {
    margin-bottom: 0.5em;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 500; }
    @media screen and (min-width: 36.25em) {
      .jal-product__price dd {
        font-size: 2rem;
        font-weight: 300; } }
  .jal-product__location dd {
    margin-bottom: 0.5em;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 500; }
    @media screen and (min-width: 36.25em) {
      .jal-product__location dd {
        font-size: 1.5rem; } }
  .jal-product__description {
    display: none; }
    @media screen and (min-width: 36.25em) {
      .jal-product__description {
        display: block;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        height: 7em;
        margin: 0 auto;
        overflow: hidden;
        font-size: 1em;
        line-height: 1.75;
        text-overflow: ellipsis;
        /* autoprefixer: off */
        -webkit-line-clamp: 4;
        margin-bottom: 2em; } }
  .jal-product__button {
    display: none; }
    @media screen and (min-width: 36.25em) {
      .jal-product__button {
        display: inline-block;
        vertical-align: middle;
        margin: 0;
        font-family: inherit;
        padding: 0.65em 1em;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 0;
        transition: background-color 0.25s ease-out, color 0.25s ease-out;
        font-size: 1.125em;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        border: 1px solid #64ccc9;
        color: #64ccc9;
        position: relative;
        border-width: 2px;
        transition: all 0.15s ease-out;
        overflow: hidden;
        font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
        font-weight: 500;
        white-space: nowrap;
        color: #071d49;
        display: inline-block;
        min-width: 12.5rem; }
        [data-whatinput='mouse'] .jal-product__button {
          outline: 0; }
        .jal-product__button, .jal-product__button:hover, .jal-product__button:focus {
          background-color: transparent; }
        .jal-product__button.disabled, .jal-product__button.disabled:hover, .jal-product__button.disabled:focus, .jal-product__button[disabled], .jal-product__button[disabled]:hover, .jal-product__button[disabled]:focus {
          background-color: transparent; }
        .jal-product__button:hover, .jal-product__button:focus {
          border-color: #267270;
          color: #267270; }
          .jal-product__button:hover.disabled, .jal-product__button:hover[disabled], .jal-product__button:focus.disabled, .jal-product__button:focus[disabled] {
            border: 1px solid #64ccc9;
            color: #64ccc9; }
        .jal-product__button:focus, .jal-product__button:hover {
          border-color: #8ad9d6;
          background-color: rgba(34, 34, 34, 0.02);
          color: #071d49; }
        .jal-product__button:active {
          opacity: 0.9;
          transform: scale(0.99) translateY(1px); } }

.jal-gallery__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-gallery__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-gallery__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-gallery__wall {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-gallery__wall {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.jal-gallery__wall {
  margin-top: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 0.625rem;
  margin-left: 0.625rem;
  width: 100%; }
  @media print, screen and (min-width: 43.75em) {
    .jal-gallery__wall {
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; } }
  @supports (display: grid) {
    .jal-gallery__wall {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr;
          grid-template-columns: 1fr;
      grid-auto-rows: 30%;
      grid-gap: 1em; }
      @media screen and (min-width: 40em) {
        .jal-gallery__wall {
          -ms-grid-columns: 1fr 1fr;
              grid-template-columns: 1fr 1fr; } }
      @media print, screen and (min-width: 64em) {
        .jal-gallery__wall {
          grid-gap: 2em; } }
      @media screen and (min-width: 76.875em) {
        .jal-gallery__wall {
          -ms-grid-columns: 1fr 1fr 1fr;
              grid-template-columns: 1fr 1fr 1fr; } } }

.jal-image img {
  width: 100%; }

.jal-image__zoom {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 5;
  display: block;
  padding: 1.25rem;
  background: rgba(0, 0, 0, 0.001);
  font-size: 2em;
  color: currentColor;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  [data-whatintent='mouse'] .jal-image__zoom,
  [data-whatintent='touch'] .jal-image__zoom {
    outline: none; }
  @media print, screen and (min-width: 43.75em) {
    .jal-image__zoom {
      padding: 1.875rem;
      font-size: 3em; } }
  .jal-image__zoom svg {
    display: block; }

.jal-image--contained {
  position: relative; }

.jal-image--cover img, .jal-image--cover-half-for-large img {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  overflow: hidden;
  object-fit: cover; }

@media print, screen and (min-width: 64em) {
  .jal-image--cover-half-for-large img {
    width: 50%; } }

@media print, screen and (min-width: 64em) {
  .jal-image--cover-half-for-large .jal-image__zoom {
    right: 50%; } }

.jal-image--no-padding-on-zoom .jal-image__zoom {
  padding: 0; }

.jal-image--zoom-top-right .jal-image__zoom {
  top: 0;
  bottom: auto;
  padding-top: 1.875rem; }

.jal-banner {
  position: relative;
  display: block;
  overflow: hidden;
  color: #fff; }
  .jal-banner__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 76.875rem;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-banner__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .jal-banner__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .jal-banner__content {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-banner__content {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .jal-banner__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    @media print, screen and (min-width: 64em) {
      .jal-banner__image[data-e2-parallax-for-large] {
        top: -5rem;
        bottom: -5rem; } }
    @media screen and (min-width: 90em) {
      .jal-banner__image[data-e2-parallax-for-large] {
        top: -4rem;
        bottom: -4rem; } }
  .jal-banner__wrapper {
    -ms-flex-align: center;
        align-items: center;
    height: calc(1.25rem + 40.625vw);
    max-height: 50rem; }
  .jal-banner__content {
    z-index: 5; }
    @media print, screen and (min-width: 43.75em) {
      .jal-banner__content {
        width: calc(50% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .jal-banner__content hr {
      width: 100%;
      margin-bottom: 1.5em;
      margin-left: 0;
      border-bottom-width: 0.125rem;
      border-color: #64ccc9;
      width: 60%; }
      @media screen and (min-width: 90em) {
        .jal-banner__content hr {
          border-bottom-width: 0.3125rem; } }
  .jal-banner__heading {
    text-transform: uppercase;
    color: currentColor; }
    .jal-banner__heading .js-first-word {
      display: block; }
    @media print, screen and (min-width: 43.75em) {
      .jal-banner__heading {
        font-size: calc(0.15164rem + 5.08197vw);
        line-height: 1;
        text-transform: inherit; } }
    @media screen and (min-width: 120em) {
      .jal-banner__heading {
        font-size: 6.25rem; } }

.jal-map {
  margin-bottom: 0.625rem;
  position: relative; }
  .jal-map__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 76.875rem;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-map__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .jal-map__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .jal-map__grid {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-map__grid {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-map {
      margin-bottom: 0.9375rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-map {
      margin-bottom: 0.625rem; } }
  @media print, screen and (min-width: 43.75em) and (min-width: 43.75em) {
    .jal-map {
      margin-bottom: 0.9375rem; } }
  .jal-map__image {
    position: absolute;
    top: auto;
    right: 0;
    left: 0;
    width: 100%;
    height: calc(100vw * (2 / 3)); }
    .jal-map__image:after {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      top: auto;
      bottom: -1px;
      width: 100vw;
      height: 25%;
      background: linear-gradient(rgba(255, 255, 255, 0), white); }
  .jal-map__header {
    width: calc(33.33333% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    position: relative;
    height: calc((100vw * (2 / 3)) - 6rem); }
  .jal-map__heading, .jal-map__item-heading {
    text-transform: uppercase; }
    .jal-map__heading .js-first-word, .jal-map__item-heading .js-first-word {
      display: block; }
  .jal-map__heading {
    padding-top: 1.875rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-map__heading {
        padding-top: 3.75rem; } }
  .jal-map__hr, .jal-map__item-hr {
    width: 100%;
    margin-bottom: 1.5em;
    margin-left: 0;
    border-bottom-width: 0.125rem;
    border-color: #64ccc9;
    width: 80%; }
  .jal-map__grid-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    position: relative; }
    @media print, screen and (min-width: 43.75em) {
      .jal-map__grid-wrapper {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
  .jal-map__item {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    margin-bottom: 0.9375rem;
    padding: 2rem;
    border: 1px solid #071d49;
    background-color: #fff; }
    @media print, screen and (min-width: 43.75em) {
      .jal-map__item {
        width: calc(50% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-bottom: 0.9375rem; } }

.jal-masthead {
  position: relative;
  background: #768692;
  overflow: hidden;
  color: #fff; }
  .jal-masthead__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 76.875rem;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-masthead__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .jal-masthead__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .jal-masthead__content {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-masthead__content {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .jal-masthead__background {
    background-color: #ebf0f2; }
    @media print, screen and (min-width: 64em) {
      .jal-masthead__background[data-e2-parallax-for-large] {
        margin-top: -5rem; } }
    @media screen and (min-width: 90em) {
      .jal-masthead__background[data-e2-parallax-for-large] {
        margin-top: -4rem; } }
  .jal-masthead__picture {
    height: calc(4.72727rem + 31.67614vw);
    min-height: 11.0625rem;
    opacity: 0;
    background-repeat: no-repeat;
    background-size: cover;
    transition: opacity 0.7s ease-out; }
    @media print, screen and (min-width: 64em) {
      .jal-masthead__picture {
        height: calc(3.57143rem + 33.48214vw);
        max-height: 43.75rem; } }
    .jal-masthead__picture.lazyloaded {
      opacity: 1; }
    @media print, screen and (min-width: 64em) {
      [data-e2-parallax-for-large] .jal-masthead__picture {
        height: calc(6.42857rem + 35.26786vw);
        max-height: 43.75rem; } }
  .jal-masthead__container {
    width: 100%;
    will-change: transform opacity; }
    @media print, screen and (min-width: 64em) {
      .jal-masthead__container {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1; } }
    .jal-masthead__container:after {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      top: auto;
      bottom: -1px;
      width: 100vw;
      height: 25%;
      background: linear-gradient(rgba(255, 255, 255, 0), white); }
      @media print, screen and (min-width: 64em) {
        .jal-masthead__container:after {
          left: calc(((100vw - 100%) / 2) * -1);
          z-index: -1;
          height: 100%; } }
  .jal-masthead__content {
    max-width: 42.6875rem;
    padding-top: 1.25em;
    padding-bottom: 1.5em; }
    @media print, screen and (min-width: 64em) {
      .jal-masthead__content {
        padding-top: 3em;
        padding-bottom: 3em; } }
    @media print, screen and (min-width: 64em) {
      .jal-masthead__content:before {
        position: absolute;
        display: block;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        right: 16.66667%;
        left: auto;
        z-index: -1;
        width: calc(100vw - ((100vw - 100%) / 2) - 8.33333%);
        height: 100%;
        background-image: url("data:image/svg+xml;charset=utf8, %3Csvg height=%22424%22 width=%222328%22 viewBox=%220 0 2328 424%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath fill=%22%23ffffff%22 fill-opacity=%220.9%22 d=%22M0 0h1994.3L2328 424H0z%22/%3E%3C/svg%3E");
        background-position: bottom right;
        background-repeat: no-repeat;
        background-size: cover;
        color: rgba(255, 255, 255, 0.9); } }
    .jal-masthead__content > :last-child {
      margin-bottom: 0; }
  .jal-masthead__header, .jal-masthead__lead-text {
    color: currentColor; }
    @media print, screen and (min-width: 64em) {
      .jal-masthead__header, .jal-masthead__lead-text {
        color: #071d49; } }
  .jal-masthead__lead-text {
    font-size: 112.5%; }
    .jal-masthead__lead-text > p {
      color: currentColor; }

.jal-pathway {
  background-color: #e6e3db; }
  .jal-pathway__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .jal-pathway__image, .jal-pathway__content {
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .jal-pathway__image {
    position: relative; }
    [data-whatintent='mouse'] .jal-pathway__image,
    [data-whatintent='touch'] .jal-pathway__image {
      outline: none; }
    @media screen and (min-width: 53.125em) {
      .jal-pathway__image {
        width: 50%;
        margin-right: 0;
        margin-left: 0; } }
    .jal-pathway__image[data-fancybox]::after {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 5;
      width: 4rem;
      height: 4rem;
      margin: auto;
      background-image: url("data:image/svg+xml,%3Csvg viewBox=%220 0 65 65%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M32.5 0a32.5 32.5 0 1 0 0 65 32.5 32.5 0 0 0 0-65zm0 59a26.4 26.4 0 1 1 0-53 26.4 26.4 0 0 1 0 53zm-8.1-40.7l24.3 14.2-24.3 14.2V18.3z%22 fill=%22%23FFF%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
      background-repeat: no-repeat; }
    [data-whatintent='mouse'] .jal-pathway__image[data-fancybox]::before {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2;
      opacity: 0;
      background-color: rgba(34, 34, 34, 0.2);
      transition: opacity 0.25s ease-out;
      pointer-events: none; }
    .jal-pathway__image[href]:hover:before {
      opacity: 1; }
  .jal-pathway__image-element {
    width: 100%; }
    @media screen and (min-width: 53.125em) {
      .jal-pathway__image-element {
        width: 100%;
        height: 100%;
        min-height: 27.1875rem;
        object-fit: cover; } }
    @media screen and (min-width: 76.875em) {
      .jal-pathway__image-element {
        min-height: 31.25rem; } }
  .jal-pathway__badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 11.875rem;
    max-width: 25%; }
    @media print, screen and (min-width: 43.75em) {
      .jal-pathway__badge {
        top: 2rem;
        right: 2rem; } }
    @media screen and (min-width: 76.875em) {
      .jal-pathway__badge {
        top: 3.75rem;
        right: 3.75rem; } }
  .jal-pathway__content {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center; }
    @media screen and (min-width: 53.125em) {
      .jal-pathway__content {
        width: 50%;
        margin-right: 0;
        margin-left: 0; } }
    @media screen and (min-width: 76.875em) {
      .jal-pathway__content {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
        width: auto;
        margin-right: 0;
        margin-left: 0; } }
    @media screen and (min-width: 53.125em) {
      .jal-pathway__content {
        max-width: calc(38.4375rem - 1.875rem); } }
  .jal-pathway__content-inner {
    padding: 2rem; }
    @media screen and (min-width: 76.875em) {
      .jal-pathway__content-inner {
        margin-right: 15%;
        padding: 2rem; } }
  .jal-pathway__heading {
    text-transform: uppercase; }
    @media print, screen and (min-width: 64em) {
      .jal-pathway__heading .js-first-word {
        display: block; } }
  .jal-pathway__hr {
    width: 100%;
    margin-bottom: 1.5em;
    margin-left: 0;
    border-bottom-width: 0.125rem;
    border-color: #64ccc9; }
    @media print, screen and (min-width: 64em) {
      .jal-pathway__hr {
        width: 50%; } }
  .jal-pathway__intro {
    margin-bottom: 2em; }
    @media screen and (min-width: 76.875em) {
      .jal-pathway__intro {
        margin-top: 2em; } }
  .jal-pathway__link {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    font-family: inherit;
    padding: 0.65em 1em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125em;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    border: 1px solid #64ccc9;
    color: #64ccc9;
    position: relative;
    border-width: 2px;
    transition: all 0.15s ease-out;
    overflow: hidden;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 500;
    white-space: nowrap;
    color: #071d49;
    min-width: 12.5rem; }
    [data-whatinput='mouse'] .jal-pathway__link {
      outline: 0; }
    .jal-pathway__link, .jal-pathway__link:hover, .jal-pathway__link:focus {
      background-color: transparent; }
    .jal-pathway__link.disabled, .jal-pathway__link.disabled:hover, .jal-pathway__link.disabled:focus, .jal-pathway__link[disabled], .jal-pathway__link[disabled]:hover, .jal-pathway__link[disabled]:focus {
      background-color: transparent; }
    .jal-pathway__link:hover, .jal-pathway__link:focus {
      border-color: #267270;
      color: #267270; }
      .jal-pathway__link:hover.disabled, .jal-pathway__link:hover[disabled], .jal-pathway__link:focus.disabled, .jal-pathway__link:focus[disabled] {
        border: 1px solid #64ccc9;
        color: #64ccc9; }
    .jal-pathway__link:focus, .jal-pathway__link:hover {
      border-color: #8ad9d6;
      background-color: rgba(34, 34, 34, 0.02);
      color: #071d49; }
    .jal-pathway__link:active {
      opacity: 0.9;
      transform: scale(0.99) translateY(1px); }
  @media screen and (min-width: 53.125em) {
    .jal-pathway--content-left .jal-pathway__wrapper {
      -ms-flex-pack: end;
          justify-content: flex-end; } }
  @media screen and (min-width: 53.125em) {
    .jal-pathway--content-left .jal-pathway__image {
      -ms-flex-order: 2;
          order: 2; } }
  @media screen and (min-width: 53.125em) {
    .jal-pathway--content-left .jal-pathway__content {
      -ms-flex-order: 1;
          order: 1; } }
  @media screen and (min-width: 76.875em) {
    .jal-pathway--content-left .jal-pathway__content {
      padding-left: 0; } }
  @media screen and (min-width: 76.875em) {
    .jal-pathway--content-left .jal-pathway__content-inner {
      padding-left: 0; } }
  .jal-pathway--dark-gray {
    background-color: #768692;
    color: #fff; }
    .jal-pathway--dark-gray .jal-pathway__heading {
      color: currentColor; }
    .jal-pathway--dark-gray .jal-pathway__link {
      display: inline-block;
      vertical-align: middle;
      margin: 0;
      font-family: inherit;
      padding: 0.65em 1em;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 0;
      transition: background-color 0.25s ease-out, color 0.25s ease-out;
      font-size: 1.125em;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      border: 1px solid #64ccc9;
      color: #64ccc9;
      position: relative;
      border-width: 2px;
      transition: all 0.15s ease-out;
      overflow: hidden;
      font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
      font-weight: 500;
      white-space: nowrap;
      color: currentColor; }
      [data-whatinput='mouse'] .jal-pathway--dark-gray .jal-pathway__link {
        outline: 0; }
      .jal-pathway--dark-gray .jal-pathway__link, .jal-pathway--dark-gray .jal-pathway__link:hover, .jal-pathway--dark-gray .jal-pathway__link:focus {
        background-color: transparent; }
      .jal-pathway--dark-gray .jal-pathway__link.disabled, .jal-pathway--dark-gray .jal-pathway__link.disabled:hover, .jal-pathway--dark-gray .jal-pathway__link.disabled:focus, .jal-pathway--dark-gray .jal-pathway__link[disabled], .jal-pathway--dark-gray .jal-pathway__link[disabled]:hover, .jal-pathway--dark-gray .jal-pathway__link[disabled]:focus {
        background-color: transparent; }
      .jal-pathway--dark-gray .jal-pathway__link:hover, .jal-pathway--dark-gray .jal-pathway__link:focus {
        border-color: #267270;
        color: #267270; }
        .jal-pathway--dark-gray .jal-pathway__link:hover.disabled, .jal-pathway--dark-gray .jal-pathway__link:hover[disabled], .jal-pathway--dark-gray .jal-pathway__link:focus.disabled, .jal-pathway--dark-gray .jal-pathway__link:focus[disabled] {
          border: 1px solid #64ccc9;
          color: #64ccc9; }
      .jal-pathway--dark-gray .jal-pathway__link:focus, .jal-pathway--dark-gray .jal-pathway__link:hover {
        border-color: #3fbebb;
        color: currentColor; }
      .jal-pathway--dark-gray .jal-pathway__link:active {
        opacity: 0.9;
        transform: scale(0.99) translateY(1px); }

.jal-plan__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-plan__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-plan__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-plan__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-plan__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-plan__wrapper {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; } }

.jal-plan__header, .jal-plan__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-plan__header, .jal-plan__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-plan__body {
    width: calc(75% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-plan__header {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-plan__header hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-plan__header hr {
      width: 80%; } }

.jal-plan__header + .jal-plan__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-plan__header + .jal-plan__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-plan__header + .jal-plan__body {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      padding-left: calc(8.33333% - 1.875rem); } }

.jal-plan__heading {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-plan__heading .js-first-word {
      display: block; } }

.jal-plan__wrapper {
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center; }

.jal-plan__top-bar {
  width: calc(100% - 1.875rem);
  margin-right: 0.9375rem;
  margin-left: 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .jal-plan__top-bar {
      border-bottom: #768692 0.125rem solid; } }

.jal-plan__top-bar-inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  font-size: 0.75rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-plan__top-bar-inner {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-plan__top-bar-inner {
      font-size: 0.75rem; } }
  @media screen and (min-width: 76.875em) {
    .jal-plan__top-bar-inner {
      font-size: 1rem; } }

.jal-plan__price, .jal-plan__size {
  font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
  font-size: 2em;
  font-weight: 300;
  color: #071d49; }
  .jal-plan__price dt, .jal-plan__size dt {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    border: 0; }

.jal-plan__price {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: auto;
  margin-right: 0.9375rem;
  margin-left: 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .jal-plan__price {
      -ms-flex-order: 1;
          order: 1; } }

.jal-plan__size {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
  width: auto;
  margin-right: 0.9375rem;
  margin-left: 0.9375rem;
  margin-right: 2.8125rem;
  text-align: right; }
  @media print, screen and (min-width: 64em) {
    .jal-plan__size {
      -ms-flex-order: 2;
          order: 2; } }

.jal-plan__icons {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - -2rem);
  margin-right: -1rem;
  margin-left: -1rem;
  position: relative;
  margin-top: 2.25em;
  margin-bottom: 1rem;
  background-color: #768692; }
  @media print, screen and (min-width: 64em) {
    .jal-plan__icons {
      -ms-flex-order: 3;
          order: 3;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      margin-bottom: -2px; } }
  .jal-plan__icons::after {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    top: -100%;
    right: 0;
    left: 0;
    z-index: 1;
    height: 100%;
    background-repeat: no-repeat; }

.jal-filter-grid__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-filter-grid__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-filter-grid__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-filter-grid__items {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-filter-grid__items {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-filter-grid__wrapper {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; } }

.jal-filter-grid__header, .jal-filter-grid__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-filter-grid__header, .jal-filter-grid__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-filter-grid__body {
    width: calc(75% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-filter-grid__header {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-filter-grid__header hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-filter-grid__header hr {
      width: 80%; } }

.jal-filter-grid__header + .jal-filter-grid__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-filter-grid__header + .jal-filter-grid__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-filter-grid__header + .jal-filter-grid__body {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      padding-left: calc(8.33333% - 1.875rem); } }

.jal-filter-grid__heading {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-filter-grid__heading .js-first-word {
      display: block; } }

.jal-filter-grid__items-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-right: -1.25rem;
  margin-left: -1.25rem;
  transition: opacity 0.25s linear; }
  @media screen and (min-width: 22.5em) {
    .jal-filter-grid__items-wrapper {
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-filter-grid__items-wrapper {
      margin-right: 0;
      margin-left: 0; } }

.jal-filter-grid__header {
  display: none; }
  @media print, screen and (min-width: 43.75em) {
    .jal-filter-grid__header {
      display: block; } }

.jal-filter-grid__item {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 1.25rem;
  transition: opacity 0.5s linear, transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  will-change: transform; }

.jal-filter-grid__item-break {
  display: none; }
  .jal-filter-grid__item-break + .jal-filter-grid__item + .jal-filter-grid__item {
    transition-delay: 0.1s; }
    .jal-filter-grid__item-break + .jal-filter-grid__item + .jal-filter-grid__item + .jal-filter-grid__item {
      transition-delay: 0.2s; }
      .jal-filter-grid__item-break + .jal-filter-grid__item + .jal-filter-grid__item + .jal-filter-grid__item ~ .jal-filter-grid__item {
        transition-delay: 0.35s; }

.jal-filter-grid__loading {
  display: none;
  margin: 0 0 1em;
  padding: 4em; }

.jal-filter-grid__more {
  margin-bottom: 2em;
  text-align: center; }

.jal-filter--loading-more ~ .jal-filter-grid__loading:nth-last-child(2) {
  display: block; }

.jal-filter--loading-more ~ .jal-filter-grid__items-wrapper .jal-filter-grid__item-break:last-of-type ~ .jal-filter-grid__item {
  position: relative;
  opacity: 0;
  transform: translateY(4em); }

.jal-filter--filtering ~ .jal-filter-grid__loading {
  display: block; }

.jal-filter--filtering ~ .jal-filter-grid__items-wrapper {
  opacity: 0; }

.jal-filter--paging-complete ~ .jal-filter-grid__more {
  display: none; }

.jal-filter {
  background-color: transparent;
  font-size: 1rem;
  color: #fff;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-bottom: 2rem; }
  .jal-filter[href],
  .jal-filter a {
    color: currentColor; }
    .jal-filter[href]:hover,
    .jal-filter a:hover {
      color: currentColor;
      text-decoration: none; }
  @media print, screen and (min-width: 43.75em) {
    .jal-filter {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-filter {
      margin: 0 0 2rem; } }
  .jal-filter__ui {
    height: 0;
    opacity: 0;
    visibility: hidden;
    background-color: #768692;
    transition: opacity 0.25s linear;
    overflow: hidden;
    font-size: 0.7em;
    will-change: opacity; }
    @media screen and (min-width: 25em) {
      .jal-filter__ui {
        font-size: 0.8em; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-filter__ui {
        font-size: 1em; } }
    @media print, screen and (min-width: 64em) {
      .jal-filter__ui {
        font-size: 0.8em; } }
    @media screen and (min-width: 76.875em) {
      .jal-filter__ui {
        font-size: 1em; } }
  .jal-filter__top, .jal-filter__form {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-filter__top, .jal-filter__form {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
  .jal-filter__top {
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    margin-bottom: 0; }
  .jal-filter__form {
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    margin-bottom: 1em; }
  .jal-filter__heading {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    font-size: 1.5em;
    color: currentColor; }
    @media print, screen and (min-width: 43.75em) {
      .jal-filter__heading {
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
        width: auto;
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .jal-filter__reset, .jal-filter__hide {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    margin-right: 0.9375rem;
    margin-bottom: 1em;
    font-size: 0.875em; }
    @media print, screen and (min-width: 43.75em) {
      .jal-filter__reset, .jal-filter__hide {
        -ms-flex-order: 2;
            order: 2;
        margin-bottom: 0; } }
  .jal-filter__item {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-top: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-filter__item {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
        width: auto;
        margin-right: 0.9375rem;
        margin-top: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-filter__item[data-width='full'] {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-filter__item[data-width='45%'] {
        width: calc(45% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-filter__item[data-width='50%'] {
        width: calc(50% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        min-width: 18.75rem; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-filter__item[data-width='55%'] {
        width: calc(55% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .jal-filter--show-more .jal-filter__ui {
    height: auto;
    padding: 1rem;
    opacity: 1;
    visibility: visible; }
    @media screen and (min-width: 31.25em) {
      .jal-filter--show-more .jal-filter__ui {
        padding: 2rem; } }
  .jal-filter--show-more .jal-filter__toggle {
    display: none; }

.jal-map-and-features {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  position: relative;
  min-height: 31.25rem;
  background-color: #e6e3db; }
  @media print, screen and (min-width: 64em) {
    .jal-map-and-features {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 43.75em) {
    .jal-map-and-features {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .jal-map-and-features__features {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .jal-map-and-features__features {
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
        width: auto;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
        -ms-flex-order: 2;
            order: 2; } }
    .jal-map-and-features__features hr {
      width: 100%;
      margin-bottom: 1.5em;
      margin-left: 0;
      border-bottom-width: 0.125rem;
      border-color: #64ccc9; }
      @media print, screen and (min-width: 64em) {
        .jal-map-and-features__features hr {
          width: 50%; } }
  .jal-map-and-features__map {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    position: relative;
    min-height: 25rem;
    background-color: #768692; }
    @media print, screen and (min-width: 64em) {
      .jal-map-and-features__map {
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
        width: auto;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
        -ms-flex-order: 1;
            order: 1;
        position: static; } }
  .jal-map-and-features__body {
    padding: 2rem; }
    @media print, screen and (min-width: 64em) {
      .jal-map-and-features__body {
        margin-right: calc(50vw + 1.875rem - (76.875rem / 2)); } }
  .jal-map-and-features__content ul {
    margin-left: 0;
    list-style: none; }
  .jal-map-and-features__content li {
    position: relative;
    margin-bottom: 1em;
    padding-left: 4em; }
    .jal-map-and-features__content li::after {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 2.1875em;
      height: 2.1875em;
      background-image: url("data:image/svg+xml,%3Csvg viewBox=%220 0 35 35%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M10.3 14.2L8 16.6l7.8 7.9L33.4 7l-2.5-2.5-15 15.1-5.5-5.4zm21.2 3.3a14 14 0 0 1-14 14 14 14 0 0 1-14-14A14 14 0 0 1 21.4 4l2.8-2.8C22 .5 19.8 0 17.5 0 7.9 0 0 7.9 0 17.5S7.9 35 17.5 35 35 27.1 35 17.5h-3.5z%22 fill=%22%23071D49%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E"); }
  .jal-map-and-features__heading {
    text-transform: uppercase; }
    @media print, screen and (min-width: 64em) {
      .jal-map-and-features__heading .js-first-word {
        display: block; } }

.jal-next-steps__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-next-steps__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-next-steps__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-next-steps__main, .jal-next-steps__related-content {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-next-steps__main, .jal-next-steps__related-content {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.jal-next-steps hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-next-steps hr {
      width: 80%; } }

.jal-next-steps__wrapper {
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: start;
      align-items: flex-start; }
  @media screen and (min-width: 76.875em) {
    .jal-next-steps__wrapper {
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start; } }

.jal-next-steps__main, .jal-next-steps__related-content {
  max-width: 45rem; }

@media screen and (min-width: 76.875em) {
  .jal-next-steps__main {
    width: calc(62.5% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-next-steps__contact {
  margin-top: 2em;
  margin-bottom: 2em; }
  @media print, screen and (min-width: 64em) {
    .jal-next-steps__contact {
      margin-top: 0;
      margin-bottom: 0; } }

.jal-next-steps__related-content {
  margin-top: 2em; }
  @media screen and (min-width: 76.875em) {
    .jal-next-steps__related-content {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0; } }

.jal-next-steps__main-inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: end;
      align-items: flex-end; }
  @media print, screen and (min-width: 43.75em) {
    .jal-next-steps__main-inner {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.jal-next-steps__header {
  width: calc(100% - 1.875rem);
  margin-right: 0.9375rem;
  margin-left: 0.9375rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-next-steps__header {
      width: calc(37.5% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.jal-next-steps__button {
  width: calc(100% - 1.875rem);
  margin-right: 0.9375rem;
  margin-left: 0.9375rem;
  margin-bottom: 2.125rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-next-steps__button {
      width: calc(62.5% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      text-align: right; } }

.jal-next-steps__body {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.875rem);
  margin-right: 0.9375rem;
  margin-left: 0.9375rem;
  margin-top: 0.625rem;
  margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-next-steps__body {
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }

.jal-next-steps__heading, .jal-next-steps__related-heading {
  text-transform: uppercase; }
  @media screen and (min-width: 76.875em) {
    .jal-next-steps__heading .js-first-word, .jal-next-steps__related-heading .js-first-word {
      display: block; } }

.jal-contact {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-contact {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media screen and (min-width: 33.75em) {
    .jal-contact {
      margin-right: 0;
      margin-left: 0;
      max-width: none; } }
  .jal-contact__image, .jal-contact__body {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
  .jal-contact__image {
    position: absolute;
    right: 0;
    left: 0;
    width: 12.5rem;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden; }
    @media screen and (min-width: 33.75em) {
      .jal-contact__image {
        width: 50%;
        margin-right: 0;
        margin-left: 0;
        position: static;
        display: block;
        border-radius: 0; } }
    .jal-contact__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .jal-contact__body {
    margin-top: 6.25rem;
    padding-top: 6.25rem;
    border: #64ccc9 0.125rem solid; }
    @media screen and (min-width: 33.75em) {
      .jal-contact__body {
        width: 50%;
        margin-right: 0;
        margin-left: 0;
        margin-top: 0;
        padding-top: 0;
        border-top: #64ccc9 0.125rem solid;
        border-left: 0; } }
  .jal-contact__body-inner {
    padding: 2rem; }
  .jal-contact__role {
    font-weight: 300; }
  .jal-contact__bio {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 5.25rem;
    margin: 0 auto;
    overflow: hidden;
    font-size: 1rem;
    line-height: 1.75;
    text-overflow: ellipsis;
    /* autoprefixer: off */
    -webkit-line-clamp: 3; }
  .jal-contact__description {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 10.5rem;
    margin: 0 auto;
    overflow: hidden;
    font-size: 1rem;
    line-height: 1.75;
    text-overflow: ellipsis;
    /* autoprefixer: off */
    -webkit-line-clamp: 6; }
  .jal-contact__phone {
    display: inline-block;
    margin-top: 1em;
    margin-bottom: 1em;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1.375rem;
    font-weight: 500;
    color: #071d49; }

.jal-icon-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-right: 2.8125rem;
  margin-left: 2.8125rem;
  position: relative;
  margin-bottom: 0; }
  .jal-icon-list__key {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    border: 0; }
  .jal-icon-list__value {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    margin-right: 0;
    margin-left: 0;
    position: relative; }
  .jal-icon-list__icon {
    display: block;
    font-size: 4.75em;
    color: #fff; }
  .jal-icon-list__number {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.75em);
    left: 0;
    z-index: 5;
    width: 1.8em;
    height: 2.25em;
    margin: auto;
    background-color: #ebf0f2;
    font-size: 1.5625em;
    line-height: 2;
    text-align: center; }
    .jal-icon-list__number::after {
      display: block;
      width: 0;
      height: 0;
      border: inset 0.75em;
      content: '';
      border-bottom-width: 0;
      border-top-style: solid;
      border-color: #ebf0f2 transparent transparent;
      top: 100%;
      right: 0;
      left: 0;
      margin: auto; }
  .jal-icon-list--product {
    margin-right: 1rem;
    margin-left: 1rem; }
    @media screen and (min-width: 36.25em) {
      .jal-icon-list--product {
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; } }

.jal-accordion__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-accordion__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-accordion__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

@media print, screen and (min-width: 64em) {
  .jal-accordion__wrapper {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; } }

.jal-accordion__header, .jal-accordion__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-accordion__header, .jal-accordion__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-accordion__body {
    width: calc(75% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-accordion__header {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-accordion__header hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-accordion__header hr {
      width: 80%; } }

.jal-accordion__header + .jal-accordion__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-accordion__header + .jal-accordion__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-accordion__header + .jal-accordion__body {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      padding-left: calc(8.33333% - 1.875rem); } }

.jal-accordion__heading {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-accordion__heading .js-first-word {
      display: block; } }

.jal-accordion__list {
  margin-left: 0;
  background: #fff;
  list-style-type: none; }
  .jal-accordion__list[disabled] .accordion-title {
    cursor: not-allowed; }

.jal-accordion__item {
  border-bottom: 1px solid #cbd1d6; }
  .jal-accordion__item:first-child > :first-child {
    border-radius: 0 0 0 0; }
  .jal-accordion__item:last-child > :last-child {
    border-radius: 0 0 0 0; }

.jal-accordion__item-heading {
  position: relative;
  display: block;
  padding: 1.25rem 0;
  border: 0;
  border-bottom: 0;
  font-size: 1.25rem;
  line-height: 1;
  color: #071d49;
  font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif; }
  :last-child:not(.is-active) > .jal-accordion__item-heading {
    border-bottom: 0;
    border-radius: 0 0 0 0; }
  .jal-accordion__item-heading:hover, .jal-accordion__item-heading:focus {
    background-color: transparent; }
  .jal-accordion__item-heading::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .jal-accordion__item-heading::before {
    content: '\2013'; }
  .jal-accordion__item-heading::before {
    margin-top: -0.5em;
    font-size: 1.5em; }
  .is-active > .jal-accordion__item-heading {
    border-bottom: 2px solid #64ccc9; }

.jal-accordion__item-content {
  display: none;
  padding: 1rem 0;
  border: 0;
  border-bottom: 0;
  background-color: #fff;
  color: #222; }
  :last-child > .jal-accordion__item-content:last-child {
    border-bottom: 0; }

.jal-breadcrumbs {
  background: rgba(34, 34, 34, 0.1);
  font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
  color: #fff; }
  .jal-breadcrumbs__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 76.875rem;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-breadcrumbs__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .jal-breadcrumbs__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .jal-breadcrumbs__nav {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-breadcrumbs__nav {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .jal-breadcrumbs li {
    text-transform: none; }
  .jal-breadcrumbs__nav {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
  .jal-block--fixed-to-top-for-large .jal-breadcrumbs {
    background: #e6e3db;
    color: #071d49; }
    @media print, screen and (min-width: 64em) {
      .jal-block--fixed-to-top-for-large .jal-breadcrumbs {
        background: rgba(34, 34, 34, 0.1);
        color: #fff; } }
  .jal-breadcrumbs--beige {
    background: #e6e3db;
    color: #071d49; }

@media print, screen and (min-width: 64em) {
  .jal-content__wrapper {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; } }

.jal-content__header, .jal-content__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-content__header, .jal-content__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-content__body {
    width: calc(75% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-content__header {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-content__header hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-content__header hr {
      width: 80%; } }

.jal-content__header + .jal-content__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-content__header + .jal-content__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-content__header + .jal-content__body {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      padding-left: calc(8.33333% - 1.875rem); } }

.jal-content__heading {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-content__heading .js-first-word {
      display: block; } }

.jal-content__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-content__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-content__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-content__address {
  margin-bottom: 1em;
  font-size: 1.125em; }

.jal-content__address-text address {
  font-style: normal; }

.jal-content__open-hours {
  font-size: 1.125em; }

.jal-content__directions {
  margin-bottom: 1em; }

.jal-content__body h2,
.jal-content__body h3,
.jal-content__body h4,
.jal-content__body h5,
.jal-content__body h6,
.jal-content__body blockquote {
  margin-top: 1.25em;
  margin-bottom: 1em; }
  .jal-content__body h2:first-child,
  .jal-content__body h3:first-child,
  .jal-content__body h4:first-child,
  .jal-content__body h5:first-child,
  .jal-content__body h6:first-child,
  .jal-content__body blockquote:first-child {
    margin-top: 0; }

.jal-content__body cite {
  margin-top: 1em; }

.jal-content--min-height {
  min-height: 30em; }

.jal-content--optimized-for-reading .jal-content__body {
  max-width: 50em; }

.jal-block {
  position: relative;
  background-color: #fff; }
  .jal-block__hr {
    width: calc(100% - 2.5rem);
    max-width: calc(76.875rem - 3.75rem);
    height: 0.0625rem;
    margin: 0 auto;
    opacity: 0.2;
    background-color: currentColor; }
    @media print, screen and (min-width: 43.75em) {
      .jal-block__hr {
        width: calc(100% - 3.75rem); } }
  .jal-block--darker {
    background-color: #ebf0f2; }
  .jal-block--darkest {
    background-color: #768692;
    color: #fff; }
  .jal-block--beige {
    background-color: #e6e3db; }
  .jal-block--black {
    background-color: #222;
    color: #fff; }
  .jal-block--theme-primary {
    background-color: #222;
    color: #fff; }
  .jal-block--theme-secondary {
    background-color: white; }
  .jal-block--fixed-to-top {
    position: absolute;
    top: 0;
    z-index: 10;
    width: 100%;
    background: transparent; }
  @media print, screen and (min-width: 64em) {
    .jal-block--fixed-to-top-for-large {
      position: absolute;
      top: 0;
      z-index: 10;
      width: 100%;
      background: transparent; } }
  .jal-block--padding-top {
    padding-top: 1.875rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-block--padding-top {
        padding-top: 3.75rem; } }
  .jal-block--padding-bottom {
    padding-bottom: 1.875rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-block--padding-bottom {
        padding-bottom: 3.75rem; } }
  .jal-block--padding {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-block--padding {
        padding-top: 3.75rem;
        padding-bottom: 3.75rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-block--padding-for-medium {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .jal-block--show-for-medium {
    display: none; }
    @media print, screen and (min-width: 43.75em) {
      .jal-block--show-for-medium {
        display: block; } }

.jal-card hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9;
  margin-bottom: 2em; }
  @media print, screen and (min-width: 64em) {
    .jal-card hr {
      width: 65%; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-card hr {
      margin-bottom: 3.25em; } }

.jal-card__super-title {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-card__super-title .js-first-word {
      display: block; } }
  .jal-grid .jal-card__super-title {
    margin-top: 1.125em; }

.jal-card__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-positive: 1;
      flex-grow: 1;
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  color: #222;
  position: relative;
  max-width: 23.125rem;
  margin: auto;
  background-color: #f5f8f9;
  transition: background-color 0.25s linear; }
  .jal-card__wrapper > :last-child {
    margin-bottom: 0; }
  .jal-card__wrapper:hover {
    background-color: #e5edef; }
  [data-whatintent='mouse'] .jal-card__wrapper::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    opacity: 0;
    background-color: rgba(34, 34, 34, 0.1);
    transition: opacity 0.25s ease-out;
    pointer-events: none; }
  .jal-card__wrapper[href]:hover::before {
    opacity: 1; }
  @media screen and (max-width: 43.6875em) {
    .jal-grid--full-width-for-small-only .jal-card__wrapper {
      max-width: none; } }

.jal-card__content, .jal-card__image {
  width: 100%;
  margin-right: 0;
  margin-left: 0; }
  .jal-card__content img, .jal-card__image img {
    width: 100%;
    max-width: 100vw; }

.jal-card__image {
  min-height: 1px; }

.jal-card__content {
  -ms-flex: 1 0 auto;
      flex: 1 0 auto;
  padding: 2rem;
  position: relative;
  padding: 1.25rem; }
  .jal-card__content > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 43.75em) {
    .jal-card__content {
      padding: 2rem 2rem 5rem; } }

.jal-card__heading {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  height: 3.99rem;
  margin: 0 auto;
  overflow: hidden;
  font-size: 1.5rem;
  line-height: 1.33;
  text-overflow: ellipsis;
  /* autoprefixer: off */
  -webkit-line-clamp: 2;
  margin-bottom: 0; }
  @media print, screen and (min-width: 43.75em) {
    .jal-card__heading {
      margin-bottom: 0.5em; } }

.jal-card__description {
  display: none; }
  @media print, screen and (min-width: 43.75em) {
    .jal-card__description {
      display: block;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      height: 10.5rem;
      margin: 0 auto;
      overflow: hidden;
      font-size: 1rem;
      line-height: 1.75;
      text-overflow: ellipsis;
      /* autoprefixer: off */
      -webkit-line-clamp: 6;
      margin-bottom: 1em; } }

.jal-card__link {
  bottom: 2rem;
  font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 500;
  color: #071d49; }
  @media print, screen and (min-width: 43.75em) {
    .jal-card__link {
      position: absolute; } }
  .jal-card__link:after {
    content: ' >'; }

.jal-card--cta .jal-card__wrapper {
  position: relative;
  max-width: none;
  height: 100%;
  transition: color 0.25s linear;
  color: rgba(164, 188, 194, 0.9); }

.jal-card--cta .jal-card__heading {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  height: 5.25rem;
  margin: 0 auto;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.75;
  text-overflow: ellipsis;
  /* autoprefixer: off */
  -webkit-line-clamp: 3;
  font-size: 1rem;
  color: #fff; }
  @media screen and (min-width: 34.375em) {
    .jal-card--cta .jal-card__heading {
      display: block;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      height: 3.5rem;
      margin: 0 auto;
      overflow: hidden;
      font-size: 1rem;
      line-height: 1.75;
      text-overflow: ellipsis;
      /* autoprefixer: off */
      -webkit-line-clamp: 2; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-card--cta .jal-card__heading {
      display: block;
      height: auto;
      margin-bottom: 0;
      font-size: 1.5rem;
      line-height: 1.33; } }

.jal-card--cta .jal-card__description, .jal-card--cta .jal-card__link {
  display: none; }

.jal-card--cta .jal-card__content {
  padding: 1rem;
  background-color: currentColor; }
  @media print, screen and (min-width: 43.75em) {
    .jal-card--cta .jal-card__content {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      padding: 1rem 2rem; } }

@media screen and (min-width: 34.375em) {
  .jal-card--horizontal-for-550 .jal-card__super-title:first-line {
    word-spacing: normal; } }

.jal-card--horizontal-for-550 .jal-card__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  max-width: none; }

@media screen and (min-width: 34.375em) {
  .jal-card--horizontal-for-550 .jal-card__content, .jal-card--horizontal-for-550 .jal-card__image {
    width: 50%;
    margin-right: 0;
    margin-left: 0;
    display: block; } }

@media screen and (min-width: 34.375em) {
  .jal-card--horizontal-for-550 .jal-card__description {
    display: block;
    margin-bottom: 0.5em; } }

@media screen and (min-width: 34.375em) {
  .jal-card--horizontal-for-550 .jal-card__image {
    position: relative; } }

@media screen and (min-width: 34.375em) {
  .jal-card--horizontal-for-550 .jal-card__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    object-fit: cover; } }

@media screen and (min-width: 76.875em) {
  .jal-card--vertical-for-xlarge .jal-card__super-title:first-line {
    word-spacing: 23.125rem; } }

@media screen and (min-width: 76.875em) {
  .jal-card--vertical-for-xlarge .jal-card__content, .jal-card--vertical-for-xlarge .jal-card__image {
    width: 100%;
    margin-right: 0;
    margin-left: 0; } }

@media screen and (min-width: 76.875em) {
  .jal-card--vertical-for-xlarge .jal-card__image img {
    position: static;
    object-fit: initial; } }

@media screen and (max-width: 43.6875em) {
  .jal-card--shadow-for-medium .jal-card__wrapper {
    box-shadow: none; } }

.jal-card--brochure .jal-card__wrapper {
  display: block;
  min-width: 11.875rem; }
  @media screen and (min-width: 37.5em) {
    .jal-card--brochure .jal-card__wrapper {
      min-width: 16.875rem; } }
  @media screen and (min-width: 76.875em) {
    .jal-card--brochure .jal-card__wrapper {
      width: 23.125rem; } }

.jal-card--brochure .jal-card__heading {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  height: 2.9925rem;
  margin: 0 auto;
  overflow: hidden;
  font-size: 1.125rem;
  line-height: 1.33;
  text-overflow: ellipsis;
  /* autoprefixer: off */
  -webkit-line-clamp: 2;
  font-weight: 500; }

.jal-steps__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-steps__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-steps__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-steps__header, .jal-steps__grid, .jal-steps__nav {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-steps__header, .jal-steps__grid, .jal-steps__nav {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-steps__wrapper {
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; } }

.jal-steps__header, .jal-steps__nav {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-steps__header, .jal-steps__nav {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-steps__nav {
    width: calc(75% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .jal-steps__header {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; } }

.jal-steps__header hr {
  width: 100%;
  margin-bottom: 1.5em;
  margin-left: 0;
  border-bottom-width: 0.125rem;
  border-color: #64ccc9; }
  @media print, screen and (min-width: 64em) {
    .jal-steps__header hr {
      width: 80%; } }

.jal-steps__header + .jal-steps__nav {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-steps__header + .jal-steps__nav {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-steps__header + .jal-steps__nav {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 0;
      padding-left: calc(8.33333% - 1.875rem); } }

.jal-steps__heading {
  text-transform: uppercase; }
  @media print, screen and (min-width: 64em) {
    .jal-steps__heading .js-first-word {
      display: block; } }

.jal-steps__next, .jal-steps__prev {
  position: absolute;
  top: auto;
  bottom: -1em;
  z-index: 20;
  width: 1em;
  height: 1em;
  margin: auto 0;
  border-radius: 50%;
  transition: all 0.25s linear;
  font-size: 2.5em;
  color: #64ccc9;
  cursor: pointer; }
  [data-whatintent='mouse'] .jal-steps__next,
  [data-whatintent='touch'] .jal-steps__next, [data-whatintent='mouse'] .jal-steps__prev,
  [data-whatintent='touch'] .jal-steps__prev {
    outline: none; }
  @media print, screen and (min-width: 43.75em) {
    .jal-steps__next, .jal-steps__prev {
      background-color: rgba(255, 255, 255, 0.9);
      font-size: 3em; } }
  @media print, screen and (min-width: 64em) {
    .jal-steps__next, .jal-steps__prev {
      font-size: 3.75em; } }
  .jal-steps__next:hover, .jal-steps__prev:hover {
    background-color: rgba(255, 255, 255, 0.1); }
    @media print, screen and (min-width: 43.75em) {
      .jal-steps__next:hover, .jal-steps__prev:hover {
        background-color: white; } }
  .jal-steps__next svg, .jal-steps__prev svg {
    display: block;
    width: 1em;
    height: 1em; }
  .jal-steps__next.slick-disabled, .jal-steps__prev.slick-disabled {
    opacity: 0;
    cursor: default; }

.jal-steps__next {
  right: 0; }
  @media print, screen and (min-width: 43.75em) {
    .jal-steps__next {
      right: 0.5em; } }

.jal-steps__prev {
  left: 0; }
  @media print, screen and (min-width: 43.75em) {
    .jal-steps__prev {
      left: 0.5em; } }

.jal-steps__nav {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .jal-steps__nav {
      display: block; } }
  .jal-steps__nav ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    position: static; }
  .jal-steps__nav li {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    margin-right: 0;
    margin-left: 0;
    position: relative;
    width: auto;
    height: auto;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-size: 2.375rem;
    font-weight: normal; }
    .jal-steps__nav li:first-child:before {
      position: absolute;
      display: block;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      right: auto;
      width: 0.125rem;
      height: 0.8em;
      margin: auto;
      background-color: #ebf0f2; }

.jal-steps__paging.jal-steps__paging.jal-steps__paging {
  display: block;
  width: auto;
  height: 1em;
  padding: 0 0.75em;
  transition: color 0.3s ease;
  font-size: inherit;
  font-weight: inherit;
  color: #071d49;
  text-align: center; }
  .jal-steps__paging.jal-steps__paging.jal-steps__paging:before {
    display: none; }
  .jal-steps__paging.jal-steps__paging.jal-steps__paging:after {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    left: auto;
    width: 0.125rem;
    height: 0.8em;
    margin: auto;
    background-color: #ebf0f2; }
  .slick-active > .jal-steps__paging.jal-steps__paging.jal-steps__paging {
    color: #64ccc9 !important; }

.jal-steps__grid {
  position: relative; }

.jal-steps__item {
  position: relative; }
  .jal-steps__item::after {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    top: auto;
    bottom: -1.6em;
    max-width: 5em;
    margin: 0 auto;
    content: attr(data-step-position);
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: normal;
    text-align: center; }
    @media print, screen and (min-width: 43.75em) {
      .jal-steps__item::after {
        bottom: -2em; } }
    @media print, screen and (min-width: 64em) {
      .jal-steps__item::after {
        display: none; } }

.jal-steps__next, .jal-steps__prev {
  border-radius: 0;
  color: #071d49; }
  @media print, screen and (min-width: 43.75em) {
    .jal-steps__next, .jal-steps__prev {
      width: auto; } }
  .jal-steps__next span, .jal-steps__prev span {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    border: 0; }
    @media print, screen and (min-width: 43.75em) {
      .jal-steps__next span, .jal-steps__prev span {
        position: static !important;
        width: auto;
        height: auto;
        overflow: visible;
        clip: auto;
        white-space: normal;
        -webkit-clip-path: none;
                clip-path: none;
        display: inline-block;
        vertical-align: middle;
        margin: 0;
        font-family: inherit;
        padding: 0.65em 1em;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 0;
        transition: background-color 0.25s ease-out, color 0.25s ease-out;
        font-size: 1.125em;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        border: 1px solid #64ccc9;
        color: #64ccc9;
        position: relative;
        border-width: 2px;
        transition: all 0.15s ease-out;
        overflow: hidden;
        font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
        font-weight: 500;
        white-space: nowrap;
        color: #071d49;
        font-size: 1rem; }
        [data-whatinput='mouse'] .jal-steps__next span, [data-whatinput='mouse'] .jal-steps__prev span {
          outline: 0; }
        .jal-steps__next span, .jal-steps__next span:hover, .jal-steps__next span:focus, .jal-steps__prev span, .jal-steps__prev span:hover, .jal-steps__prev span:focus {
          background-color: transparent; }
        .jal-steps__next span.disabled, .jal-steps__next span.disabled:hover, .jal-steps__next span.disabled:focus, .jal-steps__next span[disabled], .jal-steps__next span[disabled]:hover, .jal-steps__next span[disabled]:focus, .jal-steps__prev span.disabled, .jal-steps__prev span.disabled:hover, .jal-steps__prev span.disabled:focus, .jal-steps__prev span[disabled], .jal-steps__prev span[disabled]:hover, .jal-steps__prev span[disabled]:focus {
          background-color: transparent; }
        .jal-steps__next span:hover, .jal-steps__next span:focus, .jal-steps__prev span:hover, .jal-steps__prev span:focus {
          border-color: #267270;
          color: #267270; }
          .jal-steps__next span:hover.disabled, .jal-steps__next span:hover[disabled], .jal-steps__next span:focus.disabled, .jal-steps__next span:focus[disabled], .jal-steps__prev span:hover.disabled, .jal-steps__prev span:hover[disabled], .jal-steps__prev span:focus.disabled, .jal-steps__prev span:focus[disabled] {
            border: 1px solid #64ccc9;
            color: #64ccc9; }
        .jal-steps__next span:focus, .jal-steps__next span:hover, .jal-steps__prev span:focus, .jal-steps__prev span:hover {
          border-color: #8ad9d6;
          background-color: rgba(34, 34, 34, 0.02);
          color: #071d49; }
        .jal-steps__next span:active, .jal-steps__prev span:active {
          opacity: 0.9;
          transform: scale(0.99) translateY(1px); } }
  .jal-steps__next:focus > span,
  .jal-steps__next:hover > span, .jal-steps__prev:focus > span,
  .jal-steps__prev:hover > span {
    border-color: #8ad9d6;
    background-color: rgba(34, 34, 34, 0.02);
    color: #071d49; }
  @media print, screen and (min-width: 43.75em) {
    .jal-steps__next svg, .jal-steps__prev svg {
      display: none; } }

.jal-steps__next {
  right: 0; }

.jal-steps__prev {
  left: 0; }

.jal-steps .slick-slide {
  opacity: 0;
  transition: opacity 0.25s ease-out; }

.jal-steps .slick-current {
  opacity: 1; }

.jal-steps .slick-list {
  overflow: visible; }

.jal-step {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  @media print, screen and (min-width: 43.75em) {
    .jal-step {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .jal-step__image {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
    position: relative; }
    @media print, screen and (min-width: 43.75em) {
      .jal-step__image {
        width: calc(41.66667% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .jal-step__image {
        width: calc(30.83333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .jal-step__image:after {
      position: absolute;
      display: block;
      content: attr(data-step);
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      bottom: auto;
      left: auto;
      width: 4.375rem;
      height: 4.375rem;
      background-color: rgba(255, 255, 255, 0.9);
      font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
      font-size: 2.375rem;
      text-align: center; }
    .jal-step__image img {
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); }
  .jal-step__content {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-step__content {
        width: calc(58.33333% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .jal-step__content {
        width: calc(69.16667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }

.jal-button-group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-button-group {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .jal-button-group > * {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-button-group > * {
        width: calc(25% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }

.jal-form {
  position: relative; }
  .jal-form__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 76.875rem;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-form__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .jal-form__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .jal-form__form, .jal-form__phone, .jal-form__header, .jal-form__body {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-form__form, .jal-form__phone, .jal-form__header, .jal-form__body {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .jal-form legend {
    display: block;
    color: currentColor; }
  .jal-form__form, .jal-form__phone {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-form__form, .jal-form__phone {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
  .jal-form__post-submit {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    border: 0; }
  .jal-form__post-submit-message {
    padding: 2rem;
    background-color: #f5f8f9;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    text-align: center; }
    .jal-form__post-submit-message > :last-child {
      margin-bottom: 0; }
  .jal-form__product {
    margin-bottom: 0.625rem;
    background-color: #768692; }
  .jal-form__product-label {
    margin: 0;
    padding: 1rem 2rem;
    color: #fff; }
  .jal-form__clearfix::before, .jal-form__clearfix::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .jal-form__clearfix::after {
    clear: both; }
  .jal-form__row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
  .jal-form__full-row, .jal-form__half-row, .jal-form__third-row, .jal-form__shrink-row, .jal-form__auto-row, .jal-form__two-thirds-row, .jal-form__45-percent-row, .jal-form__55-percent-row {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-form__full-row {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-form__half-row {
      width: calc(50% - 1.25rem);
      margin-right: 0.625rem;
      margin-left: 0.625rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-form__third-row {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-form__two-thirds-row {
      width: calc(66.66667% - 1.25rem);
      margin-right: 0.625rem;
      margin-left: 0.625rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-form__auto-row {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.625rem;
      margin-left: 0.625rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-form__shrink-row {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: auto;
      margin-right: 0.625rem;
      margin-left: 0.625rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-form__45-percent-row {
      width: calc(45% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-form__55-percent-row {
      width: calc(55% - 1.25rem);
      margin-right: 0.625rem;
      margin-left: 0.625rem; } }
  .jal-form__phone {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    margin-bottom: 0.5rem;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1.375em;
    font-weight: 400; }
    @media print, screen and (min-width: 43.75em) {
      .jal-form__phone {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .jal-form__phone {
        text-align: right; } }
    .jal-form__phone a {
      font-weight: 500;
      color: currentColor; }
      @media print, screen and (min-width: 64em) {
        .jal-form__phone a {
          display: block; } }
  .jal-form--complete .jal-form__pre-submit,
  .jal-form--complete .jal-form__intro {
    display: none; }
  .jal-form--complete .jal-form__post-submit {
    position: static !important;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    -webkit-clip-path: none;
            clip-path: none; }
  .jal-form--complete .jal-form__post-submit-message {
    animation-duration: 0.5s;
    animation-name: custom-1;
    animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99); }
  .jal-form--newsletter {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    background: #768692 repeating-linear-gradient(135deg, #768692, #768692 12px, #758591 12px, #758591 24px);
    color: #fff; }
    @media print, screen and (min-width: 43.75em) {
      .jal-form--newsletter {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
    .jal-form--newsletter fieldset {
      overflow: hidden; }
    .jal-form--newsletter legend {
      position: relative;
      color: currentColor; }
      .jal-form--newsletter legend:after {
        position: absolute;
        display: block;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        top: 50%;
        left: 110%;
        width: 500%;
        height: 1px;
        border-top: 1px solid #a4bcc2; }
    .jal-form--newsletter .jal-form__wrapper {
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: end;
          align-items: flex-end; }
    @media print, screen and (min-width: 64em) {
      .jal-form--newsletter .jal-form__form {
        width: calc(70% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .jal-form--newsletter .jal-form__phone {
        width: calc(30% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-form--contact .jal-form__wrapper {
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start; } }
  .jal-form--contact .jal-form__header, .jal-form--contact .jal-form__body {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-form--contact .jal-form__header, .jal-form--contact .jal-form__body {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-form--contact .jal-form__body {
      width: calc(75% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .jal-form--contact .jal-form__header {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .jal-form--contact .jal-form__header hr {
    width: 100%;
    margin-bottom: 1.5em;
    margin-left: 0;
    border-bottom-width: 0.125rem;
    border-color: #64ccc9; }
    @media print, screen and (min-width: 64em) {
      .jal-form--contact .jal-form__header hr {
        width: 80%; } }
  .jal-form--contact .jal-form__header + .jal-form__body {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem;
    margin-top: 1.25rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-form--contact .jal-form__header + .jal-form__body {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-top: 1.875rem; } }
    @media print, screen and (min-width: 64em) {
      .jal-form--contact .jal-form__header + .jal-form__body {
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
        width: auto;
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-top: 0;
        padding-left: calc(8.33333% - 1.875rem); } }
  .jal-form--contact .jal-form__heading {
    text-transform: uppercase; }
    @media print, screen and (min-width: 64em) {
      .jal-form--contact .jal-form__heading .js-first-word {
        display: block; } }
  .jal-form--contact .jal-form__form {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .jal-form--contact .jal-form__pre-submit > fieldset {
    margin-right: -1.25rem;
    margin-bottom: 1px;
    margin-left: -1.25rem;
    padding: 1.25rem 1.25rem 0;
    background-color: #ebf0f2;
    color: #071d49;
    will-change: opacity, transform; }
    @media screen and (min-width: 31.25em) {
      .jal-form--contact .jal-form__pre-submit > fieldset {
        margin-right: 0;
        margin-bottom: 0.625rem;
        margin-left: 0;
        padding: 2rem 2rem 0.75rem; } }
    .jal-form--contact .jal-form__pre-submit > fieldset:first-of-type {
      background-color: #768692;
      color: #fff; }
      .jal-form--contact .jal-form__pre-submit > fieldset:first-of-type .form-error {
        color: #f5ddda; }
    .jal-form--contact .jal-form__pre-submit > fieldset:not([data-persist]) {
      transition: opacity 0.5s linear, transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99); }
  .jal-form--contact legend {
    float: left;
    margin: 0 0 1em;
    font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif;
    line-height: 1; }
  .jal-form--contact fieldset[aria-hidden='true'],
  .jal-form--contact legend[aria-hidden='true'] {
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden; }
  .jal-form--contact fieldset[aria-hidden='true'] {
    opacity: 0;
    transform: translateX(-8em); }
  .jal-form--contact fieldset[aria-hidden='false'] {
    opacity: 1;
    transform: translateY(0); }
    .jal-form--contact fieldset[aria-hidden='false'] + [aria-hidden='false'] {
      transition-delay: 0.1s; }
      .jal-form--contact fieldset[aria-hidden='false'] + [aria-hidden='false'] + [aria-hidden='false'] {
        transition-delay: 0.3s; }
  .jal-form--contact [id='js-property-type'][aria-hidden='true'],
  .jal-form--contact [id='js-project-type'][aria-hidden='true'] {
    display: none; }
  .jal-form--contact [name='PostalCode'] {
    min-width: 13.75rem; }
  .jal-form--contact [type='text'],
  .jal-form--contact [type='tel'],
  .jal-form--contact [type='email'],
  .jal-form--contact [type='submit'],
  .jal-form--contact select {
    margin-bottom: 1.25rem; }
    .jal-form--contact [type='text']::-webkit-input-placeholder,
    .jal-form--contact [type='tel']::-webkit-input-placeholder,
    .jal-form--contact [type='email']::-webkit-input-placeholder,
    .jal-form--contact [type='submit']::-webkit-input-placeholder,
    .jal-form--contact select::-webkit-input-placeholder {
      font-weight: normal; }
    .jal-form--contact [type='text']:-ms-input-placeholder,
    .jal-form--contact [type='tel']:-ms-input-placeholder,
    .jal-form--contact [type='email']:-ms-input-placeholder,
    .jal-form--contact [type='submit']:-ms-input-placeholder,
    .jal-form--contact select:-ms-input-placeholder {
      font-weight: normal; }
    .jal-form--contact [type='text']::placeholder,
    .jal-form--contact [type='tel']::placeholder,
    .jal-form--contact [type='email']::placeholder,
    .jal-form--contact [type='submit']::placeholder,
    .jal-form--contact select::placeholder {
      font-weight: normal; }

.jal-social-links {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  width: 100%; }
  .jal-social-links a {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    width: auto;
    margin-right: 0.25rem;
    margin-left: 0.25rem;
    display: block; }
  .jal-social-links svg {
    width: 2.8125rem;
    height: 2.8125rem; }

.jal-footer {
  background-color: #e6e3db;
  font-size: 1rem;
  color: #071d49;
  font-family: "Hurme Geometric Sans 4", Helvetica, Roboto, Arial, sans-serif; }
  .jal-footer[href],
  .jal-footer a {
    color: currentColor; }
    .jal-footer[href]:hover,
    .jal-footer a:hover {
      color: currentColor;
      text-decoration: none; }
  .jal-footer__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 76.875rem;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-footer__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .jal-footer__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .jal-footer a {
    transition: 0.2s opacity linear; }
    .jal-footer a:hover, .jal-footer a:active {
      opacity: 0.5; }
  .jal-footer__wrapper {
    padding-top: 1rem;
    padding-bottom: 1rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-footer__wrapper {
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: start;
            align-items: flex-start; } }
    .jal-footer__wrapper:nth-child(2) {
      background-color: transparent;
      font-size: 1rem;
      color: #222;
      position: relative; }
      .jal-footer__wrapper:nth-child(2)[href],
      .jal-footer__wrapper:nth-child(2) a {
        color: currentColor; }
        .jal-footer__wrapper:nth-child(2)[href]:hover,
        .jal-footer__wrapper:nth-child(2) a:hover {
          color: currentColor;
          text-decoration: none; }
      .jal-footer__wrapper:nth-child(2):before {
        position: absolute;
        display: block;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin-right: 0.625rem;
        margin-left: 0.625rem;
        bottom: auto;
        height: 1px;
        background-color: #a4bcc2; }
        @media print, screen and (min-width: 43.75em) {
          .jal-footer__wrapper:nth-child(2):before {
            margin-right: 0.9375rem;
            margin-left: 0.9375rem; } }
  .jal-footer__awards, .jal-footer__menus, .jal-footer__brand, .jal-footer__logo, .jal-footer__credit, .jal-footer__site-links {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-footer__awards {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      -ms-flex-order: 1;
          order: 1; } }
  .jal-footer__awards-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (min-width: 25em) {
      .jal-footer__awards-wrapper {
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; } }
  .jal-footer__award {
    width: calc(33.33333% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    display: block; }
    @media screen and (min-width: 25em) {
      .jal-footer__award {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
        width: auto;
        margin-right: 0.625rem;
        margin-left: 0.625rem; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-footer__menus {
      -ms-flex-order: 3;
          order: 3; } }
  @media print, screen and (min-width: 64em) {
    .jal-footer__menus {
      -ms-flex-order: 2;
          order: 2;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .jal-footer__menus-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media print, screen and (min-width: 43.75em) {
      .jal-footer__menus-wrapper {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media screen and (min-width: 31.25em) {
      .jal-footer__menus-wrapper {
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: start;
            align-items: flex-start; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-footer__menus-wrapper {
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; } }
    @media print, screen and (min-width: 64em) {
      .jal-footer__menus-wrapper {
        margin-top: 0.625rem;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: start;
            align-items: flex-start; } }
  @media print, screen and (min-width: 64em) and (min-width: 43.75em) {
    .jal-footer__menus-wrapper {
      margin-top: 0.9375rem; } }
  .jal-footer__menu {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    max-width: 12.5rem;
    margin-bottom: 2em; }
    @media screen and (min-width: 31.25em) {
      .jal-footer__menu {
        width: calc(50% - 3.75rem);
        margin-right: 1.875rem;
        margin-left: 1.875rem; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-footer__menu {
        width: calc(50% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .jal-footer__menu ul {
      padding: 0;
      margin: 0;
      list-style: none;
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -ms-flex-direction: column;
          flex-direction: column; }
      [data-whatinput='mouse'] .jal-footer__menu ul li {
        outline: 0; }
      .jal-footer__menu ul a,
      .jal-footer__menu ul .button {
        line-height: 1;
        text-decoration: none;
        display: block;
        padding: 0.7rem 1rem; }
      .jal-footer__menu ul input,
      .jal-footer__menu ul select,
      .jal-footer__menu ul a,
      .jal-footer__menu ul button {
        margin-bottom: 0; }
      .jal-footer__menu ul input {
        display: inline-block; }
  .jal-footer__menu-item:first-child {
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    border-bottom: 2px solid #64ccc9;
    font-size: 1.125em; }
  .jal-footer__menu-link.jal-footer__menu-link {
    padding-right: 0;
    padding-left: 0; }
  @media print, screen and (min-width: 43.75em) {
    .jal-footer__brand {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      -ms-flex-order: 2;
          order: 2; } }
  @media print, screen and (min-width: 64em) {
    .jal-footer__brand {
      -ms-flex-order: 3;
          order: 3; } }
  .jal-footer__brand-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: start;
        align-items: flex-start;
    max-width: 17.0625rem;
    margin: 0 auto; }
    @media print, screen and (min-width: 43.75em) {
      .jal-footer__brand-wrapper {
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: start;
            align-items: flex-start;
        margin-top: 0.625rem; } }
  @media print, screen and (min-width: 43.75em) and (min-width: 43.75em) {
    .jal-footer__brand-wrapper {
      margin-top: 0.9375rem; } }
  .jal-footer__logo {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
    @media print, screen and (min-width: 43.75em) {
      .jal-footer__logo {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
        width: auto;
        margin-right: 0;
        margin-left: 0;
        -ms-flex-order: 1;
            order: 1; } }
    .jal-footer__logo svg {
      display: block;
      max-width: 11.5625rem;
      max-height: 3.8125rem;
      margin: 0 auto; }
      @media print, screen and (min-width: 43.75em) {
        .jal-footer__logo svg {
          max-width: 17.0625rem;
          max-height: 5.625rem;
          margin-right: 0; } }
  .jal-footer__social {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    color: #768692; }
    @media print, screen and (min-width: 43.75em) {
      .jal-footer__social {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
    @media print, screen and (min-width: 43.75em) {
      .jal-footer__social {
        -ms-flex-order: 2;
            order: 2; } }
  @media print, screen and (min-width: 43.75em) {
    .jal-footer__credit, .jal-footer__site-links {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: auto;
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .jal-footer__credit {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: center; }
  .jal-footer__site-links {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
    .jal-footer__site-links ul {
      padding: 0;
      margin: 0;
      list-style: none;
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      [data-whatinput='mouse'] .jal-footer__site-links ul li {
        outline: 0; }
      .jal-footer__site-links ul a,
      .jal-footer__site-links ul .button {
        line-height: 1;
        text-decoration: none;
        display: block;
        padding: 0.7rem 1rem; }
      .jal-footer__site-links ul input,
      .jal-footer__site-links ul select,
      .jal-footer__site-links ul a,
      .jal-footer__site-links ul button {
        margin-bottom: 0; }
      .jal-footer__site-links ul input {
        display: inline-block; }
    .jal-footer__site-links li {
      position: relative; }
      .jal-footer__site-links li:after {
        position: absolute;
        display: block;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        left: auto;
        width: 1px;
        height: 1em;
        margin: auto;
        background-color: currentColor; }
      .jal-footer__site-links li:last-child:after {
        display: none; }
    .jal-footer__site-links a {
      color: currentColor; }

.jal-sitemap__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-sitemap__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-sitemap__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-sitemap__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-sitemap__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.jal-sitemap__grandchild-menu {
  margin-left: 1em; }

.jal-sitemap__link {
  padding-left: 0 !important; }

.jal-search-results__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.875rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 43.75em) {
    .jal-search-results__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.jal-search-results__wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.jal-search-results__body {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 43.75em) {
    .jal-search-results__body {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.jal-search-results__result-link {
  display: block;
  margin-top: 0.5em;
  font-weight: 300; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsImhlbHBlcnMvX3V0aWxpdHktbWl4aW5zLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfY29sb3JzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9oYW1idXJnZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZhbmN5YXBwcy9mYW5jeWJveC9kaXN0L2pxdWVyeS5mYW5jeWJveC5jc3MiLCJoZWxwZXJzL191dGlsaXR5LWNsYXNzZXMuc2NzcyIsIl90eXBvZ3JhcGh5LnNjc3MiLCJlbGVtZW50cy9fYnV0dG9uLnNjc3MiLCJlbGVtZW50cy9faW5wdXQuc2NzcyIsImVsZW1lbnRzL19kZXZwYWdlcy5zY3NzIiwiZWxlbWVudHMvX3NlbGVjdC5zY3NzIiwiZWxlbWVudHMvX3RleHRhcmVhLnNjc3MiLCJlbGVtZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCJlbGVtZW50cy9fY2hlY2tib3guc2NzcyIsImVsZW1lbnRzL19jaGVja2JveC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsImVsZW1lbnRzL19sb2FkaW5nLnNjc3MiLCJlbGVtZW50cy9fc3ltYm9sLnNjc3MiLCJjb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX21haW4tbmF2LnNjc3MiLCJjb21wb25lbnRzL19xdWlja2xpbmtzLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LnNjc3MiLCJjb21wb25lbnRzL19nYWxsZXJ5LnNjc3MiLCJjb21wb25lbnRzL19pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL19tYXAuc2NzcyIsImNvbXBvbmVudHMvX21hc3RoZWFkLnNjc3MiLCJjb21wb25lbnRzL19wYXRod2F5LnNjc3MiLCJjb21wb25lbnRzL19wbGFuLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXItZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fZmlsdGVyLnNjc3MiLCJjb21wb25lbnRzL19tYXAtYW5kLWZlYXR1cmVzLnNjc3MiLCJjb21wb25lbnRzL19uZXh0LXN0ZXBzLnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0LnNjc3MiLCJjb21wb25lbnRzL19pY29uLWxpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19ibG9jay5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fc3RlcHMuc2NzcyIsImNvbXBvbmVudHMvX3N0ZXAuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fc29jaWFsLWxpbmtzLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDRWpCLGlDQUFpQztBQ0ZqQzs7RUFFRTtBQVlGOztFQUVFO0FBdUJGOztFQUVFO0FBbUJGOztFQUVFO0FBY0Y7O0VBRUU7QUF3QkY7O0VBRUU7QUFRRjs7RUFFRTtBQWNGOzs7RUFHRTtBQTBCRjs7OztFQUlFO0FBYUY7O0VBRUU7QUF3QkY7O0VBRUU7QURyTUYsMkJBQTJCO0FBRzNCOztHQUVHO0FFUkgsZ0RBQVk7QUFDWixnREFBWTtBRGlEUjtFQUNJLDJCQ2hEd0I7RURpRHhCLG1CQ2pEcUU7RURrRHJFLGlCQ2xENkQ7RURtRDdELCtTQU4yRCxFQUFBOztBQUUvRDtFQUNJLDJCQy9Dd0I7RURnRHhCLG1CQ2hEb0U7RURpRHBFLGlCQ2pENEQ7RURrRDVELDBTQU4yRCxFQUFBOztBQUUvRDtFQUNJLDJCQzlDd0I7RUQrQ3hCLG1CQy9Da0U7RURnRGxFLGlCQ2hEMEQ7RURpRDFELGdTQU4yRCxFQUFBOztBQUUvRDtFQUNJLHNDQzVDbUM7RUQ2Q25DLG1CQzdDc0Y7RUQ4Q3RGLGlCQzlDOEU7RUQrQzlFLHdWQU4yRCxFQUFBOztBQUUvRDtFQUNJLHNDQzNDbUM7RUQ0Q25DLG1CQzVDd0Y7RUQ2Q3hGLGlCQzdDZ0Y7RUQ4Q2hGLGtXQU4yRCxFQUFBOztBQUUvRDtFQUNJLHNDQzFDbUM7RUQyQ25DLG1CQzNDeUY7RUQ0Q3pGLGlCQzVDaUY7RUQ2Q2pGLHVXQU4yRCxFQUFBOztBRWxEbkU7Ozs7O0dBS0c7QUM4Skc7RUN2SEo7SUFDRSxZQUFZO0lBQ1osV0FBVztJQUNYLGVBQWUsRUFDaEIsRUFBQTs7QUNIRCxp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RCxFSmdDekQ7RUFGQztJSTdCRixpQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsaUNBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDRCQUQwRCxFSmdDekQ7RVI4Q0M7SVE1REY7TUl6QkEsWUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsWUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsaUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBZEQ7TUl6QkEsWUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsWUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsaUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pELEVBQUE7RVI4Q0M7SVE1REY7TUl6QkEsWUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsWUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsaUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pELEVBQUE7O0FBOENIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUR3SS9CO0VSTEM7SVFBSjtNQ25JTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEd0kvQixFQUFBOztBQUxIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUQ4SS9CO0VSWEM7SVFBSjtNQ25JTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEOEkvQixFQUFBOztBQVhIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRURtSi9CO0VSaEJDO0lRQUo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRG1KL0IsRUFBQTs7QUt0SkM7RUR5REYsWUFEb0QsRUN0RHJEOztBQUZHO0VEeURGLFdBRG9ELEVDdERyRDs7QUFGRztFRHlERixpQkFEb0QsRUN0RHJEOztBQUZHO0VEeURGLFdBRG9ELEVDdERyRDs7QUFGRztFRHlERixXQURvRCxFQ3REckQ7O0FBRkc7RUR5REYsaUJBRG9ELEVDdERyRDs7QUFGRztFRHlERixpQkFEb0QsRUN0RHJEOztBQUZHO0VEeURGLGFBRG9ELEVDdERyRDs7QWJvSUc7RWF0SUE7SUR5REYsWUFEb0QsRUN0RHJEO0VBRkc7SUR5REYsV0FEb0QsRUN0RHJEO0VBRkc7SUR5REYsaUJBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLGlCQURvRCxFQ3REckQ7RUFGRztJRHlERixpQkFEb0QsRUN0RHJEO0VBRkc7SUR5REYsYUFEb0QsRUN0RHJELEVBQUE7O0Fib0lHO0VhdElBO0lEeURGLFlBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLGlCQURvRCxFQ3REckQ7RUFGRztJRHlERixXQURvRCxFQ3REckQ7RUFGRztJRHlERixXQURvRCxFQ3REckQ7RUFGRztJRHlERixpQkFEb0QsRUN0RHJEO0VBRkc7SUR5REYsaUJBRG9ELEVDdERyRDtFQUZHO0lEeURGLGFBRG9ELEVDdERyRCxFQUFBOztBQUZHO0VEeURGLDRCQUQwRCxFQ3REM0Q7O0FBRkc7RUR5REYsMkJBRDBELEVDdEQzRDs7QUFGRztFRHlERixpQ0FEMEQsRUN0RDNEOztBQUZHO0VEeURGLDJCQUQwRCxFQ3REM0Q7O0FBRkc7RUR5REYsMkJBRDBELEVDdEQzRDs7QUFGRztFRHlERixpQ0FEMEQsRUN0RDNEOztBQUZHO0VEeURGLGlDQUQwRCxFQ3REM0Q7O0FBRkc7RUR5REYsNkJBRDBELEVDdEQzRDs7QWJvSUc7RWF0SUE7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLDJCQUQwRCxFQ3REM0Q7RUFGRztJRHlERixpQ0FEMEQsRUN0RDNEO0VBRkc7SUR5REYsMkJBRDBELEVDdEQzRDtFQUZHO0lEeURGLDJCQUQwRCxFQ3REM0Q7RUFGRztJRHlERixpQ0FEMEQsRUN0RDNEO0VBRkc7SUR5REYsaUNBRDBELEVDdEQzRDtFQUZHO0lEeURGLDZCQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw2QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw0QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERixrQ0FEMEQsRUN0RDNEO0VBRkc7SUR5REYsOEJBRDBELEVDdEQzRCxFQUFBOztBYm9JRztFYXRJQTtJRHlERiw2QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw0QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERixrQ0FEMEQsRUN0RDNEO0VBRkc7SUR5REYsOEJBRDBELEVDdEQzRCxFQUFBOztBTGdNRztFTXZNRSxnQkFBMkI7RUFBM0IsZUFBMkIsRU55TTVCO0VNdE1DO0lBRUUsZ0JBQTJCO0lBQTNCLGVBQTJCLEVBRTlCO0VBb0JPO0lGbUNWLGdCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsWUFEb0QsRUVoQzNDO0VkOEdQO0ljaEhRO01GbUNWLGdCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsV0FEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixXQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFdBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsWUFEb0QsRUVoQzNDLEVBQUE7RWQ4R1A7SWNoSFE7TUZtQ1YsZ0JBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxF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QUZDO0lGNENWLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY3pIUTtJRjRDVixnQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY2hIUTtJRm1DVixnQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFlBRG9ELEVFaEMzQyxFQUFBOztBZDhHUDtFUWtFQTtJTXRLRSxnQkFBMkI7SUFBM0IsZUFBMkIsRU53SzVCO0lNcktDO01BRUUsaUJBQTZCO01BQTdCLGdCQUE2QixFQUVoQyxFQUFBOztBTjZLRDtFTzFORixnQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGlDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsc0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix1Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGtDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGtDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGtDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QVJ0RkQ7RVFnRkE7SU8xTkYsZ0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixzQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsd0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlO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QztJSTdCRiw0QkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsa0NBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLGtDQUQwRCxFSmdDekQ7RUFGQztJSTdCRiw0QkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsa0NBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLGtDQUQwRCxFSmdDekQ7RUFGQztJSTdCRiw2QkFEMEQsRUpnQ3pEO0VSOENDO0lRNURGO01JekJBLGFBQW9CLEVKMkJyQjtJQUVDO01JekJBLGFBQW9CLEVKMkJyQjtJQU1HO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsOEJBRDBELEVKZ0N6RDtJQWREO01JekJBLGFBQW9CLEVKMkJyQjtJQUVDO01JekJBLGFBQW9CLEVKMkJyQjtJQU1HO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsOEJBRDBELEVKZ0N6RCxFQUFBO0VSOENDO0lRNURGO01JekJBLGFB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LEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsOEJBRDBELEVKZ0N6RDtJQWREO01JekJBLGFBQW9CLEVKMkJyQjtJQUVDO01JekJBLGFBQW9CLEVKMkJyQjtJQU1HO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsOEJBRDBELEVKZ0N6RCxFQUFBO0VSOENDO0lRNURGO01JekJBLGFBQW9CLEVKMkJyQjtJQUVDO01JekJBLGFBQW9CLEVKMkJyQjtJQU1HO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsOEJBRDBELEVKZ0N6RCxFQUFBOztBQXlTRDtFUTNYSSw4QkFBWSxFUjZYZjtFUjdQQztJUTJQRjtNUTNYSSwrQkFBWSxFUjZYZixFQUFBO0VSN1BDO0lRMlBGO01RM1hJLCtCQUFZLEVSNlhmLEVBQUE7O0FSN1BDO0VRK1BBO0lRL1hFLCtCQUFZLEVSaVliLEVBQUE7O0FSalFEO0VRK1BBO0lRL1hFLCtCQUFZLEVSaVliLEVBQUE7O0FTcktMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVU7RUFDVixXQUFXLEVBQ1o7O0FBR0Q7RUFDRSxvQm5CbEcwQjtFbUJvRzFCLG1CQUFtQjtFQUNuQixpQm5CdEdzQjtFbUJ1R3RCLG1DbkJyR3lDLEVtQnNHMUM7O0FBR0Q7O0VBRUUsbUJBQW1CO0VBQ25CLHFCQUFxQixFQUN0Qjs7QUFHRDs7RUFFRSxrQm5CMUxxQjtFbUIyTHJCLHFCQUFxQixFQUN0Qjs7QUFHRDtFQUNFLGVuQjVIaUI7RW1CNkhqQixxQkFBcUIsRUFDdEI7O0FBR0Q7Ozs7OztFQU1FLDRFbkJqSytFO0VtQmtLL0UsbUJuQmhLc0I7RW1CaUt0QixpQm5CbEtvQjtFbUJtS3BCLGVuQmhLa0I7RW1CaUtsQixtQ25CNUlzQyxFbUJrSnZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFlO0lBQ2YsZVh6VHFCLEVXMFR0Qjs7QUFRRztFQUlJLGtCTnZQVTtFTW1RVixtQm5CN0xhO0VtQnFNYixjQUFjO0VBT2Qsc0JuQjNNaUIsRW1CNk1wQjs7QUFqQ0Q7RUFJSSxnQk52UFU7RU1tUVYsbUJuQjdMYTtFbUJxTWIsY0FBYztFQU9kLHNCbkIzTWlCLEVtQjZNcEI7O0FBakNEO0VBSUksbUJOdlBVO0VNbVFWLG1CbkI3TGE7RW1CcU1iLGNBQWM7RUFPZCxzQm5CM01pQixFbUI2TXBCOztBQWpDRDtFQUlJLG9CTnZQVTtFTW1RVixtQm5CN0xhO0VtQnFNYixjQUFjO0VBT2Qsc0JuQjNNaUIsRW1CNk1wQjs7QUFqQ0Q7RUFJSSxrQk52UFU7RU1tUVYsbUJuQjdMYTtFbUJxTWIsY0FBYztFQU9kLHNCbkIzTWlCLEVtQjZNcEI7O0FBakNEO0VBSUksbUJOdlBVO0VNbVFWLG1CbkI3TGE7RW1CcU1iLGNB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MkZkLDJCQUFzQjtNQUF0QixzQkFBc0IsRUFDdkI7O0FBS0c7RUNuQ0osa0JEa0NnQjtNQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osa0JEa0NnQjtNQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osa0JEa0NnQjtNQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osa0JEa0NnQjtNQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osa0JEa0NnQjtNQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osa0JEa0NnQjtNQ2xDaEIsU0RrQ2dCLEVBR1g7O0EzQ3FERDtFMkN2REE7SUNuQ0osa0JEa0NnQjtRQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixrQkRrQ2dCO1FDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGtCRGtDZ0I7UUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osa0JEa0NnQjtRQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixrQkRrQ2dCO1FDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGtCRGtDZ0I7UUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0EzQ3FERDtFMkN2REE7SUNuQ0osa0JEa0NnQjtRQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixrQkRrQ2dCO1FDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGtCRGtDZ0I7UUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osa0JEa0NnQjtRQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixrQkRrQ2dCO1FDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGtCRGtDZ0I7UUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0FBN0ZMO0VDT0EscUJBQWM7RUFBZCxjQUFjLEVETGI7O0FBRUQ7RUFDRSxtQkFBZTtNQUFmLGVBQWUsRUFDaEI7O0FBRUQ7RUFDRSxtQkFBZTtNQUFmLGVBQWUsRUFDaEI7O0FBRUQ7RUFDRSxtQkFBZTtNQUFmLGVBQWUsRUFDaEI7O0FBR0M7RUNpREYsd0JBbkVVO01BbUVWLG9CQW5FVSxFRG9CUDs7QUFGRDtFQ2lERixnQ0FsRTBCO01Ba0UxQiw0QkFsRTBCLEVEbUJ2Qjs7QUFGRDtFQ2lERiwyQkFqRWdCO01BaUVoQix1QkFqRWdCLEVEa0JiOztBQUZEO0VDaURGLG1DQWhFZ0M7TUFnRWhDLCtCQWhFZ0MsRURpQjdCOztBM0MrSEM7RTJDdkhJO0lDcEJSLHFCQUFjO0lBQWQsY0FBYyxFRHNCTDtFQUVEO0lBQ0UsbUJBQWU7UUFBZixlQUFlLEVBQ2hCO0VBRUQ7SUFDRSxtQkFBZTtRQUFmLGVBQWUsRUFDaEI7RUFFRDtJQUNFLG1CQUFlO1FBQWYsZUFBZSxFQUNoQjtFQUdDO0lDc0JWLHdCQW5FVTtRQW1FVixvQkFuRVUsRUQrQ0M7RUFGRDtJQ3NCVixnQ0FsRTBCO1FBa0UxQiw0QkFsRTBCLEVEOENmO0VBRkQ7SUNzQlYsMkJBakVnQjtRQWlFaEIsdUJBakVnQixFRDZDTDtFQUZEO0lDc0JWLG1DQWhFZ0M7UUFnRWhDLCtCQWhFZ0MsRUQ0Q3JCLEVBQUE7O0EzQ29HUDtFMkN2SEk7SUNwQlIscUJBQWM7SUFBZCxjQUFjLEVEc0JMO0VBRUQ7SUFDRSxtQkFBZTtRQUFmLGVBQWUsRUFDaEI7RUFFRDtJQUNFLG1CQUFlO1FBQWYsZUFBZSxFQUNoQjtFQUVEO0lBQ0UsbUJBQWU7UUFBZixlQUFlLEVBQ2hCO0VBR0M7SUNzQlYsd0JBbkVVO1FBbUVWLG9CQW5FVSxFRCtDQztFQUZEO0lDc0JWLGdDQWxFMEI7UUFrRTFCLDRCQWxFMEIsRUQ4Q2Y7RUFGRDtJQ3NCViwyQkFqRWdCO1FBaUVoQix1QkFqRWdCLEVENkNMO0VBRkQ7SUNzQlYsbUNBaEVnQztRQWdFaEMsK0JBaEVnQyxFRDRDckIsRUFBQTs7QUVwRFg7RUFSQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpaSDtFRTBDRSx5QkFGaUIsRUVoQmhCOztBSnZCSDtFQVRBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNkJBRmlCO0VDdkJmLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBSlhIO0VFeUNFLHlCQUZpQixFRWhCaEI7O0FKdEJIO0VBVkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUNSM0I7O0FKVkg7RUV3Q0UseUJBRmlCLEVFaEJoQjs7QUpyQkg7RUFYQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpUSDtFRXVDRSx5QkFGaUIsRUVoQmhCOztBSnBCSDtFQVpBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIseUJBRmlCO0VDdkJmLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBSlJIO0VFc0NFLDRCQUZpQixFRWhCaEI7O0FKbkJIO0VBYkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix5QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUNSM0I7O0FKUEg7RUVxQ0UsNEJBRmlCLEVFaEJoQjs7QUpsQkg7RUFkQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHlCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpOSDtFRW9DRSw2QkFGaUIsRUVoQmhCOztBSmpCSDtFQWZBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIseUJBRmlCO0VDdkJmLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBSkxIO0VFbUNFLDZCQUZpQixFRWhCaEI7O0FKZEg7RUFsQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUtBbEMsNkJBQTZCLEVERTVCOztBSkZIO0VFZ0NFLFdGaENxQyxFSWNwQzs7QUpiSDtFQW5CQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFS0RsQyw2QkFBNkIsRURFNUI7O0FKREg7RUUrQkUsV0YvQnFDLEVJYXBDOztBSlZIO0VBdEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NJckNZO0VKcUNaLHNCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKRUg7RUU0QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlRIO0VBdkJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NJcENjO0VKb0NkLHdCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKR0g7RUUyQkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlJIO0VBeEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOENJbkNlO0VKbUNmLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKSUg7RUUwQkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlBIO0VBekJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOENJbENhO0VKa0NiLHVCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKS0g7RUV5QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSk5IO0VBMUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NJckNZO0VKcUNaLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKTUg7RUV3QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkxIO0VBM0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NJcENjO0VKb0NkLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKT0g7RUV1QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkpIO0VBNUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLHNCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKUUg7RUVzQkUsK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkhIO0VBN0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLHdCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKU0g7RUVxQkUsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBSkZIO0VBOUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKVUg7RUVvQkUsOENJbkNlO0VDcUJiLFdBQThCLEVISi9COztBSkRIO0VBL0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLHVCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKV0g7RUVtQkUsOENJbENhO0VDb0JYLFdBQThCLEVISi9COztBSkFIO0VBaENBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKWUg7RUVrQkUsK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkNIO0VBakNBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKYUg7RUVpQkUsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBSklIO0VBcENBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0JBRmlCO0VNM0JmLHdDQUF3QztFQUN4QyxXQUEyQixFSkY1Qjs7QUpnQkg7RUVjRSxvQkFGaUI7RU1oQmYsV0FBMkIsRUpBNUI7O0FKS0g7RUFyQ0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzQkFGaUI7RU0zQmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVKRjVCOztBSmlCSDtFRWFFLG9CQUZpQjtFTWhCZixXQUEyQixFSkE1Qjs7QUpNSDtF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QUEsRUFBQTtFRmcwS3RCO0lFaDBLc0IsZUFBQSxFQUFBO0VGazBLdEI7SUVsMEtzQixnQkFBQSxFQUFBO0VGbzBLdEI7SUVwMEtzQixhQUFBLEVBQUE7RUZzMEt0QjtJRXQwS3NCLGFBQUEsRUFBQTtFRncwS3RCO0lFeDBLc0IsYUFBQSxFQUFBO0VGMDBLdEI7SUUxMEtzQixhQUFBLEVBQUE7RUY0MEt0QjtJRTUwS3NCLGFBQUEsRUFBQTtFRjgwS3RCO0lFOTBLc0IsY0FBQSxFQUFBO0VGZzFLdEI7SUVoMUtzQixvQkFBQSxFQUFBO0VGazFLdEI7SUVsMUtzQixtQkFBQSxFQUFBO0VGbzFLdEI7SUVwMUtzQixvQkFBQSxFQUFBO0VGczFLdEI7SUV0MUtzQixpQkFBQSxFQUFBO0VGdzFLdEI7SUV4MUtzQixpQkFBQSxFQUFBO0VGMDFLdEI7SUUxMUtzQixpQkFBQSxFQUFBO0VGNDFLdEI7SUU1MUtzQixpQkFBQSxFQUFBO0VGODFLdEI7SUU5MUtzQixpQkFBQSxFQUFBO0VGZzJLdEI7SUVoMktzQixpQkFBQSxFQUFBO0VGazJLdEI7SUVsMktzQix1QkFBQSxFQUFBO0VGbzJLdEI7SUVwMktzQixzQkFBQSxFQUFBO0VGczJLdEI7SUV0MktzQix1QkFBQSxFQUFBO0VGdzJLdEI7SUV4MktzQixvQkFBQSxFQUFBO0VGMDJLdEI7SUUxMktzQixvQkFBQSxFQUFBO0VGNDJLdEI7SUU1MktzQixvQkFBQSxFQUFBO0VGODJLdEI7SUU5MktzQixvQkFBQSxFQUFBO0VGZzNLdEI7SUVoM0tzQixvQkFBQSxFQUFBO0VGazNLdEI7SUVsM0tzQixnQkFBQSxFQUFBO0VGbzNLdEI7SUVwM0tzQixzQkFBQSxFQUFBO0VGczNLdEI7SUV0M0tzQixxQkFBQSxFQUFBO0VGdzNLdEI7SUV4M0tzQixzQkFBQSxFQUFBO0VGMDNLdEI7SUUxM0tzQixtQkFBQSxFQUFBO0VGNDNLdEI7SUU1M0tzQixtQkFBQSxFQUFBO0VGODNLdEI7SUU5M0tzQixtQkFBQSxFQUFBO0VGZzRLdEI7SUVoNEtzQixtQkFBQSxFQUFBO0VGazRLdEI7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THNCLGtCQUFBLEVBQUE7RUZnbEx0QjtJRWhsTHNCLHdCQUFBLEVBQUE7RUZrbEx0QjtJRWxsTHNCLHVCQUFBLEVBQUE7RUZvbEx0QjtJRXBsTHNCLHdCQUFBLEVBQUE7RUZzbEx0QjtJRXRsTHNCLHFCQUFBLEVBQUE7RUZ3bEx0QjtJRXhsTHNCLHFCQUFBLEVBQUE7RUYwbEx0QjtJRTFsTHNCLHFCQUFBLEVBQUE7RUY0bEx0QjtJRTVsTHNCLHFCQUFBLEVBQUE7RUY4bEx0QjtJRTlsTHNCLHFCQUFBLEVBQUE7RUZnbUx0QjtJRWhtTHNCLFVBQUEsRUFBQTtFRmttTHRCO0lFbG1Mc0IsZ0JBQUEsRUFBQTtFRm9tTHRCO0lFcG1Mc0IsZUFBQSxFQUFBO0VGc21MdEI7SUV0bUxzQixnQkFBQSxFQUFBO0VGd21MdEI7SUV4bUxzQixhQUFBLEVBQUE7RUYwbUx0QjtJRTFtTHNCLGFBQUEsRUFBQTtFRjRtTHRCO0lFNW1Mc0IsYUFBQSxFQUFBO0VGOG1MdEI7SUU5bUxzQixhQUFBLEVBQUE7RUZnbkx0QjtJRWhuTHNCLGFBQUEsRUFBQTtFRmtuTHRCO0lFbG5Mc0IsY0FBQSxFQUFBO0VGb25MdEI7SUVwbkxzQixvQkFBQSxFQUFBO0VGc25MdEI7SUV0bkxzQixtQkFBQSxFQUFBO0VGd25MdEI7SUV4bkxzQixvQkFBQSxFQUFBO0VGMG5MdEI7SUUxbkxzQixpQkFBQSxFQUFBO0VGNG5MdEI7SUU1bkxzQixpQkFBQSxFQUFBO0VGOG5MdEI7SUU5bkxzQixpQkFBQSxFQUFBO0VGZ29MdEI7SUVob0xzQixpQkFBQSxFQUFBO0VGa29MdEI7SUVsb0xzQixpQkFBQSxFQUFBO0VGb29MdEI7SUVwb0xzQixpQkFBQSxFQUFBO0VGc29MdEI7SUV0b0xzQix1QkFBQSxFQUFBO0VGd29MdEI7SUV4b0xzQixzQkFBQSxFQUFBO0VGMG9MdEI7SUUxb0xzQix1QkFBQSxFQUFBO0VGNG9MdEI7SUU1b0xzQixvQkFBQSxFQUFBO0VGOG9MdEI7SUU5b0xzQixvQkFBQSxFQUFBO0VGZ3BMdEI7SUVocExzQixvQkFBQSxFQUFBO0VGa3BMdEI7SUVscExzQixvQkFBQSxFQUFBO0VGb3BMdEI7SUVwcExzQixvQkFBQSxFQUFBO0VGc3BMdEI7SUV0cExzQixnQkFBQSxFQUFBO0VGd3BMdEI7SUV4cExzQixzQkFBQSxFQUFBO0VGMHBMdEI7SUUxcExzQixxQkFBQSxFQUFBO0VGNHBMdEI7SUU1cExzQixzQkFBQSxFQUFBO0VGOHBMdEI7SUU5cExzQixtQkFBQSxFQUFBO0VGZ3FMdEI7SUVocUxzQixtQkFBQSxFQUFBO0VGa3FMdEI7SUVscUxzQixtQkFBQSxFQUFBO0VGb3FMdEI7SUVwcUxzQixtQkFBQSxFQUFBO0VGc3FMdEI7SUV0cUxzQixtQkFBQSxFQUFBO0VGd3FMdEI7SUV4cUxzQixlQUFpQixFQUFqQjtFRjBxTHRCO0lFMXFMc0IscUJBQUEsRUFBQTtFRjRxTHRCO0lFNXFMc0Isb0JBQUEsRUFBQTtFRjhxTHRCO0lFOXFMc0IscUJBQUEsRUFBQTtFRmdyTHRCO0lFaHJMc0Isa0JBQUEsRUFBQTtFRmtyTHRCO0lFbHJMc0Isa0JBQUEsRUFBQTtFRm9yTHRCO0lFcHJMc0Isa0JBQUEsRUFBQTtFRnNyTHRCO0lFdHJMc0Isa0JBQUEsRUFBQTtFRndyTHRCO0lBQ0Usa0JBQWtCLEVBQUUsRUFBRTs7QUFFMUI7RUFDRTtJRTVyTHNCLFdBQUEsRUFBQTtFRjhyTHRCO0lFOXJMc0IsaUJBQUEsRUFBQTtFRmdzTHRCO0lFaHNMc0IsZ0JBQUEsRUFBQTtFRmtzTHRCO0lFbHNMc0IsaUJBQUEsRUFBQTtFRm9zTHRCO0lFcHNMc0IsY0FBQSxFQUFBO0VGc3NMdEI7SUV0c0xzQixjQUFBLEVBQUE7RUZ3c0x0QjtJRXhzTHNCLGNBQUEsRUFBQTtFRjBzTHRCO0lFMXNMc0IsY0FBQSxFQUFBO0VGNHNMdEI7SUU1c0xzQixjQUFBLEVBQUE7RUY4c0x0QjtJRTlzTHNCLGVBQUEsRUFBQTtFRmd0THRCO0lFaHRMc0IscUJBQUEsRUFBQTtFRmt0THRCO0lFbHRMc0Isb0JBQUEsRUFBQTtFRm90THRCO0lFcHRMc0IscUJBQUEsRUFBQTtFRnN0THRCO0lFdHRMc0Isa0JBQUEsRUFBQTtFRnd0THRCO0lFeHRMc0Isa0JBQUEsRUFBQTtFRjB0THRCO0lFMXRMc0Isa0JBQUEsRUFBQTtFRjR0THRCO0lFNXRMc0Isa0JBQUEsRUFBQTtFRjh0THRCO0lFOXRMc0Isa0JBQUEsRUFBQTtFRmd1THRCO0lFaHVMc0Isa0JBQUEsRUFBQTtFRmt1THRCO0lFbHVMc0Isd0JBQUEsRUFBQTtFRm91THRCO0lFcHVMc0IsdUJBQUEsRUFBQTtFRnN1THRCO0lFdHVMc0Isd0JBQUEsRUFBQTtFRnd1THRCO0lFeHVMc0IscUJBQUEsRUFBQTtFRjB1THRCO0lFMXVMc0IscUJBQUEsRUFBQTtFRjR1THRCO0lFNXVMc0IscUJBQUEsRUFBQTtFRjh1THRCO0lFOXVMc0IscUJBQUEsRUFBQTtFRmd2THRCO0lFaHZMc0IscUJBQUEsRUFBQTtFRmt2THRCO0lFbHZMc0IsVUFBQSxFQUFBO0VGb3ZMdEI7SUVwdkxzQixnQkFBQSxFQUFBO0VGc3ZMdEI7SUV0dkxzQixlQUFpQixFQUFqQjtFRnd2THRCO0lFeHZMc0IsZ0JBQUEsRUFBQTtFRjB2THRCO0lFMXZMc0IsYUFBZSxFQUFmO0VGNHZMdEI7SUU1dkxzQixhQUFlLEVBQWY7RUY4dkx0QjtJRTl2THNCLGFBQWUsRUFBZjtFRmd3THRCO0lFaHdMc0IsYUFBZSxFQUFmO0VGa3dMdEI7SUVsd0xzQixhQUFBLEVBQUE7RUZvd0x0QjtJRXB3THNCLGNBQUEsRUFBa0I7RUZzd0x4QztJRXR3THNCLG9CQUFBLEVBQUE7RUZ3d0x0QjtJRXh3THNCLG1CQUFBLEVBQUE7RUYwd0x0QjtJRTF3THNCLG9CQUFBLEVBQUE7RUY0d0x0QjtJRTV3THNCLGlCQUFBLEVBQUE7RUY4d0x0QjtJRTl3THNCLGlCQUFBLEVBQUE7RUZneEx0QjtJRWh4THNCLGlCQUFBLEVBQUE7RUZreEx0QjtJRWx4THNCLGlCQUFBLEVBQUE7RUZveEx0QjtJRXB4THNCLGlCQUFBLEVBQUE7RUZzeEx0QjtJRXR4THNCLGlCQUFBLEVBQUE7RUZ3eEx0QjtJRXh4THNCLHVCQUFBLEVBQUE7RUYweEx0QjtJRTF4THNCLHNCQUFBLEVBQUE7RUY0eEx0QjtJRTV4THNCLHVCQUFBLEVBQUE7RUY4eEx0QjtJRTl4THNCLG9CQUFBLEVBQUE7RUZneUx0QjtJRWh5THNCLG9CQUFBLEVBQUE7RUZreUx0QjtJRWx5THNCLG9CQUFBLEVBQUE7RUZveUx0QjtJRXB5THNCLG9CQUFBLEVBQUE7RUZzeUx0QjtJRXR5THNCLG9CQUFBLEVBQUE7RUZ3eUx0QjtJRXh5THNCLGdCQUFrQixFQUFsQjtFRjB5THRCO0lFMXlMc0Isc0JBQUEsRUFBQTtFRjR5THRCO0lFNXlMc0IscUJBQUEsRUFBQTtFRjh5THRCO0lFOXlMc0Isc0JBQUEsRUFBQTtFRmd6THRCO0lFaHpMc0IsbUJBQUEsRUFBQTtFRmt6THRCO0lFbHpMc0IsbUJBQUEsRUFBQTtFRm96THRCO0lFcHpMc0IsbUJBQUEsRUFBQTtFRnN6THRCO0lFdHpMc0IsbUJBQUEsRUFBQTtFRnd6THRCO0lFeHpMc0IsbUJBQUEsRUFBQTtFRjB6THRCO0lFMXpMc0IsZUFBQSxFQUFBO0VGNHpMdEI7SUU1ekxzQixxQkFBQSxFQUFBO0VGOHpMdEI7SUU5ekxzQixvQkFBQSxFQUFBO0VGZzBMdEI7SUVoMExzQixxQkFBQSxFQUFBO0VGazBMdEI7SUVsMExzQixrQkFBQSxFQUFBO0VGbzBMdEI7SUVwMExzQixrQkFBQSxFQUFBO0VGczBMdEI7SUV0MExzQixrQkFBQSxFQUFBO0VGdzBMdEI7SUV4MExzQixrQkFBQSxFQUFBO0VGMDBMdEI7SUFDRSxrQkFBa0IsRUFBRSxFQUFFOztBbUV4OUxkLDBDQUFFO0FBQ0Y7OztFQUtRLGtCaEVzSm9DO0VnRXJKcEMsaUJ4RFhDO0V3RGNMLGVBQUE7RUFDQSxxRUFDSDtFbkVzOUxYLHFCQUFxQixFQUFFOztBbUVqK0xiOztFQUtRLGdCaEV1Sm9DO0VnRXRKcEMsaUJ4RFhDO0V3RGNMLGVBQUE7RUFDQSxxRUFDSDtFbkU4OUxYLHFCQUFxQixFQUFFOztBbUV6K0xiOztFQUtRLG1CaEV3Sm9DO0VnRXZKcEMsaUJ4RFhDO0V3RGNM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UUFBTTtRQUNOLFdBQVc7UUFDWCxXQUFZO1FBQ1osWUFBYTtRQUNiLGFBQUE7UUEvTmhCLCtCQXNOVSxFQUFBO005R280WEo7UThHMWxZTixjQUFBLEVBQUE7STlHNGxZSTtNQUNFLG9CQUFvQixFQUFFOztBQUU1QjtFYy9qWVEsd0JBQTRCO0VDZmxDLHVCQ3VFb0I7RUR0RXBCLHFCa0VaRztFNUU2SkMsZUFBTyxFQUFBO0VMaThYWDtJQUNFO01jcmtZSSx5QkFBNEI7TWR1a1k5Qix3QkFBd0IsRUFBRSxFQUFFOztBQUVsQztFZXhrWUUscUJBSjhDO0VBSTlDLGNBSjhDO0VmOGtZOUMsd0JBQW9CO01BQXBCLG9CQUFvQixFQUFFOztBQUV4QjtFY3BrWU0sNEJBQTRCO0VBQTVCLHVCQUE0QjtFVDBINUIsc0JBQWEsRUFBQTtFTDg4WGpCO0lBQ0U7TWN6a1lFLDZCQUE0QjtNQUE1Qix3QkFBNEI7TWQ0a1k1Qix1QkFBdUIsRUFBRSxFQUFFOztBQUVqQztFQUNFLGlCQUFpQixFQUFFOztBQUVyQjtFQUNFLDJCQUEyQixFQUFFOztBQUUvQjtFYzdsWVEsd0JBQTRCO0VDZmxDLHVCQ3VFb0I7RUR0RXBCLHFCa0VaRztFNUU2SkMsZUFBTyxFQUFBO0VMKzlYWDtJQUNFO01jbm1ZSSx5QkFBNEI7TWRxbVk5Qix3QkFBd0IsRUFBRSxFQUFFOztBQUVsQztFZXRtWUUscUJBSjhDO0VBSTlDLGNBSjhDO0VmNG1ZOUMsd0JBQW9CO01BQXBCLG9CQUFvQixFQUFFOztBQUV4QjtFY2xtWU0sNEJBQTRCO0VBQTVCLHVCQUE0QjtFVDBINUIsc0JBQWEsRUFBQTtFTDQrWGpCO0lBQ0U7TWN2bVlFLDZCQUE0QjtNQUE1Qix3QkFBNEI7TWQwbVk1Qix1QkFBdUIsRUFBRSxFQUFFOztBQUVqQztFK0docFlRLGVBQVk7RUFDWixrQjVHb0pnQjtFSDgvWHRCLGlCQUFpQixFQUFFIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBPdXIgTWl4aW5zLCBubyBEZXBlbmRhbmNpZXMgKi9cbi8qKlxuKiBTdHJpbmcgUmVwbGFjZVxuKi9cbi8qKlxuKiBTdHJpbmcgU3BsaXRcbiovXG4vKipcbiogRm9udCBGYWNlOiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9qb25hdGhhbnRuZWFsL2QwNDYwZTVjMmQ1ZDdmOWJjNWU2XG4qL1xuLyoqXG4qIHBzZXVkbyBFbGVtZW50IEhlbHBlclxuKi9cbi8qKlxuKiBSZXNldHMgQ29tcG9uZW50IGZvbnRzaXplLCBjb2xvci5cbiovXG4vKipcbiogU2luZ2xlIExpbmUgdHJ1bmNhdGlvblxuKi9cbi8qKlxuKiBQcm9kdWNlcyBhIGdyb3VwIG9mIGNvbG9yIGNsYXNzZXMgYXQgdmFyaW91cyB0aW50cywgZ2l2ZW4gYSBoZXggY29kZVxuKi9cbi8qKlxuKiBHZW5lcmF0ZSBjbGFzc2VzIFticmVha3BvaW50XS1bcHJvcGVydHldLVt2YWx1ZV0uIFNlZSBIZWxwZXIgQ2xhc3NlcyBmb3IgdXNhZ2VcbiogZS5nLiAuc21hbGwtcHQtMnJlbVxuKi9cbi8qKlxuKiBDb21wdXRlcyBhIENTUyBjYWxjIGZ1bmN0aW9uIHRoYXQgYmV0d2VlbnMgYSB2YWx1ZSBmcm9tXG4qIEEgdG8gQiBvdmVyIHZpZXdwb3J0LXdpZHRoIEEgdG8gdmlld3BvcnQtd2lkdGggQi5cbiogUmVxdWlyZXMgYSBtZWRpYSBxdWVyeSB0byBjYXAgdGhlIHZhbHVlIGF0IEIuXG4qL1xuLyoqXG4qIEdlbmVyYXRlcyBtdWx0aWxpbmUgZWxsaXBzZWQgdGV4dFxuKi9cbi8qKlxuKiBSZW1vdmVzIG1vdXNlIGZvY3VzIHJpbmcgb24gZWxlbWVudHNcbiovXG4vKiBCcmFuZCBDb2xvdXJzIGFzIFZhcnMgKi9cbi8qKlxuICogIENvcmUgZm91bmRhdGlvblxuICovXG5AaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzZiZjI5XCIpO1xuQGltcG9ydCB1cmwoXCIvL2hlbGxvLm15Zm9udHMubmV0L2NvdW50LzM2Y2RjM1wiKTtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJOdW5pdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTnVuaXRvLVNhbnMtUmVndWxhci5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvTnVuaXRvLVNhbnMtUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvTnVuaXRvLVNhbnMtUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL051bml0by1TYW5zLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9OdW5pdG8tU2Fucy1SZWd1bGFyLnN2ZyNOdW5pdG9fU2Fuc1wiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0byBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9OdW5pdG8tU2Fucy1JdGFsaWMuZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzL051bml0by1TYW5zLUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvTnVuaXRvLVNhbnMtSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvTnVuaXRvLVNhbnMtSXRhbGljLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvTnVuaXRvLVNhbnMtSXRhbGljLnN2ZyNOdW5pdG9fU2Fuc1wiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0byBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9OdW5pdG8tU2Fucy1Cb2xkLmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy9OdW5pdG8tU2Fucy1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9OdW5pdG8tU2Fucy1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvTnVuaXRvLVNhbnMtQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL051bml0by1TYW5zLUJvbGQuc3ZnI051bml0b19TYW5zXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSHVybWVHZW9tZXRyaWNTYW5zNC1MaWdodC5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvSHVybWVHZW9tZXRyaWNTYW5zNC1MaWdodC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSHVybWVHZW9tZXRyaWNTYW5zNC1MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0h1cm1lR2VvbWV0cmljU2FuczQtTGlnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9IdXJtZUdlb21ldHJpY1NhbnM0LUxpZ2h0LnN2ZyNIdXJtZV9HZW9tZXRyaWNfU2Fuc180XCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSHVybWVHZW9tZXRyaWNTYW5zNC1SZWd1bGFyLmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy9IdXJtZUdlb21ldHJpY1NhbnM0LVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0h1cm1lR2VvbWV0cmljU2FuczQtUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0h1cm1lR2VvbWV0cmljU2FuczQtUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0h1cm1lR2VvbWV0cmljU2FuczQtUmVndWxhci5zdmcjSHVybWVfR2VvbWV0cmljX1NhbnNfNFwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkh1cm1lIEdlb21ldHJpYyBTYW5zIDRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0h1cm1lR2VvbWV0cmljU2FuczQtU2VtaUJvbGQuZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzL0h1cm1lR2VvbWV0cmljU2FuczQtU2VtaUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0h1cm1lR2VvbWV0cmljU2FuczQtU2VtaUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9IdXJtZUdlb21ldHJpY1NhbnM0LVNlbWlCb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvSHVybWVHZW9tZXRyaWNTYW5zNC1TZW1pQm9sZC5zdmcjSHVybWVfR2VvbWV0cmljX1NhbnNfNFwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00My43NWVtJmxhcmdlPTY0ZW0meGxhcmdlPTc2Ljg3NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJOdW5pdG8gU2Fuc1wiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBjb2xvcjogIzIyMjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJIdXJtZSBHZW9tZXRyaWMgU2FucyA0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2ViZjBmMjsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMDcxZDQ5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzA2MTkzZjsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzYuODc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYTRiY2MyO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICM2NGNjYzk7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjMDcxZDQ5OyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMyMjI7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMjIyO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmYwZjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY4Zjk7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzIyMjsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjhmOTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMjIyOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM3Njg2OTI7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDExMi41JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY4NjkyO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuNjVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0Y2NjOTtcbiAgY29sb3I6ICMwNzFkNDk7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYzFiZDtcbiAgICBjb2xvcjogIzA3MWQ0OTsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuNGVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRjY2M5O1xuICAgICAgY29sb3I6ICMwNzFkNDk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gICAgY29sb3I6ICM2NGNjYzk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMyNjcyNzA7XG4gICAgICBjb2xvcjogIzI2NzI3MDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gICAgICAgIGNvbG9yOiAjNjRjY2M5OyB9XG4gIC5idXR0b24uY2xlYXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gICAgY29sb3I6ICM2NGNjYzk7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjY3MjcwO1xuICAgICAgY29sb3I6ICMyNjcyNzA7IH1cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gICAgICAgIGNvbG9yOiAjNjRjY2M5OyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNjRjY2M5OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgY29sb3I6ICMyMjI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc2ODY5MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2ViZjBmMjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY4Zjk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMyMjI7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMjIyOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZjBmMjtcbiAgYmFja2dyb3VuZDogI2Y1ZjhmOTtcbiAgY29sb3I6ICMyMjI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmYwZjI7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIGNvbG9yOiAjMjIyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODM0LCAzNCwgMzQlMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEuMjVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc2ODY5MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2ViZjBmMjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY4Zjk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWVkZWI7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNTc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiIMK3XCI7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNlYmYwZjI7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzIyMjsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjc2ZWM7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjJlNmU0O1xuICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZGVkYmI7XG4gICAgY29sb3I6ICMyMjI7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDc4MDtcbiAgICBjb2xvcjogIzIyMjsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2YTU5YjtcbiAgICBjb2xvcjogIzIyMjsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMjIyOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAycmVtO1xuICBiYWNrZ3JvdW5kOiAjZjVmOGY5OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDJyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICNkOWQ5ZDk7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHRvcDogMXJlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMC45Mzc1cmVtO1xuICAgIHRvcDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC43ZW0gMDsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzA3MWQ0OTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzA3MWQ0OTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDEuMzEyNXJlbSAxLjg3NXJlbTtcbiAgYmFja2dyb3VuZDogIzc2ODY5MjsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICM3Njg2OTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDEuMzEyNXJlbSAxLjg3NXJlbTsgfVxuXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjgwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmYwZjI7XG4gIGJhY2tncm91bmQ6ICMyMjI7IH1cbiAgLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuMTEsIDAuOTIsIDAuMDUsIDAuOTkpLCB2aXNpYmlsaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuMTEsIDAuOTIsIDAuMDUsIDAuOTkpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAzNCwgMzQsIDAuOCk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjExLCAwLjkyLCAwLjA1LCAwLjk5KTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjNzY4NjkyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDM0LCAzNCwgMzQsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzc2ODY5MjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgzNCwgMzQsIDM0LCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAzMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMDBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwMHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzAwcHgpOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMzQsIDM0LCAzNCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMzAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMDBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwMHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzAwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMzQsIDM0LCAzNCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMzAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwMHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwMHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoMzQsIDM0LCAzNCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMzAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMDBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMDBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAwcHgpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDM0LCAzNCwgMzQsIDAuMjUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjExLCAwLjkyLCAwLjA1LCAwLjk5KTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwMHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMDBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzAwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzAwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMzAwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMDBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMDBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMDBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMDBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzAwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMDBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMDBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMzAwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzAwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMyMjI7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmOGY5OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzA3MWQ0OTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNlYmYwZjI7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMyMjI7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUzNWY2ODtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZjBmMjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzYuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3Ni44NzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My42ODc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My42ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My42ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3Ni44MTI1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYuODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4vKiBWZW5kb3IgKi9cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1nL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4vKiBJY29ucyAqL1xuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXByZXY6Zm9jdXMsXG4gIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMjU7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbi8qIVxuICogSGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gKi9cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiA0cHggMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuaGFtYnVyZ2VyOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7IH1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAyMC4wOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG4gIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IC05LjA0cHg7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTkuMDRweDsgfVxuXG5ib2R5LmNvbXBlbnNhdGUtZm9yLXNjcm9sbGJhciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWFjdGl2ZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZmFuY3lib3gtaXMtaGlkZGVuIHtcbiAgbGVmdDogLTk5OTlweDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAtOTk5OXB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIHNhbnMtc2VyaWYsICdBcHBsZSBDb2xvciBFbW9qaScsXHIgJ1NlZ29lIFVJIEVtb2ppJywgJ1NlZ29lIFVJIFN5bWJvbCc7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5MjsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5mYW5jeWJveC1vdXRlcixcbi5mYW5jeWJveC1pbm5lcixcbi5mYW5jeWJveC1iZyxcbi5mYW5jeWJveC1zdGFnZSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbi5mYW5jeWJveC1vdXRlciB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uZmFuY3lib3gtYmcge1xuICBiYWNrZ3JvdW5kOiAjMWUxZTFlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQsIDAuNzEpOyB9XG5cbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1iZyB7XG4gIG9wYWNpdHk6IC44NztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC10b29sYmFyLFxuLmZhbmN5Ym94LWNhcHRpb24sXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAuMjVzO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTk3OyB9XG5cbi5mYW5jeWJveC1zaG93LWluZm9iYXIgLmZhbmN5Ym94LWluZm9iYXIsXG4uZmFuY3lib3gtc2hvdy10b29sYmFyIC5mYW5jeWJveC10b29sYmFyLFxuLmZhbmN5Ym94LXNob3ctY2FwdGlvbiAuZmFuY3lib3gtY2FwdGlvbixcbi5mYW5jeWJveC1zaG93LW5hdiAuZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzLCB2aXNpYmlsaXR5IDBzO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyIHtcbiAgY29sb3I6ICNjY2M7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIGhlaWdodDogNDRweDtcbiAgbGVmdDogMDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIG1pbi13aWR0aDogNDRweDtcbiAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXRvb2xiYXIge1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbi5mYW5jeWJveC1zdGFnZSB7XG4gIGRpcmVjdGlvbjogbHRyO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiA5OTk5NDsgfVxuXG4uZmFuY3lib3gtaXMtb3BlbiAuZmFuY3lib3gtc3RhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1zbGlkZSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgcGFkZGluZzogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk0OyB9XG5cbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0uMjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDA7IH1cblxuLmZhbmN5Ym94LWlzLXNsaWRpbmcgLmZhbmN5Ym94LXNsaWRlLFxuLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcbi5mYW5jeWJveC1zbGlkZS0tY3VycmVudCxcbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIHotaW5kZXg6IDk5OTk1OyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogNDRweCAwOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2U6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1odG1sIHtcbiAgcGFkZGluZzogNnB4IDZweCAwIDZweDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSB7XG4gIHBhZGRpbmc6IDQ0cHggNDRweCAwOyB9XG5cbi5mYW5jeWJveC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCA2cHggMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZzogMjRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuMTQsIDEpO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjE0LCAxKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB6LWluZGV4OiA5OTk5NTsgfVxuXG4uZmFuY3lib3gtY2FuLXpvb21PdXQgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLmZhbmN5Ym94LWNhbi16b29tSW4gLmZhbmN5Ym94LWNvbnRlbnQge1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5mYW5jeWJveC1jYW4tZHJhZyAuZmFuY3lib3gtY29udGVudCB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLmZhbmN5Ym94LWlzLWRyYWdnaW5nIC5mYW5jeWJveC1jb250ZW50IHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi5mYW5jeWJveC1jb250YWluZXIgW2RhdGEtc2VsZWN0YWJsZT0ndHJ1ZSddIHtcbiAgY3Vyc29yOiB0ZXh0OyB9XG5cbi5mYW5jeWJveC1pbWFnZSxcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1odG1sIC5mYW5jeWJveC1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNlNWUzZGY7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ0cHgpO1xuICBtYXJnaW4tYm90dG9tOiA0NHB4OyB9XG5cbi5mYW5jeWJveC12aWRlbyxcbi5mYW5jeWJveC1pZnJhbWUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhbmN5Ym94LWlmcmFtZSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmZhbmN5Ym94LWVycm9yIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBwYWRkaW5nOiA0MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gIGNvbG9yOiAjNDQ0O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogQnV0dG9ucyAqL1xuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW46IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4ycztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDQ0cHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbixcbi5mYW5jeWJveC1idXR0b246dmlzaXRlZCxcbi5mYW5jeWJveC1idXR0b246bGluayB7XG4gIGNvbG9yOiAjY2NjOyB9XG5cbi5mYW5jeWJveC1idXR0b246Zm9jdXMsXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi5kaXNhYmxlZCxcbi5mYW5jeWJveC1idXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXSxcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcbiAgY29sb3I6ICM4ODg7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBzaGFwZS1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjsgfVxuXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyBwYXRoIHtcbiAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICBzdHJva2Utd2lkdGg6IDM7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheSBzdmcgcGF0aDpudGgtY2hpbGQoMikge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXBhdXNlIHN2ZyBwYXRoOm50aC1jaGlsZCgxKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheSBzdmcgcGF0aCxcbi5mYW5jeWJveC1idXR0b24tLXNoYXJlIHN2ZyBwYXRoLFxuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHN2ZyBwYXRoIHtcbiAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXNoYXJlIHN2ZyBwYXRoIHtcbiAgc3Ryb2tlLXdpZHRoOiAxOyB9XG5cbi8qIE5hdmlnYXRpb24gYXJyb3dzICovXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcbiAgaGVpZ2h0OiAzOHB4O1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiA2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAzOHB4OyB9XG5cbi5mYW5jeWJveC1zaG93LW5hdiAuZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzLCB2aXNpYmlsaXR5IDBzLCBjb2xvciAuMjVzOyB9XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGxlZnQ6IC0yNXB4O1xuICBwYWRkaW5nOiA1MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTI1cHg7IH1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfbGVmdCB7XG4gIGxlZnQ6IDZweDsgfVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19yaWdodCB7XG4gIHJpZ2h0OiA2cHg7IH1cblxuLyogQ2xvc2UgYnV0dG9uIG9uIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIGh0bWwgY29udGVudCAqL1xuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICM1NTU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogNDRweDtcbiAgei1pbmRleDogMTA7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHN2ZyB7XG4gIGZpbGw6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAuODtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIHN0cm9rZS13aWR0aDogMS41O1xuICB0cmFuc2l0aW9uOiBzdHJva2UgLjFzOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHN2ZyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGwsXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jbG9zZS1zbWFsbCxcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIGNvbG9yOiAjY2NjO1xuICBwYWRkaW5nOiA1cHg7XG4gIHJpZ2h0OiAtMTJweDtcbiAgdG9wOiAtNDRweDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciBzdmcsXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciBzdmcsXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIgc3ZnIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5mYW5jeWJveC1pcy1zY2FsaW5nIC5mYW5jeWJveC1jbG9zZS1zbWFsbCxcbi5mYW5jeWJveC1pcy16b29tYWJsZS5mYW5jeWJveC1jYW4tZHJhZyAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIENhcHRpb24gKi9cbi5mYW5jeWJveC1jYXB0aW9uIHtcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZWZ0OiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAyNXB4IDQ0cHggMjVweCA0NHB4O1xuICByaWdodDogMDsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFFdENBUUFBQUJqQmNMN0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSFJKUkVGVUtNK1ZrOEVPZ0RBSVEwdmovMyt4Qnc4cUlaWnVlRm5JS0M5ME1DQUk4RGxya0hHZXFxR0lVNmxWaWdyQnRwQ1dxZVJXb0hETnFzMEY3Vk5WQlZ4bUhSbHZvVnFqYVlrZG5ESWFpdkgySHFaNStvWmozSlV6V0IrY096NEc0OEJnK3RzSi90cXU0ZExDLzRYYiswR2NGNUJ3QkMwQUE1M3FBQUFBQUVsRlRrU3VRbUNDKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvdHRvbTogMDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAtMjVweDtcbiAgei1pbmRleDogLTE7IH1cblxuLmZhbmN5Ym94LWNhcHRpb246OmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA0NHB4O1xuICB0b3A6IDA7IH1cblxuLmZhbmN5Ym94LWNhcHRpb24gYSxcbi5mYW5jeWJveC1jYXB0aW9uIGE6bGluayxcbi5mYW5jeWJveC1jYXB0aW9uIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjY2NjO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNhcHRpb24gYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBMb2FkaW5nIGluZGljYXRvciAqL1xuLmZhbmN5Ym94LWxvYWRpbmcge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDZweCBzb2xpZCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjBweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0zMHB4IDAgMCAtMzBweDtcbiAgb3BhY2l0eTogLjY7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiA2MHB4O1xuICB6LWluZGV4OiA5OTk5OTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLyogVHJhbnNpdGlvbiBlZmZlY3RzICovXG4uZmFuY3lib3gtYW5pbWF0ZWQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHNsaWRlICovXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBmYWRlICovXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cblxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHpvb20taW4tb3V0ICovXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTsgfVxuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAwLjUpOyB9XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogcm90YXRlICovXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7IH1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogY2lyY3VsYXIgKi9cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cblxuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHR1YmUgKi9cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KC0xMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygtMTBkZWcpOyB9XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygxMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KDEwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTsgfVxuXG4vKiBTaGFyZSAqL1xuLmZhbmN5Ym94LXNoYXJlIHtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgcGFkZGluZzogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mYW5jeWJveC1zaGFyZSBoMSB7XG4gIGNvbG9yOiAjMjIyO1xuICBmb250LXNpemU6IDM1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuXG4uZmFuY3lib3gtc2hhcmUgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogMCA1cHggMTBweCA1cHg7XG4gIG1pbi13aWR0aDogMTMwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOnZpc2l0ZWQsXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjpsaW5rIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiIHtcbiAgYmFja2dyb3VuZDogIzNiNTk5ODsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tZmI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzQ0ZTg2OyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1wdCB7XG4gIGJhY2tncm91bmQ6ICNiZDA4MWQ7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2FhMDcxOTsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHcge1xuICBiYWNrZ3JvdW5kOiAjMWRhMWYyOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dzpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwZDk1ZTg7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyNXB4OyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHN2ZyBwYXRoIHtcbiAgZmlsbDogI2ZmZjsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2lucHV0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkN2Q3ZDc7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjNWQ1YjViO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBUaHVtYnMgKi9cbi5mYW5jeWJveC10aHVtYnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgcGFkZGluZzogMnB4IDJweCA0cHggMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAyMTJweDtcbiAgei1pbmRleDogOTk5OTU7IH1cblxuLmZhbmN5Ym94LXRodW1icy14IHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtdGh1bWJzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC1pbm5lciB7XG4gIHJpZ2h0OiAyMTJweDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwge1xuICBmb250LXNpemU6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXggPiB1bCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXRodW1icy15ID4gdWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDdweDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgPiB1bDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgPiB1bDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjMmEyYTJhO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiA3NXB4O1xuICBtYXJnaW46IDJweDtcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gOHB4KTtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDRweCk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGk6YmVmb3JlIHtcbiAgYm9yZGVyOiA0cHggc29saWQgIzRlYTdmOTtcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiAnJztcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIHotaW5kZXg6IDk5OTkxOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LXRodW1icyB7XG4gICAgd2lkdGg6IDExMHB4OyB9XG4gIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xuICAgIHJpZ2h0OiAxMTBweDsgfVxuICAuZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTsgfSB9XG5cbi8qKlxuICogSGVscGVycyBhbmQgQWRkaXRpb25hbCBUeXBvZ3JhcGh5XG4gKi9cbi5ibHVyLXVwIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBibHVyKDVweCk7XG4gIHRyYW5zaXRpb246IGZpbHRlciA0MDBtczsgfVxuICAuYmx1ci11cC5sYXp5bG9hZGVkIHtcbiAgICBmaWx0ZXI6IGJsdXIoMCk7IH1cblxuLnBvcy1yZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNsaWRlLWFuZC1mYWRlLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGN1c3RvbS0xOyB9XG5cbkBrZXlmcmFtZXMgY3VzdG9tLTEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yZW0pO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uc2xpZGUtYW5kLWZhZGUtb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGN1c3RvbS0zOyB9XG5cbkBrZXlmcmFtZXMgY3VzdG9tLTMge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJlbSk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5saWZ0LWFuZC1mYWRlLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGN1c3RvbS01OyB9XG5cbkBrZXlmcmFtZXMgY3VzdG9tLTUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFlbSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3ZnLWljb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDFlbTtcbiAgbWF4LWhlaWdodDogMWVtOyB9XG5cbi5zbWFsbC1wLTAge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zbWFsbC1wLTAyNXJlbSB7XG4gIHBhZGRpbmc6IDAuMjVyZW07IH1cblxuLnNtYWxsLXAtMDVyZW0ge1xuICBwYWRkaW5nOiAwLjVyZW07IH1cblxuLnNtYWxsLXAtMDc1cmVtIHtcbiAgcGFkZGluZzogMC43NXJlbTsgfVxuXG4uc21hbGwtcC0xcmVtIHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uc21hbGwtcC0ycmVtIHtcbiAgcGFkZGluZzogMnJlbTsgfVxuXG4uc21hbGwtcC0zcmVtIHtcbiAgcGFkZGluZzogM3JlbTsgfVxuXG4uc21hbGwtcC00cmVtIHtcbiAgcGFkZGluZzogNHJlbTsgfVxuXG4uc21hbGwtcC04cmVtIHtcbiAgcGFkZGluZzogOHJlbTsgfVxuXG4uc21hbGwtcHQtMCB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5zbWFsbC1wdC0wMjVyZW0ge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTsgfVxuXG4uc21hbGwtcHQtMDVyZW0ge1xuICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG5cbi5zbWFsbC1wdC0wNzVyZW0ge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTsgfVxuXG4uc21hbGwtcHQtMXJlbSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG5cbi5zbWFsbC1wdC0ycmVtIHtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxuLnNtYWxsLXB0LTNyZW0ge1xuICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuXG4uc21hbGwtcHQtNHJlbSB7XG4gIHBhZGRpbmctdG9wOiA0cmVtOyB9XG5cbi5zbWFsbC1wdC04cmVtIHtcbiAgcGFkZGluZy10b3A6IDhyZW07IH1cblxuLnNtYWxsLXBiLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uc21hbGwtcGItMDI1cmVtIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07IH1cblxuLnNtYWxsLXBiLTA1cmVtIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuXG4uc21hbGwtcGItMDc1cmVtIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cblxuLnNtYWxsLXBiLTFyZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuXG4uc21hbGwtcGItMnJlbSB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG5cbi5zbWFsbC1wYi0zcmVtIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cblxuLnNtYWxsLXBiLTRyZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuXG4uc21hbGwtcGItOHJlbSB7XG4gIHBhZGRpbmctYm90dG9tOiA4cmVtOyB9XG5cbi5zbWFsbC1tLTAge1xuICBtYXJnaW46IDA7IH1cblxuLnNtYWxsLW0tMDI1cmVtIHtcbiAgbWFyZ2luOiAwLjI1cmVtOyB9XG5cbi5zbWFsbC1tLTA1cmVtIHtcbiAgbWFyZ2luOiAwLjVyZW07IH1cblxuLnNtYWxsLW0tMDc1cmVtIHtcbiAgbWFyZ2luOiAwLjc1cmVtOyB9XG5cbi5zbWFsbC1tLTFyZW0ge1xuICBtYXJnaW46IDFyZW07IH1cblxuLnNtYWxsLW0tMnJlbSB7XG4gIG1hcmdpbjogMnJlbTsgfVxuXG4uc21hbGwtbS0zcmVtIHtcbiAgbWFyZ2luOiAzcmVtOyB9XG5cbi5zbWFsbC1tLTRyZW0ge1xuICBtYXJnaW46IDRyZW07IH1cblxuLnNtYWxsLW0tOHJlbSB7XG4gIG1hcmdpbjogOHJlbTsgfVxuXG4uc21hbGwtbXQtMCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnNtYWxsLW10LTAyNXJlbSB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07IH1cblxuLnNtYWxsLW10LTA1cmVtIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbi5zbWFsbC1tdC0wNzVyZW0ge1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtOyB9XG5cbi5zbWFsbC1tdC0xcmVtIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4uc21hbGwtbXQtMnJlbSB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLnNtYWxsLW10LTNyZW0ge1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG5cbi5zbWFsbC1tdC00cmVtIHtcbiAgbWFyZ2luLXRvcDogNHJlbTsgfVxuXG4uc21hbGwtbXQtOHJlbSB7XG4gIG1hcmdpbi10b3A6IDhyZW07IH1cblxuLnNtYWxsLW1iLTAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zbWFsbC1tYi0wMjVyZW0ge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG5cbi5zbWFsbC1tYi0wNXJlbSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uc21hbGwtbWItMDc1cmVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuXG4uc21hbGwtbWItMXJlbSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLnNtYWxsLW1iLTJyZW0ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5zbWFsbC1tYi0zcmVtIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXG4uc21hbGwtbWItNHJlbSB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07IH1cblxuLnNtYWxsLW1iLThyZW0ge1xuICBtYXJnaW4tYm90dG9tOiA4cmVtOyB9XG5cbi5zbWFsbC1tci0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC1tci0wMjVyZW0ge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnNtYWxsLW1yLTA1cmVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLnNtYWxsLW1yLTA3NXJlbSB7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uc21hbGwtbXItMXJlbSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uc21hbGwtbXItMnJlbSB7XG4gIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuXG4uc21hbGwtbXItM3JlbSB7XG4gIG1hcmdpbi1yaWdodDogM3JlbTsgfVxuXG4uc21hbGwtbXItNHJlbSB7XG4gIG1hcmdpbi1yaWdodDogNHJlbTsgfVxuXG4uc21hbGwtbXItOHJlbSB7XG4gIG1hcmdpbi1yaWdodDogOHJlbTsgfVxuXG4uc21hbGwtbWwtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zbWFsbC1tbC0wMjVyZW0ge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuXG4uc21hbGwtbWwtMDVyZW0ge1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5zbWFsbC1tbC0wNzVyZW0ge1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTsgfVxuXG4uc21hbGwtbWwtMXJlbSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5zbWFsbC1tbC0ycmVtIHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cblxuLnNtYWxsLW1sLTNyZW0ge1xuICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuXG4uc21hbGwtbWwtNHJlbSB7XG4gIG1hcmdpbi1sZWZ0OiA0cmVtOyB9XG5cbi5zbWFsbC1tbC04cmVtIHtcbiAgbWFyZ2luLWxlZnQ6IDhyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgLm1lZGl1bS1wLTAge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lZGl1bS1wLTAyNXJlbSB7XG4gICAgcGFkZGluZzogMC4yNXJlbTsgfVxuICAubWVkaXVtLXAtMDVyZW0ge1xuICAgIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAubWVkaXVtLXAtMDc1cmVtIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtOyB9XG4gIC5tZWRpdW0tcC0xcmVtIHtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5tZWRpdW0tcC0ycmVtIHtcbiAgICBwYWRkaW5nOiAycmVtOyB9XG4gIC5tZWRpdW0tcC0zcmVtIHtcbiAgICBwYWRkaW5nOiAzcmVtOyB9XG4gIC5tZWRpdW0tcC00cmVtIHtcbiAgICBwYWRkaW5nOiA0cmVtOyB9XG4gIC5tZWRpdW0tcC04cmVtIHtcbiAgICBwYWRkaW5nOiA4cmVtOyB9XG4gIC5tZWRpdW0tcHQtMCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLm1lZGl1bS1wdC0wMjVyZW0ge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtOyB9XG4gIC5tZWRpdW0tcHQtMDVyZW0ge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgLm1lZGl1bS1wdC0wNzVyZW0ge1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtOyB9XG4gIC5tZWRpdW0tcHQtMXJlbSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgLm1lZGl1bS1wdC0ycmVtIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAubWVkaXVtLXB0LTNyZW0ge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9XG4gIC5tZWRpdW0tcHQtNHJlbSB7XG4gICAgcGFkZGluZy10b3A6IDRyZW07IH1cbiAgLm1lZGl1bS1wdC04cmVtIHtcbiAgICBwYWRkaW5nLXRvcDogOHJlbTsgfVxuICAubWVkaXVtLXBiLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5tZWRpdW0tcGItMDI1cmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuICAubWVkaXVtLXBiLTA1cmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XG4gIC5tZWRpdW0tcGItMDc1cmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTsgfVxuICAubWVkaXVtLXBiLTFyZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gIC5tZWRpdW0tcGItMnJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgLm1lZGl1bS1wYi0zcmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICAubWVkaXVtLXBiLTRyZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gIC5tZWRpdW0tcGItOHJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDhyZW07IH1cbiAgLm1lZGl1bS1tLTAge1xuICAgIG1hcmdpbjogMDsgfVxuICAubWVkaXVtLW0tMDI1cmVtIHtcbiAgICBtYXJnaW46IDAuMjVyZW07IH1cbiAgLm1lZGl1bS1tLTA1cmVtIHtcbiAgICBtYXJnaW46IDAuNXJlbTsgfVxuICAubWVkaXVtLW0tMDc1cmVtIHtcbiAgICBtYXJnaW46IDAuNzVyZW07IH1cbiAgLm1lZGl1bS1tLTFyZW0ge1xuICAgIG1hcmdpbjogMXJlbTsgfVxuICAubWVkaXVtLW0tMnJlbSB7XG4gICAgbWFyZ2luOiAycmVtOyB9XG4gIC5tZWRpdW0tbS0zcmVtIHtcbiAgICBtYXJnaW46IDNyZW07IH1cbiAgLm1lZGl1bS1tLTRyZW0ge1xuICAgIG1hcmdpbjogNHJlbTsgfVxuICAubWVkaXVtLW0tOHJlbSB7XG4gICAgbWFyZ2luOiA4cmVtOyB9XG4gIC5tZWRpdW0tbXQtMCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAubWVkaXVtLW10LTAyNXJlbSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuICAubWVkaXVtLW10LTA1cmVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgLm1lZGl1bS1tdC0wNzVyZW0ge1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07IH1cbiAgLm1lZGl1bS1tdC0xcmVtIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5tZWRpdW0tbXQtMnJlbSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAubWVkaXVtLW10LTNyZW0ge1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cbiAgLm1lZGl1bS1tdC00cmVtIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtOyB9XG4gIC5tZWRpdW0tbXQtOHJlbSB7XG4gICAgbWFyZ2luLXRvcDogOHJlbTsgfVxuICAubWVkaXVtLW1iLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGl1bS1tYi0wMjVyZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgLm1lZGl1bS1tYi0wNXJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5tZWRpdW0tbWItMDc1cmVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gIC5tZWRpdW0tbWItMXJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAubWVkaXVtLW1iLTJyZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLm1lZGl1bS1tYi0zcmVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gIC5tZWRpdW0tbWItNHJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuICAubWVkaXVtLW1iLThyZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDhyZW07IH1cbiAgLm1lZGl1bS1tci0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS1tci0wMjVyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVkaXVtLW1yLTA1cmVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAubWVkaXVtLW1yLTA3NXJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG4gIC5tZWRpdW0tbXItMXJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpdW0tbXItMnJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG4gIC5tZWRpdW0tbXItM3JlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtOyB9XG4gIC5tZWRpdW0tbXItNHJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtOyB9XG4gIC5tZWRpdW0tbXItOHJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cmVtOyB9XG4gIC5tZWRpdW0tbWwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS1tbC0wMjVyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZWRpdW0tbWwtMDVyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLm1lZGl1bS1tbC0wNzVyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtOyB9XG4gIC5tZWRpdW0tbWwtMXJlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGl1bS1tbC0ycmVtIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAubWVkaXVtLW1sLTNyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtOyB9XG4gIC5tZWRpdW0tbWwtNHJlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDRyZW07IH1cbiAgLm1lZGl1bS1tbC04cmVtIHtcbiAgICBtYXJnaW4tbGVmdDogOHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubGFyZ2UtcC0wIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5sYXJnZS1wLTAyNXJlbSB7XG4gICAgcGFkZGluZzogMC4yNXJlbTsgfVxuICAubGFyZ2UtcC0wNXJlbSB7XG4gICAgcGFkZGluZzogMC41cmVtOyB9XG4gIC5sYXJnZS1wLTA3NXJlbSB7XG4gICAgcGFkZGluZzogMC43NXJlbTsgfVxuICAubGFyZ2UtcC0xcmVtIHtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5sYXJnZS1wLTJyZW0ge1xuICAgIHBhZGRpbmc6IDJyZW07IH1cbiAgLmxhcmdlLXAtM3JlbSB7XG4gICAgcGFkZGluZzogM3JlbTsgfVxuICAubGFyZ2UtcC00cmVtIHtcbiAgICBwYWRkaW5nOiA0cmVtOyB9XG4gIC5sYXJnZS1wLThyZW0ge1xuICAgIHBhZGRpbmc6IDhyZW07IH1cbiAgLmxhcmdlLXB0LTAge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5sYXJnZS1wdC0wMjVyZW0ge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtOyB9XG4gIC5sYXJnZS1wdC0wNXJlbSB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuICAubGFyZ2UtcHQtMDc1cmVtIHtcbiAgICBwYWRkaW5nLXRvcDogMC43NXJlbTsgfVxuICAubGFyZ2UtcHQtMXJlbSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgLmxhcmdlLXB0LTJyZW0ge1xuICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIC5sYXJnZS1wdC0zcmVtIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICAubGFyZ2UtcHQtNHJlbSB7XG4gICAgcGFkZGluZy10b3A6IDRyZW07IH1cbiAgLmxhcmdlLXB0LThyZW0ge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtOyB9XG4gIC5sYXJnZS1wYi0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAubGFyZ2UtcGItMDI1cmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuICAubGFyZ2UtcGItMDVyZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cbiAgLmxhcmdlLXBiLTA3NXJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cbiAgLmxhcmdlLXBiLTFyZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gIC5sYXJnZS1wYi0ycmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAubGFyZ2UtcGItM3JlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgLmxhcmdlLXBiLTRyZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gIC5sYXJnZS1wYi04cmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHJlbTsgfVxuICAubGFyZ2UtbS0wIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmxhcmdlLW0tMDI1cmVtIHtcbiAgICBtYXJnaW46IDAuMjVyZW07IH1cbiAgLmxhcmdlLW0tMDVyZW0ge1xuICAgIG1hcmdpbjogMC41cmVtOyB9XG4gIC5sYXJnZS1tLTA3NXJlbSB7XG4gICAgbWFyZ2luOiAwLjc1cmVtOyB9XG4gIC5sYXJnZS1tLTFyZW0ge1xuICAgIG1hcmdpbjogMXJlbTsgfVxuICAubGFyZ2UtbS0ycmVtIHtcbiAgICBtYXJnaW46IDJyZW07IH1cbiAgLmxhcmdlLW0tM3JlbSB7XG4gICAgbWFyZ2luOiAzcmVtOyB9XG4gIC5sYXJnZS1tLTRyZW0ge1xuICAgIG1hcmdpbjogNHJlbTsgfVxuICAubGFyZ2UtbS04cmVtIHtcbiAgICBtYXJnaW46IDhyZW07IH1cbiAgLmxhcmdlLW10LTAge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmxhcmdlLW10LTAyNXJlbSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuICAubGFyZ2UtbXQtMDVyZW0ge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAubGFyZ2UtbXQtMDc1cmVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtOyB9XG4gIC5sYXJnZS1tdC0xcmVtIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5sYXJnZS1tdC0ycmVtIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIC5sYXJnZS1tdC0zcmVtIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC5sYXJnZS1tdC00cmVtIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtOyB9XG4gIC5sYXJnZS1tdC04cmVtIHtcbiAgICBtYXJnaW4tdG9wOiA4cmVtOyB9XG4gIC5sYXJnZS1tYi0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5sYXJnZS1tYi0wMjVyZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgLmxhcmdlLW1iLTA1cmVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmxhcmdlLW1iLTA3NXJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAubGFyZ2UtbWItMXJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAubGFyZ2UtbWItMnJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAubGFyZ2UtbWItM3JlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAubGFyZ2UtbWItNHJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuICAubGFyZ2UtbWItOHJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHJlbTsgfVxuICAubGFyZ2UtbXItMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5sYXJnZS1tci0wMjVyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubGFyZ2UtbXItMDVyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG4gIC5sYXJnZS1tci0wNzVyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuICAubGFyZ2UtbXItMXJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5sYXJnZS1tci0ycmVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgLmxhcmdlLW1yLTNyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbTsgfVxuICAubGFyZ2UtbXItNHJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtOyB9XG4gIC5sYXJnZS1tci04cmVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhyZW07IH1cbiAgLmxhcmdlLW1sLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS1tbC0wMjVyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5sYXJnZS1tbC0wNXJlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAubGFyZ2UtbWwtMDc1cmVtIHtcbiAgICBtYXJnaW4tbGVmdDogMC43NXJlbTsgfVxuICAubGFyZ2UtbWwtMXJlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLmxhcmdlLW1sLTJyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG4gIC5sYXJnZS1tbC0zcmVtIHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuICAubGFyZ2UtbWwtNHJlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDRyZW07IH1cbiAgLmxhcmdlLW1sLThyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA4cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIzMHB4KSB7XG4gIC54bGFyZ2UtcC0wIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC54bGFyZ2UtcC0wMjVyZW0ge1xuICAgIHBhZGRpbmc6IDAuMjVyZW07IH1cbiAgLnhsYXJnZS1wLTA1cmVtIHtcbiAgICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnhsYXJnZS1wLTA3NXJlbSB7XG4gICAgcGFkZGluZzogMC43NXJlbTsgfVxuICAueGxhcmdlLXAtMXJlbSB7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAueGxhcmdlLXAtMnJlbSB7XG4gICAgcGFkZGluZzogMnJlbTsgfVxuICAueGxhcmdlLXAtM3JlbSB7XG4gICAgcGFkZGluZzogM3JlbTsgfVxuICAueGxhcmdlLXAtNHJlbSB7XG4gICAgcGFkZGluZzogNHJlbTsgfVxuICAueGxhcmdlLXAtOHJlbSB7XG4gICAgcGFkZGluZzogOHJlbTsgfVxuICAueGxhcmdlLXB0LTAge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC54bGFyZ2UtcHQtMDI1cmVtIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTsgfVxuICAueGxhcmdlLXB0LTA1cmVtIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gIC54bGFyZ2UtcHQtMDc1cmVtIHtcbiAgICBwYWRkaW5nLXRvcDogMC43NXJlbTsgfVxuICAueGxhcmdlLXB0LTFyZW0ge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIC54bGFyZ2UtcHQtMnJlbSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgLnhsYXJnZS1wdC0zcmVtIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICAueGxhcmdlLXB0LTRyZW0ge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtOyB9XG4gIC54bGFyZ2UtcHQtOHJlbSB7XG4gICAgcGFkZGluZy10b3A6IDhyZW07IH1cbiAgLnhsYXJnZS1wYi0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAueGxhcmdlLXBiLTAyNXJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07IH1cbiAgLnhsYXJnZS1wYi0wNXJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuICAueGxhcmdlLXBiLTA3NXJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cbiAgLnhsYXJnZS1wYi0xcmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAueGxhcmdlLXBiLTJyZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIC54bGFyZ2UtcGItM3JlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgLnhsYXJnZS1wYi00cmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuICAueGxhcmdlLXBiLThyZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA4cmVtOyB9XG4gIC54bGFyZ2UtbS0wIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnhsYXJnZS1tLTAyNXJlbSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtOyB9XG4gIC54bGFyZ2UtbS0wNXJlbSB7XG4gICAgbWFyZ2luOiAwLjVyZW07IH1cbiAgLnhsYXJnZS1tLTA3NXJlbSB7XG4gICAgbWFyZ2luOiAwLjc1cmVtOyB9XG4gIC54bGFyZ2UtbS0xcmVtIHtcbiAgICBtYXJnaW46IDFyZW07IH1cbiAgLnhsYXJnZS1tLTJyZW0ge1xuICAgIG1hcmdpbjogMnJlbTsgfVxuICAueGxhcmdlLW0tM3JlbSB7XG4gICAgbWFyZ2luOiAzcmVtOyB9XG4gIC54bGFyZ2UtbS00cmVtIHtcbiAgICBtYXJnaW46IDRyZW07IH1cbiAgLnhsYXJnZS1tLThyZW0ge1xuICAgIG1hcmdpbjogOHJlbTsgfVxuICAueGxhcmdlLW10LTAge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnhsYXJnZS1tdC0wMjVyZW0ge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07IH1cbiAgLnhsYXJnZS1tdC0wNXJlbSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gIC54bGFyZ2UtbXQtMDc1cmVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtOyB9XG4gIC54bGFyZ2UtbXQtMXJlbSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAueGxhcmdlLW10LTJyZW0ge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLnhsYXJnZS1tdC0zcmVtIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC54bGFyZ2UtbXQtNHJlbSB7XG4gICAgbWFyZ2luLXRvcDogNHJlbTsgfVxuICAueGxhcmdlLW10LThyZW0ge1xuICAgIG1hcmdpbi10b3A6IDhyZW07IH1cbiAgLnhsYXJnZS1tYi0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC54bGFyZ2UtbWItMDI1cmVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gIC54bGFyZ2UtbWItMDVyZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAueGxhcmdlLW1iLTA3NXJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAueGxhcmdlLW1iLTFyZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnhsYXJnZS1tYi0ycmVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC54bGFyZ2UtbWItM3JlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAueGxhcmdlLW1iLTRyZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07IH1cbiAgLnhsYXJnZS1tYi04cmVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cmVtOyB9XG4gIC54bGFyZ2UtbXItMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC54bGFyZ2UtbXItMDI1cmVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLnhsYXJnZS1tci0wNXJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLnhsYXJnZS1tci0wNzVyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuICAueGxhcmdlLW1yLTFyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAueGxhcmdlLW1yLTJyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAueGxhcmdlLW1yLTNyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbTsgfVxuICAueGxhcmdlLW1yLTRyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogNHJlbTsgfVxuICAueGxhcmdlLW1yLThyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogOHJlbTsgfVxuICAueGxhcmdlLW1sLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC54bGFyZ2UtbWwtMDI1cmVtIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICAueGxhcmdlLW1sLTA1cmVtIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC54bGFyZ2UtbWwtMDc1cmVtIHtcbiAgICBtYXJnaW4tbGVmdDogMC43NXJlbTsgfVxuICAueGxhcmdlLW1sLTFyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC54bGFyZ2UtbWwtMnJlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cbiAgLnhsYXJnZS1tbC0zcmVtIHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuICAueGxhcmdlLW1sLTRyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA0cmVtOyB9XG4gIC54bGFyZ2UtbWwtOHJlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDhyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLnh4bGFyZ2UtcC0wIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC54eGxhcmdlLXAtMDI1cmVtIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtOyB9XG4gIC54eGxhcmdlLXAtMDVyZW0ge1xuICAgIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAueHhsYXJnZS1wLTA3NXJlbSB7XG4gICAgcGFkZGluZzogMC43NXJlbTsgfVxuICAueHhsYXJnZS1wLTFyZW0ge1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgLnh4bGFyZ2UtcC0ycmVtIHtcbiAgICBwYWRkaW5nOiAycmVtOyB9XG4gIC54eGxhcmdlLXAtM3JlbSB7XG4gICAgcGFkZGluZzogM3JlbTsgfVxuICAueHhsYXJnZS1wLTRyZW0ge1xuICAgIHBhZGRpbmc6IDRyZW07IH1cbiAgLnh4bGFyZ2UtcC04cmVtIHtcbiAgICBwYWRkaW5nOiA4cmVtOyB9XG4gIC54eGxhcmdlLXB0LTAge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC54eGxhcmdlLXB0LTAyNXJlbSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW07IH1cbiAgLnh4bGFyZ2UtcHQtMDVyZW0ge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgLnh4bGFyZ2UtcHQtMDc1cmVtIHtcbiAgICBwYWRkaW5nLXRvcDogMC43NXJlbTsgfVxuICAueHhsYXJnZS1wdC0xcmVtIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAueHhsYXJnZS1wdC0ycmVtIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAueHhsYXJnZS1wdC0zcmVtIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICAueHhsYXJnZS1wdC00cmVtIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTsgfVxuICAueHhsYXJnZS1wdC04cmVtIHtcbiAgICBwYWRkaW5nLXRvcDogOHJlbTsgfVxuICAueHhsYXJnZS1wYi0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAueHhsYXJnZS1wYi0wMjVyZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtOyB9XG4gIC54eGxhcmdlLXBiLTA1cmVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XG4gIC54eGxhcmdlLXBiLTA3NXJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cbiAgLnh4bGFyZ2UtcGItMXJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgLnh4bGFyZ2UtcGItMnJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgLnh4bGFyZ2UtcGItM3JlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgLnh4bGFyZ2UtcGItNHJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07IH1cbiAgLnh4bGFyZ2UtcGItOHJlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDhyZW07IH1cbiAgLnh4bGFyZ2UtbS0wIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnh4bGFyZ2UtbS0wMjVyZW0ge1xuICAgIG1hcmdpbjogMC4yNXJlbTsgfVxuICAueHhsYXJnZS1tLTA1cmVtIHtcbiAgICBtYXJnaW46IDAuNXJlbTsgfVxuICAueHhsYXJnZS1tLTA3NXJlbSB7XG4gICAgbWFyZ2luOiAwLjc1cmVtOyB9XG4gIC54eGxhcmdlLW0tMXJlbSB7XG4gICAgbWFyZ2luOiAxcmVtOyB9XG4gIC54eGxhcmdlLW0tMnJlbSB7XG4gICAgbWFyZ2luOiAycmVtOyB9XG4gIC54eGxhcmdlLW0tM3JlbSB7XG4gICAgbWFyZ2luOiAzcmVtOyB9XG4gIC54eGxhcmdlLW0tNHJlbSB7XG4gICAgbWFyZ2luOiA0cmVtOyB9XG4gIC54eGxhcmdlLW0tOHJlbSB7XG4gICAgbWFyZ2luOiA4cmVtOyB9XG4gIC54eGxhcmdlLW10LTAge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnh4bGFyZ2UtbXQtMDI1cmVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtOyB9XG4gIC54eGxhcmdlLW10LTA1cmVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgLnh4bGFyZ2UtbXQtMDc1cmVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtOyB9XG4gIC54eGxhcmdlLW10LTFyZW0ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgLnh4bGFyZ2UtbXQtMnJlbSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAueHhsYXJnZS1tdC0zcmVtIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC54eGxhcmdlLW10LTRyZW0ge1xuICAgIG1hcmdpbi10b3A6IDRyZW07IH1cbiAgLnh4bGFyZ2UtbXQtOHJlbSB7XG4gICAgbWFyZ2luLXRvcDogOHJlbTsgfVxuICAueHhsYXJnZS1tYi0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC54eGxhcmdlLW1iLTAyNXJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAueHhsYXJnZS1tYi0wNXJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC54eGxhcmdlLW1iLTA3NXJlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAueHhsYXJnZS1tYi0xcmVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC54eGxhcmdlLW1iLTJyZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLnh4bGFyZ2UtbWItM3JlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAueHhsYXJnZS1tYi00cmVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4gIC54eGxhcmdlLW1iLThyZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDhyZW07IH1cbiAgLnh4bGFyZ2UtbXItMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC54eGxhcmdlLW1yLTAyNXJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC54eGxhcmdlLW1yLTA1cmVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAueHhsYXJnZS1tci0wNzVyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuICAueHhsYXJnZS1tci0xcmVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnh4bGFyZ2UtbXItMnJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG4gIC54eGxhcmdlLW1yLTNyZW0ge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbTsgfVxuICAueHhsYXJnZS1tci00cmVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRyZW07IH1cbiAgLnh4bGFyZ2UtbXItOHJlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cmVtOyB9XG4gIC54eGxhcmdlLW1sLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC54eGxhcmdlLW1sLTAyNXJlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLnh4bGFyZ2UtbWwtMDVyZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLnh4bGFyZ2UtbWwtMDc1cmVtIHtcbiAgICBtYXJnaW4tbGVmdDogMC43NXJlbTsgfVxuICAueHhsYXJnZS1tbC0xcmVtIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAueHhsYXJnZS1tbC0ycmVtIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAueHhsYXJnZS1tbC0zcmVtIHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuICAueHhsYXJnZS1tbC00cmVtIHtcbiAgICBtYXJnaW4tbGVmdDogNHJlbTsgfVxuICAueHhsYXJnZS1tbC04cmVtIHtcbiAgICBtYXJnaW4tbGVmdDogOHJlbTsgfSB9XG5cbi8qIEZvdW5kYWl0b24gZm9yY2VzIGFjdHVhbCBmb250IHZhbHVlcyAqL1xuaDEsXG4uaDEsXG4uamFsLXNlYXJjaF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzA3MWQ0OTtcbiAgLyogRm91bmRhaXRvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbmgyLFxuLmgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzA3MWQ0OTtcbiAgLyogRm91bmRhaXRvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbmgzLFxuLmgzIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzA3MWQ0OTtcbiAgLyogRm91bmRhaXRvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbmg0LFxuLmg0LFxuLmphbC1mb3JtLS1jb250YWN0IGxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDcxZDQ5O1xuICAvKiBGb3VuZGFpdG9uIGZvcmNlcyByZW0tY2FsYyBvbiBhbGwgaGVhZGluZ3MgbWFyZ2luIGJvdHRvbSB2YWx1ZXMgKi9cbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cblxuaDUsXG4uaDUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwNzFkNDk7XG4gIC8qIEZvdW5kYWl0b24gZm9yY2VzIHJlbS1jYWxjIG9uIGFsbCBoZWFkaW5ncyBtYXJnaW4gYm90dG9tIHZhbHVlcyAqL1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuXG5oNixcbi5oNiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwNzFkNDk7XG4gIC8qIEZvdW5kYWl0b24gZm9yY2VzIHJlbS1jYWxjIG9uIGFsbCBoZWFkaW5ncyBtYXJnaW4gYm90dG9tIHZhbHVlcyAqL1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBoMSxcbiAgLmgxLFxuICAuamFsLXNlYXJjaF9faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogIzA3MWQ0OTtcbiAgICAvKiBGb3VuZGFpdG9uIGZvcmNlcyByZW0tY2FsYyBvbiBhbGwgaGVhZGluZ3MgbWFyZ2luIGJvdHRvbSB2YWx1ZXMgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICBoMixcbiAgLmgyIHtcbiAgICBmb250LXNpemU6IDIuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICMwNzFkNDk7XG4gICAgLyogRm91bmRhaXRvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgaDMsXG4gIC5oMyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICMwNzFkNDk7XG4gICAgLyogRm91bmRhaXRvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgaDQsXG4gIC5oNCxcbiAgLmphbC1mb3JtLS1jb250YWN0IGxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwNzFkNDk7XG4gICAgLyogRm91bmRhaXRvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgaDUsXG4gIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzA3MWQ0OTtcbiAgICAvKiBGb3VuZGFpdG9uIGZvcmNlcyByZW0tY2FsYyBvbiBhbGwgaGVhZGluZ3MgbWFyZ2luIGJvdHRvbSB2YWx1ZXMgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICBoNixcbiAgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzA3MWQ0OTtcbiAgICAvKiBGb3VuZGFpdG9uIGZvcmNlcyByZW0tY2FsYyBvbiBhbGwgaGVhZGluZ3MgbWFyZ2luIGJvdHRvbSB2YWx1ZXMgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfSB9XG5cbi8qIGFkamFjZW50IEhlYWRpbmdzKi9cbmgzICsgaDQsXG5oMyArIGg1LFxuaDIgKyBoNCxcbmgzICsgaDUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbmR0IHtcbiAgY29sb3I6ICMwNzFkNDk7IH1cblxubGVnZW5kIHtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvIFNhbnNcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIHBhZGRpbmctbGVmdDogNC4yZW07XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBmb250LWZhbWlseTogXCJIdXJtZSBHZW9tZXRyaWMgU2FucyA0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjg3NTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIGJsb2NrcXVvdGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVlbTsgfSB9XG4gIGJsb2NrcXVvdGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzLjJlbTtcbiAgICBoZWlnaHQ6IDMuMmVtO1xuICAgIG1hcmdpbjogMC41ZW0gMWVtIDAuNWVtIDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249XCIxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiUzRSUzQ3BhdGggZmlsbD1cIiM2NGNjYzlcIiBkPVwiTTAgNHYyNGwxMi0xMlY0em0yMCAwdjI0bDEyLTEyVjR6XCIvJTNFJTNDL3N2ZyUzRScpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzY0Y2NjOTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgYmxvY2txdW90ZTo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH0gfVxuICBibG9ja3F1b3RlIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FsbG91dC52YWxpZGF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2YTU5YjtcbiAgY29sb3I6ICMyMjI7IH1cblxuLmNhbGxvdXQuaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmE1OWI7XG4gIGNvbG9yOiAjMjIyOyB9XG5cbi5jYWxsb3V0Lmdvb2Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWRlZGJiO1xuICBjb2xvcjogIzIyMjsgfVxuXG4uY2FsbG91dC5iYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZhNTliO1xuICBjb2xvcjogIzIyMjsgfVxuXG4vKipcbiAqIEVsZW1lbnRzXG4gKi9cbi5qYWwtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjY1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gIGNvbG9yOiAjNjRjY2M5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiBcIkh1cm1lIEdlb21ldHJpYyBTYW5zIDRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogIzA3MWQ0OTtcbiAgbWluLXdpZHRoOiAxMi41cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuamFsLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuamFsLWJ1dHRvbiwgLmphbC1idXR0b246aG92ZXIsIC5qYWwtYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuamFsLWJ1dHRvbi5kaXNhYmxlZCwgLmphbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5qYWwtYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuamFsLWJ1dHRvbltkaXNhYmxlZF0sIC5qYWwtYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmphbC1idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuamFsLWJ1dHRvbjpob3ZlciwgLmphbC1idXR0b246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzI2NzI3MDtcbiAgICBjb2xvcjogIzI2NzI3MDsgfVxuICAgIC5qYWwtYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuamFsLWJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5qYWwtYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuamFsLWJ1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY0Y2NjOTtcbiAgICAgIGNvbG9yOiAjNjRjY2M5OyB9XG4gIC5qYWwtYnV0dG9uOmZvY3VzLCAuamFsLWJ1dHRvbjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOGFkOWQ2O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC4wMik7XG4gICAgY29sb3I6ICMwNzFkNDk7IH1cbiAgLmphbC1idXR0b246YWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KSB0cmFuc2xhdGVZKDFweCk7IH1cbiAgLmphbC1idXR0b24gc3ZnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5qYWwtYnV0dG9uLS13aGl0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDAuNjVlbSAxZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzY0Y2NjOTtcbiAgICBjb2xvcjogIzY0Y2NjOTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5qYWwtYnV0dG9uLS13aGl0ZSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmphbC1idXR0b24tLXdoaXRlLCAuamFsLWJ1dHRvbi0td2hpdGU6aG92ZXIsIC5qYWwtYnV0dG9uLS13aGl0ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5qYWwtYnV0dG9uLS13aGl0ZS5kaXNhYmxlZCwgLmphbC1idXR0b24tLXdoaXRlLmRpc2FibGVkOmhvdmVyLCAuamFsLWJ1dHRvbi0td2hpdGUuZGlzYWJsZWQ6Zm9jdXMsIC5qYWwtYnV0dG9uLS13aGl0ZVtkaXNhYmxlZF0sIC5qYWwtYnV0dG9uLS13aGl0ZVtkaXNhYmxlZF06aG92ZXIsIC5qYWwtYnV0dG9uLS13aGl0ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuamFsLWJ1dHRvbi0td2hpdGU6aG92ZXIsIC5qYWwtYnV0dG9uLS13aGl0ZTpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMyNjcyNzA7XG4gICAgICBjb2xvcjogIzI2NzI3MDsgfVxuICAgICAgLmphbC1idXR0b24tLXdoaXRlOmhvdmVyLmRpc2FibGVkLCAuamFsLWJ1dHRvbi0td2hpdGU6aG92ZXJbZGlzYWJsZWRdLCAuamFsLWJ1dHRvbi0td2hpdGU6Zm9jdXMuZGlzYWJsZWQsIC5qYWwtYnV0dG9uLS13aGl0ZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjRjY2M5O1xuICAgICAgICBjb2xvcjogIzY0Y2NjOTsgfVxuICAgIC5qYWwtYnV0dG9uLS13aGl0ZTpmb2N1cywgLmphbC1idXR0b24tLXdoaXRlOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNmYmViYjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5qYWwtYnV0dG9uLS13aGl0ZTphY3RpdmUge1xuICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KSB0cmFuc2xhdGVZKDFweCk7IH1cbiAgLmphbC1idXR0b24tLWV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAuamFsLWJ1dHRvbi0tZXhwYW5kLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1idXR0b24tLWV4cGFuZC1mb3Itc21hbGwtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5qYWwtYnV0dG9uLS1taW4td2lkdGgge1xuICAgIG1pbi13aWR0aDogMTYuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1idXR0b24tLW1pbi13aWR0aCB7XG4gICAgICAgIG1pbi13aWR0aDogMTMuNzVyZW07IH0gfVxuICAuamFsLWJ1dHRvbi0tbm8tbWluLXdpZHRoIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1idXR0b24tLW5vLW1pbi13aWR0aCB7XG4gICAgICAgIG1pbi13aWR0aDogMDsgfSB9XG4gIC5qYWwtYnV0dG9uLS1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjRlbTsgfVxuICAuamFsLWJ1dHRvbi0tc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5qYWwtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmphbC1pbnB1dCBsYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1vdXQgMC4yNXM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuamFsLWlucHV0IGxhYmVsIHNwYW4ge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIC5qYWwtaW5wdXQudXNlZCBsYWJlbCB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4uY3VzdG9tRm9udCB7XG4gIGZvbnQtZmFtaWx5OiBcIkN1c3RvbUZvbnRcIiwgXCJIdXJtZSBHZW9tZXRyaWMgU2FucyA0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB9XG5cbnNlY3Rpb24uc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDYwcHggMCA0MHB4OyB9XG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiA4NSU7IH1cblxuLm1iLTM1IHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuXG4ubXQtNTAge1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG5cbi5tci0yMCB7XG4gIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4uZmxleC1oMTAwIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5oZWFkaW5nLXVuZGVybGluZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnRleHQtc20ge1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLnRleHQtbWQge1xuICBmb250LXNpemU6IDE4cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLnRleHQtbWQge1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC50ZXh0LW1kIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG5cbi50ZXh0LWxnIHtcbiAgZm9udC1zaXplOiAyMnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC50ZXh0LWxnIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAudGV4dC1sZyB7XG4gICAgICBmb250LXNpemU6IDI4cHg7IH0gfVxuXG4udGV4dC14bCB7XG4gIGZvbnQtc2l6ZTogMzRweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLnRleHQteGwge1xuICAgICAgZm9udC1zaXplOiA0MHB4OyB9IH1cblxuLnRleHQteHhsIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC50ZXh0LXh4bCB7XG4gICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfSB9XG5cbi5ncmV5LXRleHQge1xuICBjb2xvcjogIzlmOWY5ZiAhaW1wb3J0YW50OyB9XG5cbi5wNDAge1xuICBwYWRkaW5nOiA0MHB4OyB9XG5cbi5mdWxsc2NyZWVuIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5oaWRkZW4tbGctZG93biB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5oaWRkZW4tbGctZG93biB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5oaWRkZW4tbGctdXAge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmhpZGRlbi1sZy11cCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhpZGRlbi1tZC1kb3duIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGlkZGVuLW1kLWRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uaGlkZGVuLTc1MC1kb3duIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICAgLmhpZGRlbi03NTAtZG93biB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhpZGRlbi03NTAtdXAge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAgIC5oaWRkZW4tNzUwLXVwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmNlbnRlci1pbmxpbmUge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogNjBweCAwIDQwcHg7XG4gIGhlaWdodDogNzAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2VudGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4udGhlbWVkLXRpdGxlIC5MaWdodCB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4udGhlbWVkLXRpdGxlIC5EYXJrIHtcbiAgY29sb3I6ICMyMjI7IH1cblxuLmxvZ28ge1xuICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwcHg7IH1cbiAgLmxvZ28gaW1nIHtcbiAgICBoZWlnaHQ6IDgwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmxvZ28ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAyMHB4OyB9IH1cblxuLmhvbWVwYWdlLWJhbm5lciAuaG9tZS1iYW5uZXIgLmlubmVyIHtcbiAgbWF4LWhlaWdodDogODkwcHg7XG4gIG1pbi1oZWlnaHQ6IDU1MHB4OyB9XG5cbi5ob21lLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIC8gY292ZXI7XG4gIHdpZHRoOiAxMDB2dzsgfVxuICAuaG9tZS1iYW5uZXIgLmlubmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoODB2aCAtIDIwMHB4KTsgfVxuICAgIC5ob21lLWJhbm5lciAuaW5uZXIuZnVsbHNpemUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xuICAgICAgbWluLWhlaWdodDogNTUwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5ob21lLWJhbm5lciAuaW5uZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuICAgICAgICAuaG9tZS1iYW5uZXIgLmlubmVyLmZ1bGxzaXplIHtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmhvbWUtYmFubmVyIC5pbm5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4OyB9XG4gICAgICAgIC5ob21lLWJhbm5lciAuaW5uZXIuZnVsbHNpemUge1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEwMHB4KTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICAuaG9tZS1iYW5uZXIgLmlubmVyLmZ1bGxzaXplIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoKTsgfSB9XG4gICAgLmhvbWUtYmFubmVyIC5pbm5lciAuaGVyby10aXRsZSB7XG4gICAgICBtYXgtd2lkdGg6IDcwMHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLmhvbWUtYmFubmVyIC5pbm5lciAuaGVyby10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMHB4OyB9IH1cbiAgICAgIC5ob21lLWJhbm5lciAuaW5uZXIgLmhlcm8tdGl0bGUgLkxpZ2h0IHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAuaG9tZS1iYW5uZXIgLmlubmVyIC5oZXJvLXRpdGxlIC5EYXJrIHtcbiAgICAgICAgY29sb3I6ICMyMjI7IH1cbiAgICAgIC5ob21lLWJhbm5lciAuaW5uZXIgLmhlcm8tdGl0bGUgLlByaW1hcnkge1xuICAgICAgICBjb2xvcjogIzIyMjsgfVxuICAgICAgLmhvbWUtYmFubmVyIC5pbm5lciAuaGVyby10aXRsZSAuU2Vjb25kYXJ5IHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbi5ncmFkaWVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDAsIDAsIDApIDAlLCB3aGl0ZSAxMDAlKTsgfVxuXG4uejEwMCB7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4uYmFubmVyLWNhcm91c2VsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY5OXB4KSB7XG4gICAgLmJhbm5lci1jYXJvdXNlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5iYW5uZXItY2Fyb3VzZWwgLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogMTAwcHg7XG4gICAgei1pbmRleDogOTk5OyB9XG4gICAgLmJhbm5lci1jYXJvdXNlbCAuc2xpY2stZG90cyBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTsgfVxuICAgICAgLmJhbm5lci1jYXJvdXNlbCAuc2xpY2stZG90cyBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJhbm5lci1jYXJvdXNlbCAuc2xpY2stZG90cyAuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmJhbm5lci1jYXJvdXNlbCAuc2xpY2stZG90cyAuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRpdGxlLXdyYXBwZXIge1xuICBwYWRkaW5nOiA1MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgICAgIC50aXRsZS13cmFwcGVyIC50aXRsZS1jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAudGl0bGUtd3JhcHBlciAudGl0bGUtY29udGVudCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA4MCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY5OXB4KSB7XG4gICAgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgei1pbmRleDogOTk5O1xuICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDElLCB3aGl0ZSAyMCUpOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY5OXB4KSB7XG4gIC5tYXJnaW4tYWRqdXN0bWVudCB7XG4gICAgbWFyZ2luLXRvcDogMzAwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXJnaW4tYWRqdXN0bWVudCB7XG4gICAgbWFyZ2luLXRvcDogMjAwcHg7IH0gfVxuXG4ucGF0aHdheS13cmFwcGVyIC5wYXRod2F5LWN0YSB7XG4gIHBhZGRpbmc6IDIwcHggMCA4MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnBhdGh3YXktd3JhcHBlciBociB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNjRjY2M5OyB9XG5cbi5wYXRod2F5LXdyYXBwZXIgLnBhdGh3YXktYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM2NGNjYzk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAyMHB4OyB9XG4gIC5wYXRod2F5LXdyYXBwZXIgLnBhdGh3YXktYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRjY2M5O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYXRod2F5LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnBhdGh3YXktd3JhcHBlciAucGF0aHdheS1jdGEge1xuICAgICAgbWF4LXdpZHRoOiA0MCU7IH1cbiAgICAgIC5wYXRod2F5LXdyYXBwZXIgLnBhdGh3YXktY3RhIC5wYXRod2F5LXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuXG4uc2tld2VkLWJnIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDcwZGVnLCAjNzY4NjkyLCAjNzY4NjkyIDUwJSwgI2U2ZTNkYiA1MCUpOyB9XG5cbi5vdXItaG9tZXMge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm91ci1ob21lcyBpbWcge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjcpOyB9XG4gIC5vdXItaG9tZXMgLm91ci1ob21lcy1iYXIge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgICBib3R0b206IDA7IH1cbiAgICAub3VyLWhvbWVzIC5vdXItaG9tZXMtYmFyIGg0IHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLm91ci1ob21lcyAub3VyLWhvbWVzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2NCwgMTg4LCAxOTQsIDAuNSk7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAub3VyLWhvbWVzIC5vdXItaG9tZXMtYmFyIGg0IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm91ci1ob21lcyBpbWcge1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEpOyB9IH1cblxuLmhvbWVzLXBhbmVsIGhyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY0Y2NjOTtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uaG9tZXMtcGFuZWwgLm91ci1ob21lcy1oZWFkaW5nIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG5cbi5ob21lcy1wYW5lbCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIG1pbi13aWR0aDogMjAwcHg7IH1cbiAgLmhvbWVzLXBhbmVsIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNGJjYzI7IH1cblxuLm91ci1ob21lcy1kZXZlbG9wbWVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5vdXItaG9tZXMtZGV2ZWxvcG1lbnRzIC5kZXZlbG9wbWVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHggMTAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QxY2NiZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAub3VyLWhvbWVzLWRldmVsb3BtZW50cyAuZGV2ZWxvcG1lbnQgaW1nIHtcbiAgICAgIG1heC13aWR0aDogODUlO1xuICAgICAgbWF4LWhlaWdodDogMTAwcHg7IH1cbiAgICAub3VyLWhvbWVzLWRldmVsb3BtZW50cyAuZGV2ZWxvcG1lbnQgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNDBweDtcbiAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgYm90dG9tOiA0MHB4OyB9XG4gICAgICAub3VyLWhvbWVzLWRldmVsb3BtZW50cyAuZGV2ZWxvcG1lbnQgLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvcGFjaXR5OiAuNzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAub3VyLWhvbWVzLWRldmVsb3BtZW50cyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAub3VyLWhvbWVzLWRldmVsb3BtZW50cyAuZGV2ZWxvcG1lbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgbWluLXdpZHRoOiA1MCU7IH1cbiAgICAgIC5vdXItaG9tZXMtZGV2ZWxvcG1lbnRzLmNvbHVtbnMtMyAuZGV2ZWxvcG1lbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgbWluLXdpZHRoOiA1MCU7IH1cbiAgICAgICAgLm91ci1ob21lcy1kZXZlbG9wbWVudHMuY29sdW1ucy0zIC5kZXZlbG9wbWVudDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gICAgLm91ci1ob21lcy1kZXZlbG9wbWVudHMuY29sdW1ucy0zIC5kZXZlbG9wbWVudCB7XG4gICAgICBtYXgtd2lkdGg6IDMzJTtcbiAgICAgIG1pbi13aWR0aDogMzMlOyB9XG4gICAgICAub3VyLWhvbWVzLWRldmVsb3BtZW50cy5jb2x1bW5zLTMgLmRldmVsb3BtZW50Omxhc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAzNCU7XG4gICAgICAgIG1pbi13aWR0aDogMzQlOyB9IH1cblxuLnF1b3RlLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgd2lkdGg6IDg1JTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5xdW90ZS13cmFwcGVyIC5xdW90ZS1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxuICAucXVvdGUtd3JhcHBlciBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgbGVmdDogLTIwcHg7XG4gICAgdG9wOiAwcHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAucXVvdGUtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucXVvdGUtd3JhcHBlciAucXVvdGUtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4OyB9XG4gICAgICAucXVvdGUtd3JhcHBlciBpbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbi5qYWwtZWxlbWVudC1lbGVtZW50YnJhbmRzdGF0ZW1lbnQgc2VjdGlvbi5zZWN0aW9uIHtcbiAgcGFkZGluZzogMDsgfVxuICAuamFsLWVsZW1lbnQtZWxlbWVudGJyYW5kc3RhdGVtZW50IHNlY3Rpb24uc2VjdGlvbiAuY2VudGVyLWlubGluZSB7XG4gICAgcGFkZGluZzogNjBweCAwOyB9XG5cbi5idXR0b24taG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDUwcHg7XG4gIHdpZHRoOiAxMDB2dztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5idXR0b24taG9sZGVyIC5uZXh0LXNlY3Rpb24tYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IGJvdW5jZSAzcyBpbmZpbml0ZTtcbiAgICB6LWluZGV4OiA5OTk7IH1cbiAgICAuYnV0dG9uLWhvbGRlciAubmV4dC1zZWN0aW9uLWJ1dHRvbi53aGl0ZSB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuYnV0dG9uLWhvbGRlciAubmV4dC1zZWN0aW9uLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAyMHB4KTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9IH1cblxuLkxpZ2h0LWJ1dHRvbiwgLkRhcmstYnV0dG9uLCAuUHJpbWFyeS1idXR0b24sIC5TZWNvbmRhcnktYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjI1KSAwcHggNHB4IDE1cHg7XG4gIG1hcmdpbjogMCBhdXRvIDAgMDsgfVxuXG4uRGFyay1idXR0b24sIC5MaWdodC1iYW5uZXItYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5EYXJrLWJ1dHRvbjpob3ZlciwgLkxpZ2h0LWJhbm5lci1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5MaWdodC1idXR0b24sIC5EYXJrLWJhbm5lci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMyMjI7IH1cbiAgLkxpZ2h0LWJ1dHRvbjpob3ZlciwgLkRhcmstYmFubmVyLWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMyMjI7IH1cblxuLmJnLVNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5iZy1QcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWQ0OTsgfVxuXG4uYmctRGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njg2OTI7IH1cblxuLmJnLUxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTNkYjsgfVxuXG4ud2hpdGUge1xuICBjb2xvcjogd2hpdGU7IH1cblxuLndoaXRlLWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi50eXBvbG9neS1oZWFkaW5nIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi50eXBvbG9neS13cmFwcGVyIGg0IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi50eXBvbG9neS13cmFwcGVyIC50eXBvbG9neS1jb3B5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnR5cG9sb2d5LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnR5cG9sb2d5LXdyYXBwZXIgLnR5cG9sb2d5LWNhcm91c2VsIHtcbiAgICAgIG1heC13aWR0aDogNjclOyB9XG4gICAgLnR5cG9sb2d5LXdyYXBwZXIgLnR5cG9sb2d5LWNvcHkge1xuICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLnR5cG9sb2d5LWNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50eXBvbG9neS1jYXJvdXNlbCAuamFsLWNhcm91c2VsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAudHlwb2xvZ3ktY2Fyb3VzZWwgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC50eXBvbG9neS1jYXJvdXNlbCAuc2xpY2stYXJyb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7IH1cbiAgLnR5cG9sb2d5LWNhcm91c2VsIC5qYWwtY2Fyb3VzZWxfX3ByZXYge1xuICAgIGxlZnQ6IC0xNXB4O1xuICAgIHdpZHRoOiAuNTVlbTtcbiAgICBoZWlnaHQ6IC41NWVtOyB9XG4gICAgLnR5cG9sb2d5LWNhcm91c2VsIC5qYWwtY2Fyb3VzZWxfX3ByZXYgc3ZnIHtcbiAgICAgIGZvbnQtc2l6ZTogLjU1ZW07XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLnR5cG9sb2d5LWNhcm91c2VsIC5qYWwtY2Fyb3VzZWxfX25leHQge1xuICAgIHJpZ2h0OiAtMTVweDtcbiAgICB3aWR0aDogLjU1ZW07XG4gICAgaGVpZ2h0OiAuNTVlbTsgfVxuICAgIC50eXBvbG9neS1jYXJvdXNlbCAuamFsLWNhcm91c2VsX19uZXh0IHN2ZyB7XG4gICAgICBmb250LXNpemU6IC41NWVtO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbi5sb2NhdGlvbi13cmFwcGVyIC5sb2NhdGlvbi1jb3B5IHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxvY2F0aW9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubG9jYXRpb24td3JhcHBlciAubG9jYXRpb24taW1hZ2Uge1xuICAgICAgd2lkdGg6IDU1JTsgfVxuICAgIC5sb2NhdGlvbi13cmFwcGVyIC5sb2NhdGlvbi1jb3B5IHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5pbWFnZS13cmFwcGVyIC5ib3R0b20ucG9zaXRpb24tTGVmdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmltYWdlLXdyYXBwZXIgLmJvdHRvbS5wb3NpdGlvbi1SaWdodCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5pbWFnZS13cmFwcGVyIC50b3AucG9zaXRpb24tTGVmdCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmltYWdlLXdyYXBwZXIgLnRvcC5wb3NpdGlvbi1SaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuaW1hZ2Utd3JhcHBlciAuYm90dG9tLnBvc2l0aW9uLUxlZnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmltYWdlLXdyYXBwZXIgLmJvdHRvbS5wb3NpdGlvbi1SaWdodCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uY29sdW1uLWhvbGRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmNvbHVtbi1ob2xkZXIuYWxpZ24tdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuY29sdW1uLWhvbGRlciAuY29sdW1uLWhhbGYge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29sdW1uLWhvbGRlciAuY29sdW1uLXR3by10aGlyZHMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuY29sdW1uLWhvbGRlciAuY29sdW1uLXR3by10aGlyZHMgLmltYWdlLWNvbCB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICAgLmNvbHVtbi1ob2xkZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmNvbHVtbi1ob2xkZXIgLmNvbHVtbi10aGlyZCB7XG4gICAgICAgIG1heC13aWR0aDogMzAlOyB9XG4gICAgICAuY29sdW1uLWhvbGRlciAuY29sdW1uLXR3by10aGlyZHMge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTsgfVxuICAgICAgLmNvbHVtbi1ob2xkZXIgLmNvbHVtbi1oYWxmIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuamFsLWVsZW1lbnQtZWxlbWVudHRocmVlY29sdW1ucyAuZnVsbHNjcmVlbiB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5qYWwtZWxlbWVudC1lbGVtZW50dGhyZWVjb2x1bW5zIC5jb2x1bW4taG9sZGVyIC5jb2x1bW4tdHdvLXRoaXJkcyB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5qYWwtZWxlbWVudC1lbGVtZW50dGhyZWVjb2x1bW5zIC5jb2x1bW4taG9sZGVyIC5jb2x1bW4tdHdvLXRoaXJkcyAuaW1hZ2UtY29sIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5qYWwtZWxlbWVudC1lbGVtZW50dGhyZWVjb2x1bW5zIC5jb2x1bW4taG9sZGVyIC5jb2x1bW4tdHdvLXRoaXJkcyAuaW1hZ2UtY29sIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMCU7IH1cbiAgLmphbC1lbGVtZW50LWVsZW1lbnR0aHJlZWNvbHVtbnMgLmNvbHVtbi1ob2xkZXIgLmNvbHVtbi10aGlyZCB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb250YWN0LWZvcm0gI0Zvcm1fSG9tZXNDb250YWN0Rm9ybV9UaXRsZV9Ib2xkZXIgbGFiZWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb250YWN0LWZvcm0gLmhvbWVzLWNvbnRhY3QtZm9ybSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLmNvbnRhY3QtZm9ybSAuaG9tZXMtY29udGFjdC1mb3JtIC5qYWxjb24tZm9ybS1maWVsZCAuamFsLXNlbGVjdCBzZWxlY3Qge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jb250YWN0LWZvcm0gLmhvbWVzLWNvbnRhY3QtZm9ybSAuamFsY29uLWZvcm0tZmllbGQgLmphbC1zZWxlY3Qgc2VsZWN0IG9wdGlvbiB7XG4gICAgICBjb2xvcjogIzIyMjsgfVxuICAuY29udGFjdC1mb3JtIC5ob21lcy1jb250YWN0LWZvcm0gLmphbGNvbi1mb3JtLWZpZWxkIC5qYWwtc2VsZWN0ICNGb3JtX0hvbWVzQ29udGFjdEZvcm1fVGl0bGUge1xuICAgIG1heC13aWR0aDogODBweDsgfVxuICAuY29udGFjdC1mb3JtIC5ob21lcy1jb250YWN0LWZvcm0gLmphbGNvbi1mb3JtLWZpZWxkIC5qYWwtaW5wdXQgbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbnRhY3QtZm9ybSAuaG9tZXMtY29udGFjdC1mb3JtIC5qYWxjb24tZm9ybS1maWVsZCBpbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuY29udGFjdC1mb3JtIC5ob21lcy1jb250YWN0LWZvcm0gLmphbGNvbi1mb3JtLWZpZWxkIGlucHV0IHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlOyB9IH1cbiAgLmNvbnRhY3QtZm9ybSAuaG9tZXMtY29udGFjdC1mb3JtIC5BY3Rpb25zIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC42NWVtIDFlbTsgfVxuICAuY29udGFjdC1mb3JtIC5ob21lcy1jb250YWN0LWZvcm0gLmNvbnRhY3Qtcm93LWZsZXggLmZpZWxkLVRpdGxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC5jb250YWN0LWZvcm0gLmhvbWVzLWNvbnRhY3QtZm9ybSAuY29udGFjdC1yb3ctZmxleCAubmFtZS1maWVsZHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmNvbnRhY3QtZm9ybSAuaG9tZXMtY29udGFjdC1mb3JtIC5jb250YWN0LXJvdy1mbGV4IC5uYW1lLWZpZWxkcyAuZmllbGQtRmlyc3RuYW1lIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAuY29udGFjdC1mb3JtIC5ob21lcy1jb250YWN0LWZvcm0gLmNvbnRhY3Qtcm93LWZsZXggLm5hbWUtZmllbGRzIC5maWVsZC1MYXN0bmFtZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybSAuaG9tZXMtY29udGFjdC1mb3JtIC5jb250YWN0LXJvdy1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuY29udGFjdC1mb3JtIC5ob21lcy1jb250YWN0LWZvcm0gLmNvbnRhY3QtdGl0bGUge1xuICAgIG1pbi13aWR0aDogODBweDsgfVxuICAuY29udGFjdC1mb3JtIC5ob21lcy1jb250YWN0LWZvcm0gLmNvbnRhY3QtYWdlIHtcbiAgICBtaW4td2lkdGg6IDEyMHB4OyB9XG4gIC5jb250YWN0LWZvcm0gLmhvbWVzLWNvbnRhY3QtZm9ybSAuY29udGFjdC1pbnB1dC1sZWFkLXNvdXJjZSB7XG4gICAgZmxleDogMTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuY29udGFjdC1mb3JtIC5ob21lcy1jb250YWN0LWZvcm0gaW5wdXQuY29udGFjdC1pbnB1dFtuYW1lPVwiZmlyc3RuYW1lXCJdIHtcbiAgICAgIG1pbi13aWR0aDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLmNvbnRhY3QtZm9ybS5saWdodC1iZyB7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG4gIC5jb250YWN0LWZvcm0ubGlnaHQtYmcgLmhvbWVzLWNvbnRhY3QtZm9ybSAuamFsY29uLWZvcm0tZmllbGQgLmphbC1zZWxlY3Qgc2VsZWN0IHtcbiAgICBjb2xvcjogIzIyMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY4NjkyOyB9XG4gICAgLmNvbnRhY3QtZm9ybS5saWdodC1iZyAuaG9tZXMtY29udGFjdC1mb3JtIC5qYWxjb24tZm9ybS1maWVsZCAuamFsLXNlbGVjdCBzZWxlY3Qgb3B0aW9uIHtcbiAgICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jb250YWN0LWZvcm0ubGlnaHQtYmcgLmhvbWVzLWNvbnRhY3QtZm9ybSAuamFsY29uLWZvcm0tZmllbGQgLmphbC1zZWxlY3QgI0Zvcm1fSG9tZXNDb250YWN0Rm9ybV9UaXRsZSB7XG4gICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAuY29udGFjdC1mb3JtLmxpZ2h0LWJnIC5ob21lcy1jb250YWN0LWZvcm0gLmphbGNvbi1mb3JtLWZpZWxkIGlucHV0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY4NjkyO1xuICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jb250YWN0LWZvcm0ubGlnaHQtYmcgLmhvbWVzLWNvbnRhY3QtZm9ybSAuamFsY29uLWZvcm0tZmllbGQgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM3Njg2OTI7IH1cbiAgLmNvbnRhY3QtZm9ybS5saWdodC1iZyAuaG9tZXMtY29udGFjdC1mb3JtIC5BY3Rpb25zIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5jb250YWN0LWZvcm0ubGlnaHQtYmcgLmhvbWVzLWNvbnRhY3QtZm9ybSAuQWN0aW9ucyBpbnB1dCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNjRjY2M5O1xuICAgICAgcGFkZGluZzogMC44NWVtIDIuNWVtOyB9XG5cbi5mb3JtLWNvbnRlbnQgLmhlYWRpbmctdW5kZXJsaW5lIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc2VsZWN0LWhvbGRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnNlbGVjdC1ob2xkZXIgLnNlbGVjdC1ob3VzZS10eXBlIHtcbiAgICBwYWRkaW5nOiAxMHB4IDQwcHggMTBweCAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtaW4taGVpZ2h0OiA2NXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5zZWxlY3QtaG9sZGVyIC5zZWxlY3QtaG91c2UtdHlwZSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgLnNlbGVjdC1ob2xkZXIgLnNlbGVjdC1ob3VzZS10eXBlIGlucHV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAuc2VsZWN0LWhvbGRlciAuc2VsZWN0LWhvdXNlLXR5cGUge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICAgICAuc2VsZWN0LWhvbGRlciAuc2VsZWN0LWhvdXNlLXR5cGUge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyNTBweCkge1xuICAgICAgLnNlbGVjdC1ob2xkZXIgLnNlbGVjdC1ob3VzZS10eXBlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuc2VsZWN0LWhvbGRlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICAgLnNlbGVjdC1ob2xkZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjUwcHgpIHtcbiAgICAuc2VsZWN0LWhvbGRlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cblxuLmZvcm0tY3VzdG9tLWNoZWNrYm94IC5zZWxlY3QtaG91c2UtdHlwZSB7XG4gIHBhZGRpbmc6IDEwcHggNDBweCAxMHB4IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7IH1cblxuLmZvcm0tY3VzdG9tLWNoZWNrYm94IC5jaGVja2JveC1ob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmZvcm0tY3VzdG9tLWNoZWNrYm94IC5jaGVja2JveC1ob2xkZXIgLmNoZWNrYm94LWN1c3RvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7IH1cbiAgICAuZm9ybS1jdXN0b20tY2hlY2tib3ggLmNoZWNrYm94LWhvbGRlciAuY2hlY2tib3gtY3VzdG9tOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMycgaGVpZ2h0PScxMCcgdmlld0JveD0nMCAwIDEzIDEwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTQuMzQwMzUgNy45MjI5MUwxLjUyNjU0IDUuMDk5MDVMMC41NjgzNTkgNi4wNTM4OEw0LjM0MDM1IDkuODM5MzRMMTIuNDM3NiAxLjcxMzEzTDExLjQ4NjIgMC43NTgzMDFMNC4zNDAzNSA3LjkyMjkxWicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogc29saWQgIzIyMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZm9ybS1jdXN0b20tY2hlY2tib3ggLmNoZWNrYm94LWhvbGRlciBpbnB1dDpjaGVja2VkIH4gLmNoZWNrYm94LWN1c3RvbSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZvcm0tY3VzdG9tLWNoZWNrYm94IC5jaGVja2JveC1ob2xkZXIgaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja2JveC1jdXN0b206YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uZm9ybS1jdXN0b20tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZvcm0tY3VzdG9tLWNoZWNrYm94IGxhYmVsLmNoZWNrYm94IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5qYWwtZWxlbWVudC1lbGVtZW50Y29udGFjdGZvcm0gLmNvbnRhY3QtbGlzdC1pdGVtcyBoMiwgLmphbC1lbGVtZW50LWVsZW1lbnRjb250YWN0Zm9ybSAuY29udGFjdC1saXN0LWl0ZW1zIGgzIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiAnQ3VzdG9tRm9udCcsc2Fucy1zZXJpZjsgfVxuXG4uamFsLWVsZW1lbnQtZWxlbWVudGNvbnRhY3Rmb3JtIC5jb250YWN0LWxpc3QtaXRlbXMgYSB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uamFsLWVsZW1lbnQtZWxlbWVudGNvbnRhY3Rmb3JtIC5jb250YWN0LWxpc3QtaXRlbXMgdWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5qYWwtZWxlbWVudC1lbGVtZW50Y29udGFjdGZvcm0gLmNvbnRhY3QtbGlzdC1pdGVtcyB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmphbC1lbGVtZW50LWVsZW1lbnRjb250YWN0Zm9ybSAuY29udGFjdC1saXN0LWl0ZW1zIHVsIGxpOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgdG9wOiAycHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEzJyBoZWlnaHQ9JzEwJyB2aWV3Qm94PScwIDAgMTMgMTAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNNC4zNDAzNSA3LjkyMjkxTDEuNTI2NTQgNS4wOTkwNUwwLjU2ODM1OSA2LjA1Mzg4TDQuMzQwMzUgOS44MzkzNEwxMi40Mzc2IDEuNzEzMTNMMTEuNDg2MiAwLjc1ODMwMUw0LjM0MDM1IDcuOTIyOTFaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmphbC1lbGVtZW50LWVsZW1lbnRjb250YWN0Zm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94LCBDaHJvbWUsIE9wZXJhICovXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLmphbC1lbGVtZW50LWVsZW1lbnRjb250YWN0Zm9ybSBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbi5qYWwtZWxlbWVudC1lbGVtZW50Y29udGFjdGZvcm0gaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIC8qIE1pY3Jvc29mdCBFZGdlICovXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5qYWwtZWxlbWVudC1lbGVtZW50Y29udGFjdGZvcm0uYmctUHJpbWFyeSAuY29udGFjdC1saXN0LWl0ZW1zIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmphbC1lbGVtZW50LWVsZW1lbnRjb250YWN0Zm9ybS5iZy1QcmltYXJ5IC5jb250YWN0LWxpc3QtaXRlbXMgLmNvbnRhY3QtZm9ybSAuY29udGFjdC1yb3ctZmxleCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC5qYWwtZWxlbWVudC1lbGVtZW50Y29udGFjdGZvcm0uYmctUHJpbWFyeSAuY29udGFjdC1saXN0LWl0ZW1zIC5jb250YWN0LWZvcm0gaW5wdXQuY29udGFjdC1pbnB1dFtuYW1lPVwiZmlyc3RuYW1lXCJdIHtcbiAgICAgIG1pbi13aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuamFsLWVsZW1lbnQtZWxlbWVudGNvbnRhY3Rmb3JtLmJnLVByaW1hcnkgLmNvbnRhY3QtbGlzdC1pdGVtcyAuY29udGFjdC1mb3JtIGlucHV0LmNvbnRhY3QtaW5wdXRbbmFtZT1cImxhc3RuYW1lXCJdIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuLmJnLVByaW1hcnkgLmphbC1zZWxlY3Qgc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiB3aGl0ZSc+PC9wb2x5Z29uPjwvc3ZnPlwiKSAhaW1wb3J0YW50OyB9XG5cbi5qYWwtZWxlbWVudC1lbGVtZW50b3VyaG9tZXMgc2VjdGlvbi5zZWN0aW9uIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uamFsLWVsZW1lbnQtZWxlbWVudG91cmhvbWVzIC5vdXItaG9tZXMtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAuamFsLWVsZW1lbnQtZWxlbWVudG91cmhvbWVzIC5vdXItaG9tZXMtaW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogMzgwcHg7IH0gfVxuXG4uamFsLXNlbGVjdCBsYWJlbCB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cblxuLmphbC1zZWxlY3Qgc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMVwiIHZpZXdCb3g9XCIwIDAgMTUgOFwiJTNFJTNDcGF0aCBmaWxsPVwiJTIzMjIyXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNOCA4TDAgMGgxNXpcIi8lM0UlM0Mvc3ZnJTNFJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMC43NXJlbSAwLjM3NXJlbTsgfVxuXG4uamFsLWZpbHRlciAuamFsLXNlbGVjdCBsYWJlbCxcbi5qYWwtZm9ybS0tY29udGFjdCAuamFsLXNlbGVjdCBsYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLmphbC1zZWxlY3QtLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmphbC1zZWxlY3QtLXdoaXRlIHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogIzY0Y2NjOTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxXCIgdmlld0JveD1cIjAgMCAxNSA4XCIlM0UlM0NwYXRoIGZpbGw9XCIlMjNmNWY4ZjlcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04IDhMMCAwaDE1elwiLyUzRSUzQy9zdmclM0UnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgLmphbC1zZWxlY3QtLXdoaXRlIHNlbGVjdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuamFsLXNlbGVjdC0td2hpdGUgb3B0aW9uIHtcbiAgICBjb2xvcjogIzIyMjsgfVxuXG4uamFsLXRleHRhcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5qYWwtdGV4dGFyZWEgbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5qYWwtdGV4dGFyZWEgdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogbm9uZTsgfVxuICAuamFsLXRleHRhcmVhX19oZWxwLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMjVzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmphbC10ZXh0YXJlYV9faGVscC10ZXh0IGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAgIC5qYWwtdGV4dGFyZWFfX2hlbHAtdGV4dCBzcGFuIHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgIC51c2VkICsgLmphbC10ZXh0YXJlYV9faGVscC10ZXh0IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cblxuLmphbC1yYW5nZS1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5qYWwtcmFuZ2Utc2xpZGVyIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBmb250LWZhbWlseTogXCJIdXJtZSBHZW9tZXRyaWMgU2FucyA0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5qYWwtcmFuZ2Utc2xpZGVyIGlucHV0IHtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIGN1cnNvcjogdGV4dDsgfVxuICAgIC5qYWwtcmFuZ2Utc2xpZGVyIGlucHV0OmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5qYWwtcmFuZ2Utc2xpZGVyX190b3Age1xuICAgIHBhZGRpbmctdG9wOiAwLjc1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtOyB9XG4gIC5qYWwtcmFuZ2Utc2xpZGVyX191aSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzVmNjg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41ZW07IH1cbiAgICBbZGF0YS13aGF0aW50ZW50PSdtb3VzZSddIC5qYWwtcmFuZ2Utc2xpZGVyX191aSxcbiAgICBbZGF0YS13aGF0aW50ZW50PSd0b3VjaCddIC5qYWwtcmFuZ2Utc2xpZGVyX191aSB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5qYWwtcmFuZ2Utc2xpZGVyX19oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIGJvcmRlcjogMC4zMTI1cmVtIHNvbGlkICM2NGNjYzk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuamFsLXJhbmdlLXNsaWRlcl9faGFuZGxlIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuamFsLXJhbmdlLXNsaWRlcl9faGFuZGxlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7IH1cbiAgICAuamFsLXJhbmdlLXNsaWRlcl9faGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cbiAgLmphbC1yYW5nZS1zbGlkZXJfX2ZpbGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVlbTsgfVxuICAgIC5qYWwtcmFuZ2Utc2xpZGVyX19maWxsLmlzLWRyYWdnaW5nIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cbiAgLmphbC1yYW5nZS1zbGlkZXJfX3ZhbHVlcyBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmphbC1jaGVja2JveCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmphbC1jaGVja2JveF9faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5qYWwtY2hlY2tib3hfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIzLCAxKTtcbiAgICBjb2xvcjogIzA3MWQ0OTsgfVxuICAgIC5qYWwtY2hlY2tib3hfX2xhYmVsLmphbC1jaGVja2JveF9fbGFiZWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmphbC1jaGVja2JveF9fcmVwbGFjZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNWVtO1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMywgMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgOmhvdmVyID4gLmphbC1jaGVja2JveF9fcmVwbGFjZXIsXG4gICAgOmZvY3VzICsgbGFiZWwgLmphbC1jaGVja2JveF9fcmVwbGFjZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxMDAsIDIwNCwgMjAxLCAwLjEpOyB9XG4gICAgOmNoZWNrZWQgKyBsYWJlbCAuamFsLWNoZWNrYm94X19yZXBsYWNlciB7XG4gICAgICBib3JkZXI6IDAuNzVlbSBzb2xpZCAjNjRjY2M5O1xuICAgICAgYW5pbWF0aW9uOiBzaHJpbmstYm91bmNlIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjMsIDEpOyB9XG4gICAgICA6Y2hlY2tlZCArIGxhYmVsIC5qYWwtY2hlY2tib3hfX3JlcGxhY2VyOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogLTAuMDYyNXJlbTtcbiAgICAgICAgbGVmdDogLTAuMjVlbTtcbiAgICAgICAgd2lkdGg6IDAuNWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBhbmltYXRpb246IGNoZWNrYm94LWNoZWNrIDEyNW1zIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjMsIDEpIGZvcndhcmRzOyB9XG5cbkBrZXlmcmFtZXMgc2hyaW5rLWJvdW5jZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDMzJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjg1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBjaGVja2JveC1jaGVjayB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMCwgMCk7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjRjY2M5OyB9XG4gIDMzJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAsIDAuNSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMC41ZW0sIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMSwgMSk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxZDQ5OyB9IH1cblxuLmphbC1jaGVja2JveC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmphbC1jaGVja2JveC1ncm91cCBoNiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgLmphbC1jaGVja2JveC1ncm91cCBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmphbC1jaGVja2JveC1ncm91cCA+IGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgIC5qYWwtZm9ybSAuamFsLWNoZWNrYm94LWdyb3VwID4gbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgICAgYm9yZGVyOiAwOyB9XG4gIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2ljb24sIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2hlYWRpbmcge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmphbC1jaGVja2JveC1ncm91cF9faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgZm9udC1zaXplOiAzZW07IH1cbiAgLmphbC1jaGVja2JveC1ncm91cF9faGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVlbTsgfVxuICAuamFsLWNoZWNrYm94LWdyb3VwX193cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIC5qYWwtY2hlY2tib3gtZ3JvdXBfX3dyYXBwZXI6OmJlZm9yZSwgLmphbC1jaGVja2JveC1ncm91cF9fd3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuamFsLWNoZWNrYm94LWdyb3VwX193cmFwcGVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5qYWwtY2hlY2tib3gtZ3JvdXBfX3dyYXBwZXIgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgICAuamFsLWNoZWNrYm94LWdyb3VwX193cmFwcGVyIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwLjY1ZW0gMWVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gICAgY29sb3I6ICM2NGNjYzk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtZmFtaWx5OiBcIkh1cm1lIEdlb21ldHJpYyBTYW5zIDRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogIzA3MWQ0OTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMS40MjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwsIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmhvdmVyLCAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsLmRpc2FibGVkLCAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbC5kaXNhYmxlZDpob3ZlciwgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwuZGlzYWJsZWQ6Zm9jdXMsIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsW2Rpc2FibGVkXSwgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWxbZGlzYWJsZWRdOmhvdmVyLCAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbFtkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpob3ZlciwgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWw6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjY3MjcwO1xuICAgICAgY29sb3I6ICMyNjcyNzA7IH1cbiAgICAgIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmhvdmVyLmRpc2FibGVkLCAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpob3ZlcltkaXNhYmxlZF0sIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmZvY3VzLmRpc2FibGVkLCAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjRjY2M5O1xuICAgICAgICBjb2xvcjogIzY0Y2NjOTsgfVxuICAgIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmZvY3VzLCAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM4YWQ5ZDY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuMDIpO1xuICAgICAgY29sb3I6ICMwNzFkNDk7IH1cbiAgICAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDphY3RpdmUge1xuICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KSB0cmFuc2xhdGVZKDFweCk7IH1cbiAgICAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1pbi13aWR0aDogNGVtOyB9XG4gICAgOmZvY3VzICsgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDIwNCwgMjAxLCAwLjUpOyB9XG4gICAgICBbZGF0YS13aGF0aW50ZW50PSdtb3VzZSddIDpmb2N1cyArIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsLFxuICAgICAgW2RhdGEtd2hhdGludGVudD0ndG91Y2gnXSA6Zm9jdXMgKyAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICA6Y2hlY2tlZCArIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NGNjYzk7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgOmNoZWNrZWQgKyAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YWQ5ZDY7IH1cbiAgICA6ZGlzYWJsZWQgKyAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5qYWwtY2hlY2tib3gtZ3JvdXBfX3Bvc3Qtc3VibWl0LW1lc3NhZ2Uge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmphbC1jaGVja2JveC1ncm91cC0tY2VudGVyZWQgLmphbC1jaGVja2JveC1ncm91cF9fd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmphbC1jaGVja2JveC1ncm91cC0td2hpdGUgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwLjY1ZW0gMWVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gICAgY29sb3I6ICM2NGNjYzk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtZmFtaWx5OiBcIkh1cm1lIEdlb21ldHJpYyBTYW5zIDRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuamFsLWNoZWNrYm94LWdyb3VwLS13aGl0ZSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmphbC1jaGVja2JveC1ncm91cC0td2hpdGUgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwsIC5qYWwtY2hlY2tib3gtZ3JvdXAtLXdoaXRlIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmhvdmVyLCAuamFsLWNoZWNrYm94LWdyb3VwLS13aGl0ZSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5qYWwtY2hlY2tib3gtZ3JvdXAtLXdoaXRlIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsLmRpc2FibGVkLCAuamFsLWNoZWNrYm94LWdyb3VwLS13aGl0ZSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbC5kaXNhYmxlZDpob3ZlciwgLmphbC1jaGVja2JveC1ncm91cC0td2hpdGUgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwuZGlzYWJsZWQ6Zm9jdXMsIC5qYWwtY2hlY2tib3gtZ3JvdXAtLXdoaXRlIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsW2Rpc2FibGVkXSwgLmphbC1jaGVja2JveC1ncm91cC0td2hpdGUgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWxbZGlzYWJsZWRdOmhvdmVyLCAuamFsLWNoZWNrYm94LWdyb3VwLS13aGl0ZSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbFtkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuamFsLWNoZWNrYm94LWdyb3VwLS13aGl0ZSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpob3ZlciwgLmphbC1jaGVja2JveC1ncm91cC0td2hpdGUgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWw6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjY3MjcwO1xuICAgICAgY29sb3I6ICMyNjcyNzA7IH1cbiAgICAgIC5qYWwtY2hlY2tib3gtZ3JvdXAtLXdoaXRlIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmhvdmVyLmRpc2FibGVkLCAuamFsLWNoZWNrYm94LWdyb3VwLS13aGl0ZSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpob3ZlcltkaXNhYmxlZF0sIC5qYWwtY2hlY2tib3gtZ3JvdXAtLXdoaXRlIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmZvY3VzLmRpc2FibGVkLCAuamFsLWNoZWNrYm94LWdyb3VwLS13aGl0ZSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjRjY2M5O1xuICAgICAgICBjb2xvcjogIzY0Y2NjOTsgfVxuICAgIC5qYWwtY2hlY2tib3gtZ3JvdXAtLXdoaXRlIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmZvY3VzLCAuamFsLWNoZWNrYm94LWdyb3VwLS13aGl0ZSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICMzZmJlYmI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuamFsLWNoZWNrYm94LWdyb3VwLS13aGl0ZSAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbDphY3RpdmUge1xuICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KSB0cmFuc2xhdGVZKDFweCk7IH1cbiAgLmphbC1jaGVja2JveC1ncm91cC0td2hpdGUgOmNoZWNrZWQgKyAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY0Y2NjOTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5qYWwtY2hlY2tib3gtZ3JvdXAtLXdoaXRlIDpjaGVja2VkICsgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhZDlkNjsgfVxuICAuamFsLWNoZWNrYm94LWdyb3VwLS1jb25kZW5zZWQgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtOyB9XG4gICAgLmphbC1jaGVja2JveC1ncm91cC0tY29uZGVuc2VkIC5qYWwtY2hlY2tib3gtZ3JvdXBfX2xhYmVsIH4gLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgLmphbC1jaGVja2JveC1ncm91cC0tc3BhY2VkIC5qYWwtY2hlY2tib3gtZ3JvdXBfX3dyYXBwZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuamFsLWNoZWNrYm94LWdyb3VwLS1zcGFjZWQgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gICAgICAuamFsLWNoZWNrYm94LWdyb3VwLS1zcGFjZWQgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWNoZWNrYm94LWdyb3VwLS1zcGFjZWQgLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5qYWwtbG9hZGluZyB7XG4gIHdpZHRoOiA0LjM3NXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmphbC1sb2FkaW5nIGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwLjEyNXJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY0Y2NjOTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHN0cmV0Y2hkZWxheTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICAuamFsLWxvYWRpbmdfX3JlY3QyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0xLjFzOyB9XG4gIC5qYWwtbG9hZGluZ19fcmVjdDMge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTFzOyB9XG4gIC5qYWwtbG9hZGluZ19fcmVjdDQge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTAuOXM7IH1cbiAgLmphbC1sb2FkaW5nX19yZWN0NSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMC44czsgfVxuXG5Aa2V5ZnJhbWVzIHN0cmV0Y2hkZWxheSB7XG4gIDAlLFxuICA0MCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuNCk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgfSB9XG5cbi5qYWwtc3ltYm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuamFsLXN5bWJvbCB1c2Uge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5qYWwtc3ltYm9sLS1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxZW07IH1cbiAgLmphbC1zeW1ib2wtLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogIENvbXBvbmVudHNcbiAqL1xuLmphbC1jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDJlbTsgfVxuICAuamFsLWNhcm91c2VsX19uZXh0LCAuamFsLWNhcm91c2VsX19wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAyMDtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgbGluZWFyO1xuICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgY29sb3I6ICM2NGNjYzk7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXSAuamFsLWNhcm91c2VsX19uZXh0LFxuICAgIFtkYXRhLXdoYXRpbnRlbnQ9J3RvdWNoJ10gLmphbC1jYXJvdXNlbF9fbmV4dCwgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXSAuamFsLWNhcm91c2VsX19wcmV2LFxuICAgIFtkYXRhLXdoYXRpbnRlbnQ9J3RvdWNoJ10gLmphbC1jYXJvdXNlbF9fcHJldiB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtY2Fyb3VzZWxfX25leHQsIC5qYWwtY2Fyb3VzZWxfX3ByZXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1jYXJvdXNlbF9fbmV4dCwgLmphbC1jYXJvdXNlbF9fcHJldiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy43NWVtOyB9IH1cbiAgICAuamFsLWNhcm91c2VsX19uZXh0OmhvdmVyLCAuamFsLWNhcm91c2VsX19wcmV2OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgICAgLmphbC1jYXJvdXNlbF9fbmV4dDpob3ZlciwgLmphbC1jYXJvdXNlbF9fcHJldjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH0gfVxuICAgIC5qYWwtY2Fyb3VzZWxfX25leHQgc3ZnLCAuamFsLWNhcm91c2VsX19wcmV2IHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTsgfVxuICAgIC5qYWwtY2Fyb3VzZWxfX25leHQuc2xpY2stZGlzYWJsZWQsIC5qYWwtY2Fyb3VzZWxfX3ByZXYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuamFsLWNhcm91c2VsX19uZXh0IHtcbiAgICByaWdodDogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWNhcm91c2VsX19uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDAuNWVtOyB9IH1cbiAgLmphbC1jYXJvdXNlbF9fcHJldiB7XG4gICAgbGVmdDogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWNhcm91c2VsX19wcmV2IHtcbiAgICAgICAgbGVmdDogMC41ZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtY2Fyb3VzZWwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDZlbTsgfSB9XG4gIC5qYWwtY2Fyb3VzZWwgc3ZnLFxuICAuamFsLWNhcm91c2VsIHVzZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmphbC1jYXJvdXNlbF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogNzYuODc1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWNhcm91c2VsX19jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmphbC1jYXJvdXNlbF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5qYWwtY2Fyb3VzZWxfX21haW4ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuamFsLWNhcm91c2VsX19tYWluLmphbC1jYXJvdXNlbF9fbWFpbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuamFsLWNhcm91c2VsX19tYWluLmphbC1jYXJvdXNlbF9fbWFpbiAuc2xpY2stZG90cyB7XG4gICAgICAgIGJvdHRvbTogMC41ZW07IH1cbiAgICAgIC5qYWwtY2Fyb3VzZWxfX21haW4uamFsLWNhcm91c2VsX19tYWluIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAgIC5qYWwtY2Fyb3VzZWxfX21haW4uamFsLWNhcm91c2VsX19tYWluID4gLmphbC1jYXJvdXNlbF9fbWFpbi1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmphbC1jYXJvdXNlbF9fbWFpbi5qYWwtY2Fyb3VzZWxfX21haW4gPiAuamFsLWNhcm91c2VsX19tYWluLWl0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmphbC1jYXJvdXNlbF9fbWFpbiwgLmphbC1jYXJvdXNlbF9fbmF2IHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGxpbmVhcjtcbiAgICBsaW5lLWhlaWdodDogMC44OyB9XG4gIC5qYWwtY2Fyb3VzZWxfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtY2Fyb3VzZWxfX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1jYXJvdXNlbF9fbmF2LnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5qYWwtY2Fyb3VzZWxfX25hdiAuc2xpY2stbGlzdCB7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuamFsLWNhcm91c2VsX19uYXYgLnNsaWNrLXNsaWRlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuamFsLWNhcm91c2VsX19uYXYtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1jYXJvdXNlbF9fbmF2LWl0ZW0ge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLnNsaWNrLWluaXRpYWxpemVkIC5qYWwtY2Fyb3VzZWxfX25hdi1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmphbC1jYXJvdXNlbF9fbmF2LWl0ZW06aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgICAuamFsLWNhcm91c2VsX19uYXYtaXRlbTpudGgtY2hpbGQoNCkgfiAuamFsLWNhcm91c2VsX19uYXYtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgICAuc2xpY2staW5pdGlhbGl6ZWQgLmphbC1jYXJvdXNlbF9fbmF2LWl0ZW06bnRoLWNoaWxkKDQpIH4gLmphbC1jYXJvdXNlbF9fbmF2LWl0ZW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuamFsLWNhcm91c2VsX19uYXYtaXRlbSBpbWcge1xuICAgICAgYm9yZGVyOiAwLjEyNXJlbSB0cmFuc3BhcmVudCBzb2xpZDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjVzIGxpbmVhcjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmphbC1jYXJvdXNlbF9fbmF2LWl0ZW0gaW1nIHtcbiAgICAgICAgICBib3JkZXI6IDAuMjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIHNvbGlkOyB9IH1cbiAgICAuc2xpY2stY3VycmVudCAuamFsLWNhcm91c2VsX19uYXYtaXRlbSBpbWcge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnRlbnQ9J21vdXNlJ10gLmphbC1jYXJvdXNlbCAuc2xpY2stc2xpZGUsXG4gIFtkYXRhLXdoYXRpbnRlbnQ9J3RvdWNoJ10gLmphbC1jYXJvdXNlbCAuc2xpY2stc2xpZGUge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmphbC1jb250ZW50X193cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuXG4uamFsLWNvbnRlbnRfX2hlYWRlciwgLmphbC1jb250ZW50X19ib2R5IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWNvbnRlbnRfX2hlYWRlciwgLmphbC1jb250ZW50X19ib2R5IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLWNvbnRlbnRfX2JvZHkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmphbC1jb250ZW50X19oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1jb250ZW50X19oZWFkZXIgaHIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjEyNXJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjNjRjY2M5OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1jb250ZW50X19oZWFkZXIgaHIge1xuICAgICAgd2lkdGg6IDgwJTsgfSB9XG5cbi5qYWwtY29udGVudF9faGVhZGVyICsgLmphbC1jb250ZW50X19ib2R5IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWNvbnRlbnRfX2hlYWRlciArIC5qYWwtY29udGVudF9fYm9keSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtY29udGVudF9faGVhZGVyICsgLmphbC1jb250ZW50X19ib2R5IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uamFsLWNvbnRlbnRfX2hlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1jb250ZW50X19oZWFkaW5nIC5qcy1maXJzdC13b3JkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmphbC1jb250ZW50X19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3Ni44NzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1jb250ZW50X19jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLWNvbnRlbnRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5qYWwtY29udGVudF9fYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG5cbi5qYWwtY29udGVudF9fYWRkcmVzcy10ZXh0IGFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLmphbC1jb250ZW50X19vcGVuLWhvdXJzIHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG5cbi5qYWwtY29udGVudF9fZGlyZWN0aW9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4uamFsLWNvbnRlbnRfX2JvZHkgaDIsXG4uamFsLWNvbnRlbnRfX2JvZHkgaDMsXG4uamFsLWNvbnRlbnRfX2JvZHkgaDQsXG4uamFsLWNvbnRlbnRfX2JvZHkgaDUsXG4uamFsLWNvbnRlbnRfX2JvZHkgaDYsXG4uamFsLWNvbnRlbnRfX2JvZHkgYmxvY2txdW90ZSB7XG4gIG1hcmdpbi10b3A6IDEuMjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5qYWwtY29udGVudF9fYm9keSBoMjpmaXJzdC1jaGlsZCxcbiAgLmphbC1jb250ZW50X19ib2R5IGgzOmZpcnN0LWNoaWxkLFxuICAuamFsLWNvbnRlbnRfX2JvZHkgaDQ6Zmlyc3QtY2hpbGQsXG4gIC5qYWwtY29udGVudF9fYm9keSBoNTpmaXJzdC1jaGlsZCxcbiAgLmphbC1jb250ZW50X19ib2R5IGg2OmZpcnN0LWNoaWxkLFxuICAuamFsLWNvbnRlbnRfX2JvZHkgYmxvY2txdW90ZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uamFsLWNvbnRlbnRfX2JvZHkgY2l0ZSB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uamFsLWNvbnRlbnQtLW1pbi1oZWlnaHQge1xuICBtaW4taGVpZ2h0OiAzMGVtOyB9XG5cbi5qYWwtY29udGVudC0tb3B0aW1pemVkLWZvci1yZWFkaW5nIC5qYWwtY29udGVudF9fYm9keSB7XG4gIG1heC13aWR0aDogNTBlbTsgfVxuXG4uamFsLWdyaWRfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWdyaWRfX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtZ3JpZF9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmphbC1ncmlkX19pdGVtcywgLmphbC1ncmlkX19pdGVtIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWdyaWRfX2l0ZW1zLCAuamFsLWdyaWRfX2l0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtZ3JpZF9faGdyb3VwIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1ncmlkX19oZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1ncmlkX19pdGVtcy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uamFsLWNvbnRlbnQgKyAuamFsLWdyaWQge1xuICBtYXJnaW4tdG9wOiAyZW07IH1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5qYWwtZ3JpZF9faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2hlYWRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cblxuLmphbC1ncmlkLS00LXVwIC5qYWwtZ3JpZF9faGVhZGVyLXRvcCwgLmphbC1ncmlkLS00LXVwIC5qYWwtZ3JpZF9faGVhZGVyLWJvZHkge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2hlYWRlci10b3AsIC5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2hlYWRlci1ib2R5IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLWdyaWQtLTQtdXAgLmphbC1ncmlkX19oZWFkZXItYm9keSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLWdyaWQtLTQtdXAgLmphbC1ncmlkX19oZWFkZXItdG9wIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2hlYWRlci10b3AgaHIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjEyNXJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjNjRjY2M5OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1ncmlkLS00LXVwIC5qYWwtZ3JpZF9faGVhZGVyLXRvcCBociB7XG4gICAgICB3aWR0aDogODAlOyB9IH1cblxuLmphbC1ncmlkLS00LXVwIC5qYWwtZ3JpZF9faGVhZGVyLXRvcCArIC5qYWwtZ3JpZF9faGVhZGVyLWJvZHkge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2hlYWRlci10b3AgKyAuamFsLWdyaWRfX2hlYWRlci1ib2R5IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1ncmlkLS00LXVwIC5qYWwtZ3JpZF9faGVhZGVyLXRvcCArIC5qYWwtZ3JpZF9faGVhZGVyLWJvZHkge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2hlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1ncmlkLS00LXVwIC5qYWwtZ3JpZF9faGVhZGluZyAuanMtZmlyc3Qtd29yZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uamFsLWdyaWQtLTQtdXAgLmphbC1ncmlkX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2l0ZW1zLXdyYXBwZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2l0ZW1zLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2l0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5qYWwtZ3JpZC0tNC11cCAuamFsLWdyaWRfX2l0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2Ljg3NWVtKSB7XG4gICAgLmphbC1ncmlkLS00LXVwIC5qYWwtZ3JpZF9faXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX19oZWFkZXIge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbi5qYWwtZ3JpZC0tMy11cCAuamFsLWdyaWRfX2hlYWRlci10b3AsIC5qYWwtZ3JpZC0tMy11cCAuamFsLWdyaWRfX2hlYWRlci1ib2R5IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX19oZWFkZXItdG9wLCAuamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX19oZWFkZXItYm9keSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmphbC1ncmlkLS0zLXVwIC5qYWwtZ3JpZF9faGVhZGVyLWJvZHkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmphbC1ncmlkLS0zLXVwIC5qYWwtZ3JpZF9faGVhZGVyLXRvcCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX19oZWFkZXItdG9wIGhyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMC4xMjVyZW07XG4gIGJvcmRlci1jb2xvcjogIzY0Y2NjOTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtZ3JpZC0tMy11cCAuamFsLWdyaWRfX2hlYWRlci10b3AgaHIge1xuICAgICAgd2lkdGg6IDgwJTsgfSB9XG5cbi5qYWwtZ3JpZC0tMy11cCAuamFsLWdyaWRfX2hlYWRlci10b3AgKyAuamFsLWdyaWRfX2hlYWRlci1ib2R5IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX19oZWFkZXItdG9wICsgLmphbC1ncmlkX19oZWFkZXItYm9keSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtZ3JpZC0tMy11cCAuamFsLWdyaWRfX2hlYWRlci10b3AgKyAuamFsLWdyaWRfX2hlYWRlci1ib2R5IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX19oZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtZ3JpZC0tMy11cCAuamFsLWdyaWRfX2hlYWRpbmcgLmpzLWZpcnN0LXdvcmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX193cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmphbC1ncmlkLS0zLXVwIC5qYWwtZ3JpZF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX19pdGVtcy13cmFwcGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX19pdGVtcy13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07IH0gfVxuXG4uamFsLWdyaWQtLTMtdXAgLmphbC1ncmlkX19pdGVtIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1ncmlkLS0zLXVwIC5qYWwtZ3JpZF9faXRlbSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtZ3JpZC0tMy11cCAuamFsLWdyaWRfX2l0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmphbC1ncmlkLS0yLXVwIC5qYWwtZ3JpZF9fd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cblxuLmphbC1ncmlkLS0yLXVwIC5qYWwtZ3JpZF9faGVhZGVyLCAuamFsLWdyaWQtLTItdXAgLmphbC1ncmlkX19ib2R5IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWdyaWQtLTItdXAgLmphbC1ncmlkX19oZWFkZXIsIC5qYWwtZ3JpZC0tMi11cCAuamFsLWdyaWRfX2JvZHkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtZ3JpZC0tMi11cCAuamFsLWdyaWRfX2JvZHkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmphbC1ncmlkLS0yLXVwIC5qYWwtZ3JpZF9faGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtZ3JpZC0tMi11cCAuamFsLWdyaWRfX2hlYWRlciBociB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDAuMTI1cmVtO1xuICBib3JkZXItY29sb3I6ICM2NGNjYzk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLWdyaWQtLTItdXAgLmphbC1ncmlkX19oZWFkZXIgaHIge1xuICAgICAgd2lkdGg6IDgwJTsgfSB9XG5cbi5qYWwtZ3JpZC0tMi11cCAuamFsLWdyaWRfX2hlYWRlciArIC5qYWwtZ3JpZF9fYm9keSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1ncmlkLS0yLXVwIC5qYWwtZ3JpZF9faGVhZGVyICsgLmphbC1ncmlkX19ib2R5IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1ncmlkLS0yLXVwIC5qYWwtZ3JpZF9faGVhZGVyICsgLmphbC1ncmlkX19ib2R5IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uamFsLWdyaWQtLTItdXAgLmphbC1ncmlkX19oZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtZ3JpZC0tMi11cCAuamFsLWdyaWRfX2hlYWRpbmcgLmpzLWZpcnN0LXdvcmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uamFsLWdyaWQtLTItdXAgLmphbC1ncmlkX193cmFwcGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5qYWwtZ3JpZC0tMi11cCAuamFsLWdyaWRfX2l0ZW1zLXdyYXBwZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZ3JpZC0tMi11cCAuamFsLWdyaWRfX2l0ZW1zLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uamFsLWdyaWQtLTItdXAgLmphbC1ncmlkX19pdGVtIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1ncmlkLS0yLXVwIC5qYWwtZ3JpZF9faXRlbSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLWdyaWQtLWFsaWduLW1pZGRsZSAuamFsLWdyaWRfX3dyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5qYWwtZ3JpZC0tY2Fyb3VzZWwtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX19uZXh0LCAuamFsLWdyaWQtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9fcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IGNhbGMoNi45Mzc1cmVtICsgKCgoMTAwdncgLSAyLjVyZW0pICogKDAuNTQwNTQpKSAvIDIpKTtcbiAgei1pbmRleDogMjA7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBtYXJnaW46IGF1dG8gMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgbGluZWFyO1xuICBmb250LXNpemU6IDIuNWVtO1xuICBjb2xvcjogIzY0Y2NjOTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnRlbnQ9J21vdXNlJ10gLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX25leHQsXG4gIFtkYXRhLXdoYXRpbnRlbnQ9J3RvdWNoJ10gLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX25leHQsIFtkYXRhLXdoYXRpbnRlbnQ9J21vdXNlJ10gLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX3ByZXYsXG4gIFtkYXRhLXdoYXRpbnRlbnQ9J3RvdWNoJ10gLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX3ByZXYge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWdyaWQtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9fbmV4dCwgLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX3ByZXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgZm9udC1zaXplOiAzZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtZ3JpZC0tY2Fyb3VzZWwtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX19uZXh0LCAuamFsLWdyaWQtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9fcHJldiB7XG4gICAgICBmb250LXNpemU6IDMuNzVlbTsgfSB9XG4gIC5qYWwtZ3JpZC0tY2Fyb3VzZWwtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX19uZXh0OmhvdmVyLCAuamFsLWdyaWQtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9fcHJldjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZ3JpZC0tY2Fyb3VzZWwtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX19uZXh0OmhvdmVyLCAuamFsLWdyaWQtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9fcHJldjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9IH1cbiAgLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX25leHQgc3ZnLCAuamFsLWdyaWQtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9fcHJldiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07IH1cbiAgLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX25leHQuc2xpY2stZGlzYWJsZWQsIC5qYWwtZ3JpZC0tY2Fyb3VzZWwtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX19wcmV2LnNsaWNrLWRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uamFsLWdyaWQtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9fbmV4dCB7XG4gIHJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX25leHQge1xuICAgICAgcmlnaHQ6IDAuNWVtOyB9IH1cblxuLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX3ByZXYge1xuICBsZWZ0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX3ByZXYge1xuICAgICAgbGVmdDogMC41ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My42ODc1ZW0pIHtcbiAgLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gIC5qYWwtZ3JpZC0tY2Fyb3VzZWwtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX19ib2R5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzLjY4NzVlbSkgYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWdyaWQtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9fYm9keSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My42ODc1ZW0pIHtcbiAgLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAwKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzLjY4NzVlbSkge1xuICAuamFsLWdyaWQtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9faXRlbSArIC5qYWwtZ3JpZF9faXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1Ljc1ZW0pIHtcbiAgLmphbC1ncmlkLS1jYXJvdXNlbC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX25leHQsXG4gIC5qYWwtZ3JpZC0tY2Fyb3VzZWwtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX19wcmV2IHtcbiAgICBib3R0b206IDEzLjEyNXJlbTsgfSB9XG5cbi5qYWwtZ3JpZC0tY2Fyb3VzZWwtZm9yLXNtYWxsLW9ubHkgLnNsaWNrLWxpc3Qge1xuICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzLjY4NzVlbSkge1xuICAuamFsLWdyaWQtLWZ1bGwtd2lkdGgtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX19uZXh0LCAuamFsLWdyaWQtLWZ1bGwtd2lkdGgtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX19wcmV2IHtcbiAgICBjb2xvcjogI2ZmZjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzLjY4NzVlbSkge1xuICAuamFsLWdyaWQtLWZ1bGwtd2lkdGgtZm9yLXNtYWxsLW9ubHkgLmphbC1ncmlkX193cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZ3JpZC0tZnVsbC13aWR0aC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX3dyYXBwZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My42ODc1ZW0pIHtcbiAgLmphbC1ncmlkLS1mdWxsLXdpZHRoLWZvci1zbWFsbC1vbmx5IC5qYWwtZ3JpZF9fYm9keSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gIC5qYWwtZ3JpZC0tZnVsbC13aWR0aC1mb3Itc21hbGwtb25seSAuamFsLWdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwdnc7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My42ODc1ZW0pIHtcbiAgLmphbC1ncmlkLS0xLXVwLWZvci1zbWFsbCAuamFsLWdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbi5qYWwtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5qYWwtaGVhZGVyX19uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2ODY5MjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLWhlYWRlcl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuamFsLWhlYWRlcl9fY29udGFpbmVyLCAuamFsLWhlYWRlcl9fbmF2LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWhlYWRlcl9fY29udGFpbmVyLCAuamFsLWhlYWRlcl9fbmF2LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuamFsLWhlYWRlcl9fbmF2LXdyYXBwZXIsIC5qYWwtaGVhZGVyX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmphbC1oZWFkZXJfX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuamFsLWhlYWRlcl9fbG9nbyB7XG4gICAgd2lkdGg6IGNhbGMoNjUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1oZWFkZXJfX2xvZ28ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWhlYWRlcl9fbG9nbyB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLWhlYWRlcl9fbG9nbyB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmphbC1oZWFkZXJfX2xvZ28gc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDExLjI1cmVtO1xuICAgICAgbWF4LWhlaWdodDogMy42ODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5qYWwtaGVhZGVyX19sb2dvIHN2ZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxOS41cmVtO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDYuNXJlbTsgfSB9XG4gIC5qYWwtaGVhZGVyX191aSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1oZWFkZXJfX3VpIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtaGVhZGVyX191aSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuamFsLWhlYWRlcl9fcXVpY2tsaW5rcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG4gICAgcGFkZGluZy1yaWdodDogNC41ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2NGNjYzk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1oZWFkZXJfX3F1aWNrbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5qYWwtaGVhZGVyX19waG9uZS1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1oZWFkZXJfX3Bob25lLWxpbmsge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkgYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWhlYWRlcl9fcGhvbmUtbGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmphbC1oZWFkZXJfX3Bob25lLWxpbmsgYSB7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5qYWwtaGVhZGVyX19jb250YWN0LWZvcm0tbGluayB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjEyNWVtKSB7XG4gICAgICAuamFsLWhlYWRlcl9fY29udGFjdC1mb3JtLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAuamFsLWhlYWRlcl9fc2VhcmNoLXRvZ2dsZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAxLjc1ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1oZWFkZXJfX3NlYXJjaC10b2dnbGUge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkgYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWhlYWRlcl9fc2VhcmNoLXRvZ2dsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLWhlYWRlcl9fc2VhcmNoLXRvZ2dsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwLjJlbTtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAgIC5qYWwtaGVhZGVyX19zZWFyY2gtdG9nZ2xlIGJ1dHRvbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIFtkYXRhLXdoYXRpbnRlbnQ9J21vdXNlJ10gLmphbC1oZWFkZXJfX3NlYXJjaC10b2dnbGUgYnV0dG9uLFxuICAgICAgW2RhdGEtd2hhdGludGVudD0ndG91Y2gnXSAuamFsLWhlYWRlcl9fc2VhcmNoLXRvZ2dsZSBidXR0b24ge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmphbC1oZWFkZXJfX3NlYXJjaC10b2dnbGUgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuamFsLWhlYWRlcl9fbmF2LXRvZ2dsZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1oZWFkZXJfX25hdi10b2dnbGUge1xuICAgICAgICBvcmRlcjogNDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5qYWwtaGVhZGVyX19uYXYtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5qYWwtc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMywgMTEsIDI2LCAwLjk1KTsgfVxuICAuamFsLXNlYXJjaF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogNzYuODc1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtc2VhcmNoX19jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmphbC1zZWFyY2hfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuamFsLXNlYXJjaF9fYm9keSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtc2VhcmNoX19ib2R5IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuamFsLXNlYXJjaC5qYWwtc2VhcmNoIHtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgLmphbC1zZWFyY2ggaDIsXG4gIC5qYWwtc2VhcmNoIGg0IHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIC5qYWwtc2VhcmNoX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmphbC1zZWFyY2hfX3VpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLXNlYXJjaF9fdWkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmphbC1zZWFyY2hfX2lucHV0LCAuamFsLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5qYWwtc2VhcmNoX19pbnB1dCB7XG4gICAgaGVpZ2h0OiAzLjQzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1zZWFyY2hfX2lucHV0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuamFsLXNlYXJjaF9fZm9ybSwgLmphbC1zZWFyY2hfX3VzZWZ1bC1saW5rcyB7XG4gICAgbWFyZ2luLXRvcDogNGVtOyB9XG4gIC5qYWwtc2VhcmNoX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmphbC1tYWluLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgLmphbC1tYWluLW5hdltocmVmXSxcbiAgLmphbC1tYWluLW5hdiBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgLmphbC1tYWluLW5hdltocmVmXTpob3ZlcixcbiAgICAuamFsLW1haW4tbmF2IGE6aG92ZXIge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuamFsLW1haW4tbmF2X19jaGlsZC1saXN0LCAuamFsLW1haW4tbmF2X19ncmFuZGNoaWxkLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmphbC1tYWluLW5hdl9fY2hpbGQtbGlzdCBsaSwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGlzdCBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmphbC1tYWluLW5hdl9fY2hpbGQtbGlzdCBhLFxuICAgIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpc3QgLmJ1dHRvbiwgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1saXN0IGEsXG4gICAgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1saXN0IC5idXR0b24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gICAgLmphbC1tYWluLW5hdl9fY2hpbGQtbGlzdCBpbnB1dCxcbiAgICAuamFsLW1haW4tbmF2X19jaGlsZC1saXN0IHNlbGVjdCxcbiAgICAuamFsLW1haW4tbmF2X19jaGlsZC1saXN0IGEsXG4gICAgLmphbC1tYWluLW5hdl9fY2hpbGQtbGlzdCBidXR0b24sIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGlzdCBpbnB1dCxcbiAgICAuamFsLW1haW4tbmF2X19ncmFuZGNoaWxkLWxpc3Qgc2VsZWN0LFxuICAgIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGlzdCBhLFxuICAgIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGlzdCBidXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpc3QgaW5wdXQsIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGlzdCBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm9wZW5zLXJpZ2h0IC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpc3QuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBsZWZ0OiAwOyB9XG4gIC5vcGVucy1sZWZ0IC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpc3QuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5qYWwtbWFpbi1uYXZfX2xpbmssIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpbmssIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGluayxcbiAgLmphbC1tYWluLW5hdiAuanMtZHJpbGxkb3duLWJhY2sgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5qYWwtbWFpbi1uYXZfX2xpbms6YmVmb3JlLCAuamFsLW1haW4tbmF2X19jaGlsZC1saW5rOmJlZm9yZSwgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1saW5rOmJlZm9yZSxcbiAgICAuamFsLW1haW4tbmF2IC5qcy1kcmlsbGRvd24tYmFjayBhOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI0NSwgMjQ4LCAyNDksIDApLCByZ2JhKDI0NSwgMjQ4LCAyNDksIDAuMSkpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGxpbmVhcjsgfVxuICAgIC5qYWwtbWFpbi1uYXZfX2xpbms6Zm9jdXM6YmVmb3JlLCAuamFsLW1haW4tbmF2X19saW5rOmhvdmVyOmJlZm9yZSwgLmphbC1tYWluLW5hdl9fY2hpbGQtbGluazpmb2N1czpiZWZvcmUsIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpbms6aG92ZXI6YmVmb3JlLCAuamFsLW1haW4tbmF2X19ncmFuZGNoaWxkLWxpbms6Zm9jdXM6YmVmb3JlLCAuamFsLW1haW4tbmF2X19ncmFuZGNoaWxkLWxpbms6aG92ZXI6YmVmb3JlLFxuICAgIC5qYWwtbWFpbi1uYXYgLmpzLWRyaWxsZG93bi1iYWNrIGE6Zm9jdXM6YmVmb3JlLFxuICAgIC5qYWwtbWFpbi1uYXYgLmpzLWRyaWxsZG93bi1iYWNrIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuamFsLW1haW4tbmF2X19saW5rOmFjdGl2ZTpiZWZvcmUsIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpbms6YWN0aXZlOmJlZm9yZSwgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1saW5rOmFjdGl2ZTpiZWZvcmUsXG4gICAgLmphbC1tYWluLW5hdiAuanMtZHJpbGxkb3duLWJhY2sgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ1LCAyNDgsIDI0OSwgMC44KTsgfVxuICAuamFsLW1haW4tbmF2X19saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuamFsLW1haW4tbmF2X19saW5rW2hyZWZdLFxuICAgIC5qYWwtbWFpbi1uYXZfX2xpbmsgYSB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgICAuamFsLW1haW4tbmF2X19saW5rW2hyZWZdOmhvdmVyLFxuICAgICAgLmphbC1tYWluLW5hdl9fbGluayBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5qYWwtbWFpbi1uYXZfX3NvY2lhbCwgLmphbC1tYWluLW5hdl9fZW5xdWlyeS1idXR0b24ge1xuICAgIG1hcmdpbjogMXJlbTsgfVxuICAuamFsLW1haW4tbmF2X19jbG9zZS1idXR0b24gYnV0dG9uIHtcbiAgICB0b3A6IDEuMjVyZW07IH1cbiAgLmphbC1tYWluLW5hdiAuc2VjdGlvbiA+IGEsXG4gIC5qYWwtbWFpbi1uYXYgLmN1cnJlbnQgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5qYWwtbWFpbi1uYXYgLnNlY3Rpb24gPiBhID4gc3BhbixcbiAgICAuamFsLW1haW4tbmF2IC5jdXJyZW50ID4gYSA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcHggMWVtO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4xMjVlbSAjNjRjY2M5OyB9XG4gIC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsLmphbC1tYWluLW5hdi0tdmVydGljYWwgLmphbC1tYWluLW5hdl9fbGlzdCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4NDkzOWQ7IH1cbiAgLmphbC1tYWluLW5hdi0tdmVydGljYWwuamFsLW1haW4tbmF2LS12ZXJ0aWNhbCAuamFsLW1haW4tbmF2X19pdGVtLFxuICAuamFsLW1haW4tbmF2LS12ZXJ0aWNhbC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWl0ZW0sXG4gIC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsLmphbC1tYWluLW5hdi0tdmVydGljYWwgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1pdGVtIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsLmphbC1tYWluLW5hdi0tdmVydGljYWwgLmphbC1tYWluLW5hdl9fbGluayxcbiAgLmphbC1tYWluLW5hdi0tdmVydGljYWwuamFsLW1haW4tbmF2LS12ZXJ0aWNhbCAuamFsLW1haW4tbmF2X19jaGlsZC1saW5rLFxuICAuamFsLW1haW4tbmF2LS12ZXJ0aWNhbC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGluayB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODQ5MzlkO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmphbC1tYWluLW5hdi0tdmVydGljYWwuamFsLW1haW4tbmF2LS12ZXJ0aWNhbCAuamFsLW1haW4tbmF2X19saW5rLmlzLWFjdGl2ZSwgLmphbC1tYWluLW5hdi0tdmVydGljYWwuamFsLW1haW4tbmF2LS12ZXJ0aWNhbCAuamFsLW1haW4tbmF2X19saW5rLmN1cnJlbnQsXG4gICAgLmphbC1tYWluLW5hdi0tdmVydGljYWwuamFsLW1haW4tbmF2LS12ZXJ0aWNhbCAuamFsLW1haW4tbmF2X19jaGlsZC1saW5rLmlzLWFjdGl2ZSxcbiAgICAuamFsLW1haW4tbmF2LS12ZXJ0aWNhbC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpbmsuY3VycmVudCxcbiAgICAuamFsLW1haW4tbmF2LS12ZXJ0aWNhbC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGluay5pcy1hY3RpdmUsXG4gICAgLmphbC1tYWluLW5hdi0tdmVydGljYWwuamFsLW1haW4tbmF2LS12ZXJ0aWNhbCAuamFsLW1haW4tbmF2X19ncmFuZGNoaWxkLWxpbmsuY3VycmVudCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsLmphbC1tYWluLW5hdi0tdmVydGljYWwgLmphbC1tYWluLW5hdl9fbGluazpob3ZlcixcbiAgICAuamFsLW1haW4tbmF2LS12ZXJ0aWNhbC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpbms6aG92ZXIsXG4gICAgLmphbC1tYWluLW5hdi0tdmVydGljYWwuamFsLW1haW4tbmF2LS12ZXJ0aWNhbCAuamFsLW1haW4tbmF2X19ncmFuZGNoaWxkLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmphbC1tYWluLW5hdi0tdmVydGljYWwuamFsLW1haW4tbmF2LS12ZXJ0aWNhbCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMS4yNWVtO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgbGVmdDogYXV0bztcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCAlM0NzdmcgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIgdmlld2JveD0lMjIwIDAgMTYgMTYlMjIlM0UlM0NwYXRoIGQ9JTIyTTEgNWw3IDcgNy03JTIyIHN0cm9rZT0lMjIjZmZmJTIyIGZpbGw9JTIybm9uZSUyMiBzdHJva2UtbGluZWNhcD0lMjJyb3VuZCUyMi8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG4gIC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsLmphbC1tYWluLW5hdi0tdmVydGljYWwgLmpzLWRyaWxsZG93bi1iYWNrIGE6YmVmb3JlLFxuICAuamFsLW1haW4tbmF2LS12ZXJ0aWNhbC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsIC5qYWwtbWFpbi1uYXZfX2xpbms6YmVmb3JlIHtcbiAgICB6LWluZGV4OiAwOyB9XG4gIC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsLmphbC1tYWluLW5hdi0tdmVydGljYWwgLmpzLWRyaWxsZG93bi1iYWNrIGEge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmMGYyO1xuICAgIGNvbG9yOiAjMDcxZDQ5OyB9XG4gICAgLmphbC1tYWluLW5hdi0tdmVydGljYWwuamFsLW1haW4tbmF2LS12ZXJ0aWNhbCAuanMtZHJpbGxkb3duLWJhY2sgYTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuMTI1ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjEyNWVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyIHZpZXdib3g9JTIyMCAwIDE2IDE2JTIyJTNFJTNDcGF0aCBkPSUyMk0xIDVsNyA3IDctNyUyMiBzdHJva2U9JTIyIzA3MWQ0OSUyMiBmaWxsPSUyMm5vbmUlMjIgc3Ryb2tlLWxpbmVjYXA9JTIycm91bmQlMjIvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuICAgIC5qYWwtbWFpbi1uYXYtLXZlcnRpY2FsLmphbC1tYWluLW5hdi0tdmVydGljYWwgLmpzLWRyaWxsZG93bi1iYWNrIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjhmOTtcbiAgICAgIGNvbG9yOiAjMDcxZDQ5OyB9XG4gIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmphbC1tYWluLW5hdi0taG9yaXpvbnRhbCA+IHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgPiB1bCBsaSB7XG4gICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgPiB1bCBhLFxuICAgICAgLmphbC1tYWluLW5hdi0taG9yaXpvbnRhbCA+IHVsIC5idXR0b24ge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgPiB1bCBpbnB1dCxcbiAgICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgPiB1bCBzZWxlY3QsXG4gICAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsID4gdWwgYSxcbiAgICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgPiB1bCBidXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsID4gdWwgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIFtkYXRhLW5hbWU9J0Fib3V0IFVzJ10sXG4gICAgLmphbC1tYWluLW5hdi0taG9yaXpvbnRhbCBbZGF0YS1uYW1lPSdDb250YWN0J10sXG4gICAgLmphbC1tYWluLW5hdi0taG9yaXpvbnRhbCBbZGF0YS1uYW1lPSdMb2dpbiddIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2xpc3Qge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH1cbiAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2l0ZW06YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSkgdHJhbnNsYXRlWCgtNGVtKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRjY2M5O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC43cyBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7IH1cbiAgICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgLmphbC1tYWluLW5hdl9faXRlbS5zZWN0aW9uOmFmdGVyLCAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2l0ZW0uY3VycmVudDphZnRlciwgLmphbC1tYWluLW5hdi0taG9yaXpvbnRhbCAuamFsLW1haW4tbmF2X19pdGVtOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzOyB9XG4gICAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2l0ZW0uc2VjdGlvbiBzcGFuLCAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2l0ZW0uY3VycmVudCBzcGFuLCAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2l0ZW06aG92ZXIgc3BhbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgLmphbC1tYWluLW5hdl9faXRlbTphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNSwgMjQwLCAyNDIsIDAuMik7IH1cbiAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2xpbmsge1xuICAgICAgcGFkZGluZzogMXJlbSAxLjg3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLmphbC1tYWluLW5hdi0taG9yaXpvbnRhbCAuamFsLW1haW4tbmF2X19jaGlsZC1saXN0LFxuICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1saXN0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgLmphbC1tYWluLW5hdl9fY2hpbGQtbGlzdC5qcy1kcm9wZG93bi1hY3RpdmUsXG4gICAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGlzdC5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgLmphbC1tYWluLW5hdl9fY2hpbGQtbGluayxcbiAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS44NzVyZW07IH1cbiAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpc3Qge1xuICAgICAgYm9yZGVyLXRvcDogM3B4ICM1MzVmNjggc29saWQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzczODM5MCwgIzdmOGU5OSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAxJSwgMTAwJSAxMDAlLCAxMCUgMTAwJSwgMCA5MCUpKSB7XG4gICAgICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgLmphbC1tYWluLW5hdl9fY2hpbGQtbGlzdCB7XG4gICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwJSwgMTAwJSAxMDAlLCAxcmVtIDEwMCUsIDAgY2FsYygxMDAlIC0gMXJlbSkpOyB9IH1cbiAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWl0ZW0ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODQ5MzlkOyB9XG4gICAgLmphbC1tYWluLW5hdi0taG9yaXpvbnRhbCAuamFsLW1haW4tbmF2X19ncmFuZGNoaWxkLWxpc3Qge1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZDogI2ViZjBmMjtcbiAgICAgIGNvbG9yOiAjMDcxZDQ5OyB9XG4gICAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGlzdC5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtaXRlbSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Y1ZjhmOTsgfVxuICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1saW5rOmJlZm9yZSB7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY4Zjk7IH1cbiAgICAuamFsLW1haW4tbmF2LS1ob3Jpem9udGFsIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGluazphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC4yKTsgfVxuICAgIC5qYWwtbWFpbi1uYXYtLWhvcml6b250YWwgLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgICBhbmltYXRpb24tbmFtZTogY3VzdG9tXzE7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7IH1cblxuLmphbC1xdWlja2xpbmtzIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5qYWwtcXVpY2tsaW5rcyBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuamFsLXF1aWNrbGlua3MgYSxcbiAgLmphbC1xdWlja2xpbmtzIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAuamFsLXF1aWNrbGlua3MgaW5wdXQsXG4gIC5qYWwtcXVpY2tsaW5rcyBzZWxlY3QsXG4gIC5qYWwtcXVpY2tsaW5rcyBhLFxuICAuamFsLXF1aWNrbGlua3MgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5qYWwtcXVpY2tsaW5rcyBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5qYWwtcXVpY2tsaW5rcyA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmphbC1xdWlja2xpbmtzID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmphbC1xdWlja2xpbmtzIGEge1xuICAgIHBhZGRpbmc6IDFlbSAyZW07IH1cbiAgLmphbC1xdWlja2xpbmtzIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6IDgwJTsgfVxuICAuamFsLXF1aWNrbGlua3MgLnBhcmVudCA+IGEgPiBzcGFuLFxuICAuamFsLXF1aWNrbGlua3MgLmFjdGl2ZSA+IGEgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxcHggMWVtO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMTI1ZW0gIzY0Y2NjOTsgfVxuICAuamFsLXF1aWNrbGlua3NfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuamFsLXF1aWNrbGlua3NfX2l0ZW06YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMWNjYmQ7IH1cbiAgICAuamFsLXF1aWNrbGlua3NfX2l0ZW06Zmlyc3QtY2hpbGQgPiBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07IH1cbiAgICAuamFsLXF1aWNrbGlua3NfX2l0ZW06YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogLTNweDtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSkgdHJhbnNsYXRlWCgtNGVtKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NGNjYzk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC43cyBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOyB9XG4gICAgLmphbC1xdWlja2xpbmtzX19pdGVtLmFjdGl2ZTpiZWZvcmUsIC5qYWwtcXVpY2tsaW5rc19faXRlbTpob3ZlcjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWCgwKTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7IH1cbiAgLmphbC1xdWlja2xpbmtzX19saW5rLCAuamFsLXF1aWNrbGlua3NfX2NoaWxkLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmphbC1xdWlja2xpbmtzX19saW5rOmJlZm9yZSwgLmphbC1xdWlja2xpbmtzX19jaGlsZC1saW5rOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAtMjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNDUsIDI0OCwgMjQ5LCAwKSwgcmdiYSgyNDUsIDI0OCwgMjQ5LCAwLjEpKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjsgfVxuICAgIC5qYWwtcXVpY2tsaW5rc19fbGluazpob3ZlcjpiZWZvcmUsIC5qYWwtcXVpY2tsaW5rc19fY2hpbGQtbGluazpob3ZlcjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuamFsLXF1aWNrbGlua3NfX2xpbmstdGV4dCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuamFsLXF1aWNrbGlua3NfX2NoaWxkLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogM3B4ICM1MzVmNjggc29saWQ7XG4gICAgYmFja2dyb3VuZDogI2ViZjBmMjtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmphbC1xdWlja2xpbmtzX19jaGlsZC1saXN0IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuamFsLXF1aWNrbGlua3NfX2NoaWxkLWxpc3QgYSxcbiAgICAuamFsLXF1aWNrbGlua3NfX2NoaWxkLWxpc3QgLmJ1dHRvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgICAuamFsLXF1aWNrbGlua3NfX2NoaWxkLWxpc3QgaW5wdXQsXG4gICAgLmphbC1xdWlja2xpbmtzX19jaGlsZC1saXN0IHNlbGVjdCxcbiAgICAuamFsLXF1aWNrbGlua3NfX2NoaWxkLWxpc3QgYSxcbiAgICAuamFsLXF1aWNrbGlua3NfX2NoaWxkLWxpc3QgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuamFsLXF1aWNrbGlua3NfX2NoaWxkLWxpc3QgaW5wdXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQHN1cHBvcnRzIChjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDElLCAxMDAlIDEwMCUsIDEwJSAxMDAlLCAwIDkwJSkpIHtcbiAgICAgIC5qYWwtcXVpY2tsaW5rc19fY2hpbGQtbGlzdCB7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMXJlbSAxMDAlLCAwIGNhbGMoMTAwJSAtIDFyZW0pKTsgfSB9XG4gICAgLmphbC1xdWlja2xpbmtzX19jaGlsZC1saXN0LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuamFsLXF1aWNrbGlua3NfX2NoaWxkLWl0ZW0ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjVmOGY5OyB9XG4gIC5qYWwtcXVpY2tsaW5rc19fY2hpbGQtbGluay5qYWwtcXVpY2tsaW5rc19fY2hpbGQtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4zMTI1cmVtIDEuODc1cmVtOyB9XG4gIC5qYWwtcXVpY2tsaW5rc19fY2hpbGQtbGluazpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY4Zjk7IH1cbiAgLmphbC1xdWlja2xpbmtzX19jaGlsZC1saW5rOmFjdGl2ZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC4yKTsgfVxuICAuamFsLXF1aWNrbGlua3MgLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgei1pbmRleDogNTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGN1c3RvbS0xO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjExLCAwLjkyLCAwLjA1LCAwLjk5KTsgfVxuXG4uamFsLXByb2R1Y3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmOGY5O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qYWwtcHJvZHVjdCBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5qYWwtcHJvZHVjdF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5qYWwtcHJvZHVjdF9faGVhZGVyLCAuamFsLXByb2R1Y3RfX2NvbnRlbnQsIC5qYWwtcHJvZHVjdF9fYXNpZGUtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5qYWwtcHJvZHVjdF9faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmphbC1wcm9kdWN0X19oZXJvLWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzYuMjVlbSkge1xuICAgICAgLmphbC1wcm9kdWN0X19oZXJvLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2LjI1ZW0pIHtcbiAgICAgIC5qYWwtcHJvZHVjdF9faGVyby1pbWFnZTphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDM0LCAzNCwgMzQsIDApLCByZ2JhKDM0LCAzNCwgMzQsIDAuNSkpOyB9IH1cbiAgLmphbC1wcm9kdWN0X19hc2lkZS1jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzYuMjVlbSkge1xuICAgICAgLmphbC1wcm9kdWN0X19hc2lkZS1jb250ZW50IHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogMjMuNDM3NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2Ljg3NWVtKSB7XG4gICAgICAuamFsLXByb2R1Y3RfX2FzaWRlLWNvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDAuODc1ZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5qYWwtcHJvZHVjdF9fYXNpZGUtY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMjMuNDM3NXJlbTsgfSB9XG4gIC5qYWwtcHJvZHVjdF9faWNvbi1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njg2OTI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNi4yNWVtKSB7XG4gICAgICAuamFsLXByb2R1Y3RfX2ljb24tbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmphbC1wcm9kdWN0X19zZWNvbmRhcnktaW1hZ2Uge1xuICAgIHdpZHRoOiA3Ljg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI2LjU2MjVlbSkge1xuICAgICAgLmphbC1wcm9kdWN0X19zZWNvbmRhcnktaW1hZ2Uge1xuICAgICAgICB3aWR0aDogOS4wNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNi4yNWVtKSB7XG4gICAgICAuamFsLXByb2R1Y3RfX3NlY29uZGFyeS1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0Ljc1ZW07XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgICAuamFsLXByb2R1Y3RfX3NlY29uZGFyeS1pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gIC5qYWwtcHJvZHVjdF9fY29udGVudCB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWluLXdpZHRoOiAxcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNi4yNWVtKSB7XG4gICAgICAuamFsLXByb2R1Y3RfX2NvbnRlbnQge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAuamFsLXByb2R1Y3RfX2NvbnRlbnQtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNi41NjI1ZW0pIHtcbiAgICAgIC5qYWwtcHJvZHVjdF9fY29udGVudC1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2LjI1ZW0pIHtcbiAgICAgIC5qYWwtcHJvZHVjdF9fY29udGVudC1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICAuamFsLXByb2R1Y3RfX3ByaWNlLCAuamFsLXByb2R1Y3RfX2xvY2F0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkh1cm1lIEdlb21ldHJpYyBTYW5zIDRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgLmphbC1wcm9kdWN0X19wcmljZSBkdCwgLmphbC1wcm9kdWN0X19sb2NhdGlvbiBkdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAuamFsLXByb2R1Y3RfX3ByaWNlIGRkLCAuamFsLXByb2R1Y3RfX2xvY2F0aW9uIGRkIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5qYWwtcHJvZHVjdF9faGVhZGluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6IDIuN3JlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2LjI1ZW0pIHtcbiAgICAgIC5qYWwtcHJvZHVjdF9faGVhZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9IH1cbiAgLmphbC1wcm9kdWN0X19wcmljZSBkZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2LjI1ZW0pIHtcbiAgICAgIC5qYWwtcHJvZHVjdF9fcHJpY2UgZGQge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH0gfVxuICAuamFsLXByb2R1Y3RfX2xvY2F0aW9uIGRkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBmb250LWZhbWlseTogXCJIdXJtZSBHZW9tZXRyaWMgU2FucyA0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNi4yNWVtKSB7XG4gICAgICAuamFsLXByb2R1Y3RfX2xvY2F0aW9uIGRkIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAuamFsLXByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzYuMjVlbSkge1xuICAgICAgLmphbC1wcm9kdWN0X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgaGVpZ2h0OiA3ZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG4gIC5qYWwtcHJvZHVjdF9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzYuMjVlbSkge1xuICAgICAgLmphbC1wcm9kdWN0X19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDAuNjVlbSAxZW07XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY0Y2NjOTtcbiAgICAgICAgY29sb3I6ICM2NGNjYzk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGNvbG9yOiAjMDcxZDQ5O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1pbi13aWR0aDogMTIuNXJlbTsgfVxuICAgICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmphbC1wcm9kdWN0X19idXR0b24ge1xuICAgICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgICAgLmphbC1wcm9kdWN0X19idXR0b24sIC5qYWwtcHJvZHVjdF9fYnV0dG9uOmhvdmVyLCAuamFsLXByb2R1Y3RfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmphbC1wcm9kdWN0X19idXR0b24uZGlzYWJsZWQsIC5qYWwtcHJvZHVjdF9fYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuamFsLXByb2R1Y3RfX2J1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmphbC1wcm9kdWN0X19idXR0b25bZGlzYWJsZWRdLCAuamFsLXByb2R1Y3RfX2J1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5qYWwtcHJvZHVjdF9fYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmphbC1wcm9kdWN0X19idXR0b246aG92ZXIsIC5qYWwtcHJvZHVjdF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMyNjcyNzA7XG4gICAgICAgICAgY29sb3I6ICMyNjcyNzA7IH1cbiAgICAgICAgICAuamFsLXByb2R1Y3RfX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmphbC1wcm9kdWN0X19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuamFsLXByb2R1Y3RfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmphbC1wcm9kdWN0X19idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gICAgICAgICAgICBjb2xvcjogIzY0Y2NjOTsgfVxuICAgICAgICAuamFsLXByb2R1Y3RfX2J1dHRvbjpmb2N1cywgLmphbC1wcm9kdWN0X19idXR0b246aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzhhZDlkNjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuMDIpO1xuICAgICAgICAgIGNvbG9yOiAjMDcxZDQ5OyB9XG4gICAgICAgIC5qYWwtcHJvZHVjdF9fYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OSkgdHJhbnNsYXRlWSgxcHgpOyB9IH1cblxuLmphbC1nYWxsZXJ5X19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3Ni44NzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1nYWxsZXJ5X19jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLWdhbGxlcnlfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5qYWwtZ2FsbGVyeV9fd2FsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1nYWxsZXJ5X193YWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLWdhbGxlcnlfX3dhbGwge1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWdhbGxlcnlfX3dhbGwge1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLmphbC1nYWxsZXJ5X193YWxsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtYXV0by1yb3dzOiAzMCU7XG4gICAgICBncmlkLWdhcDogMWVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5qYWwtZ2FsbGVyeV9fd2FsbCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5qYWwtZ2FsbGVyeV9fd2FsbCB7XG4gICAgICAgICAgZ3JpZC1nYXA6IDJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni44NzVlbSkge1xuICAgICAgICAuamFsLWdhbGxlcnlfX3dhbGwge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7IH0gfSB9XG5cbi5qYWwtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmphbC1pbWFnZV9fem9vbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogNTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMDEpO1xuICBmb250LXNpemU6IDJlbTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXSAuamFsLWltYWdlX196b29tLFxuICBbZGF0YS13aGF0aW50ZW50PSd0b3VjaCddIC5qYWwtaW1hZ2VfX3pvb20ge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWltYWdlX196b29tIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgICAgZm9udC1zaXplOiAzZW07IH0gfVxuICAuamFsLWltYWdlX196b29tIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmphbC1pbWFnZS0tY29udGFpbmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5qYWwtaW1hZ2UtLWNvdmVyIGltZywgLmphbC1pbWFnZS0tY292ZXItaGFsZi1mb3ItbGFyZ2UgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLWltYWdlLS1jb3Zlci1oYWxmLWZvci1sYXJnZSBpbWcge1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLWltYWdlLS1jb3Zlci1oYWxmLWZvci1sYXJnZSAuamFsLWltYWdlX196b29tIHtcbiAgICByaWdodDogNTAlOyB9IH1cblxuLmphbC1pbWFnZS0tbm8tcGFkZGluZy1vbi16b29tIC5qYWwtaW1hZ2VfX3pvb20ge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5qYWwtaW1hZ2UtLXpvb20tdG9wLXJpZ2h0IC5qYWwtaW1hZ2VfX3pvb20ge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogYXV0bztcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtOyB9XG5cbi5qYWwtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmphbC1iYW5uZXJfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWJhbm5lcl9fY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtYmFubmVyX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLmphbC1iYW5uZXJfX2NvbnRlbnQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWJhbm5lcl9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmphbC1iYW5uZXJfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1iYW5uZXJfX2ltYWdlW2RhdGEtZTItcGFyYWxsYXgtZm9yLWxhcmdlXSB7XG4gICAgICAgIHRvcDogLTVyZW07XG4gICAgICAgIGJvdHRvbTogLTVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5qYWwtYmFubmVyX19pbWFnZVtkYXRhLWUyLXBhcmFsbGF4LWZvci1sYXJnZV0ge1xuICAgICAgICB0b3A6IC00cmVtO1xuICAgICAgICBib3R0b206IC00cmVtOyB9IH1cbiAgLmphbC1iYW5uZXJfX3dyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiBjYWxjKDEuMjVyZW0gKyA0MC42MjV2dyk7XG4gICAgbWF4LWhlaWdodDogNTByZW07IH1cbiAgLmphbC1iYW5uZXJfX2NvbnRlbnQge1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1iYW5uZXJfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuamFsLWJhbm5lcl9fY29udGVudCBociB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjEyNXJlbTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzY0Y2NjOTtcbiAgICAgIHdpZHRoOiA2MCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmphbC1iYW5uZXJfX2NvbnRlbnQgaHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAuMzEyNXJlbTsgfSB9XG4gIC5qYWwtYmFubmVyX19oZWFkaW5nIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAuamFsLWJhbm5lcl9faGVhZGluZyAuanMtZmlyc3Qtd29yZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWJhbm5lcl9faGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygwLjE1MTY0cmVtICsgNS4wODE5N3Z3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgLmphbC1iYW5uZXJfX2hlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDYuMjVyZW07IH0gfVxuXG4uamFsLW1hcCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmphbC1tYXBfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLW1hcF9fY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtbWFwX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLmphbC1tYXBfX2dyaWQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLW1hcF9fZ3JpZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLW1hcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtbWFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1tYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmphbC1tYXBfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogKDIgLyAzKSk7IH1cbiAgICAuamFsLW1hcF9faW1hZ2U6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgaGVpZ2h0OiAyNSU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgd2hpdGUpOyB9XG4gIC5qYWwtbWFwX19oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGNhbGMoKDEwMHZ3ICogKDIgLyAzKSkgLSA2cmVtKTsgfVxuICAuamFsLW1hcF9faGVhZGluZywgLmphbC1tYXBfX2l0ZW0taGVhZGluZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5qYWwtbWFwX19oZWFkaW5nIC5qcy1maXJzdC13b3JkLCAuamFsLW1hcF9faXRlbS1oZWFkaW5nIC5qcy1maXJzdC13b3JkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5qYWwtbWFwX19oZWFkaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1tYXBfX2hlYWRpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gIC5qYWwtbWFwX19ociwgLmphbC1tYXBfX2l0ZW0taHIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAuMTI1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogIzY0Y2NjOTtcbiAgICB3aWR0aDogODAlOyB9XG4gIC5qYWwtbWFwX19ncmlkLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLW1hcF9fZ3JpZC13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtbWFwX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNzFkNDk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLW1hcF9faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1tYXN0aGVhZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzc2ODY5MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmphbC1tYXN0aGVhZF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogNzYuODc1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtbWFzdGhlYWRfX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuamFsLW1hc3RoZWFkX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLmphbC1tYXN0aGVhZF9fY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtbWFzdGhlYWRfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtbWFzdGhlYWRfX2JhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmYwZjI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1tYXN0aGVhZF9fYmFja2dyb3VuZFtkYXRhLWUyLXBhcmFsbGF4LWZvci1sYXJnZV0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmphbC1tYXN0aGVhZF9fYmFja2dyb3VuZFtkYXRhLWUyLXBhcmFsbGF4LWZvci1sYXJnZV0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHJlbTsgfSB9XG4gIC5qYWwtbWFzdGhlYWRfX3BpY3R1cmUge1xuICAgIGhlaWdodDogY2FsYyg0LjcyNzI3cmVtICsgMzEuNjc2MTR2dyk7XG4gICAgbWluLWhlaWdodDogMTEuMDYyNXJlbTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuN3MgZWFzZS1vdXQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1tYXN0aGVhZF9fcGljdHVyZSB7XG4gICAgICAgIGhlaWdodDogY2FsYygzLjU3MTQzcmVtICsgMzMuNDgyMTR2dyk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQzLjc1cmVtOyB9IH1cbiAgICAuamFsLW1hc3RoZWFkX19waWN0dXJlLmxhenlsb2FkZWQge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBbZGF0YS1lMi1wYXJhbGxheC1mb3ItbGFyZ2VdIC5qYWwtbWFzdGhlYWRfX3BpY3R1cmUge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNi40Mjg1N3JlbSArIDM1LjI2Nzg2dncpO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0My43NXJlbTsgfSB9XG4gIC5qYWwtbWFzdGhlYWRfX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSBvcGFjaXR5OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5qYWwtbWFzdGhlYWRfX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTsgfSB9XG4gICAgLmphbC1tYXN0aGVhZF9fY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMjUlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIHdoaXRlKTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmphbC1tYXN0aGVhZF9fY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKCgoMTAwdncgLSAxMDAlKSAvIDIpICogLTEpO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIC5qYWwtbWFzdGhlYWRfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDIuNjg3NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS4yNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLW1hc3RoZWFkX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5qYWwtbWFzdGhlYWRfX2NvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMTYuNjY2NjclO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoKDEwMHZ3IC0gMTAwJSkgLyAyKSAtIDguMzMzMzMlKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCAlM0NzdmcgaGVpZ2h0PSUyMjQyNCUyMiB3aWR0aD0lMjIyMzI4JTIyIHZpZXdCb3g9JTIyMCAwIDIzMjggNDI0JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBmaWxsPSUyMiUyM2ZmZmZmZiUyMiBmaWxsLW9wYWNpdHk9JTIyMC45JTIyIGQ9JTIyTTAgMGgxOTk0LjNMMjMyOCA0MjRIMHolMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9IH1cbiAgICAuamFsLW1hc3RoZWFkX19jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuamFsLW1hc3RoZWFkX19oZWFkZXIsIC5qYWwtbWFzdGhlYWRfX2xlYWQtdGV4dCB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLW1hc3RoZWFkX19oZWFkZXIsIC5qYWwtbWFzdGhlYWRfX2xlYWQtdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjMDcxZDQ5OyB9IH1cbiAgLmphbC1tYXN0aGVhZF9fbGVhZC10ZXh0IHtcbiAgICBmb250LXNpemU6IDExMi41JTsgfVxuICAgIC5qYWwtbWFzdGhlYWRfX2xlYWQtdGV4dCA+IHAge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuXG4uamFsLXBhdGh3YXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlM2RiOyB9XG4gIC5qYWwtcGF0aHdheV9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuamFsLXBhdGh3YXlfX2ltYWdlLCAuamFsLXBhdGh3YXlfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuamFsLXBhdGh3YXlfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBbZGF0YS13aGF0aW50ZW50PSdtb3VzZSddIC5qYWwtcGF0aHdheV9faW1hZ2UsXG4gICAgW2RhdGEtd2hhdGludGVudD0ndG91Y2gnXSAuamFsLXBhdGh3YXlfX2ltYWdlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4xMjVlbSkge1xuICAgICAgLmphbC1wYXRod2F5X19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIC5qYWwtcGF0aHdheV9faW1hZ2VbZGF0YS1mYW5jeWJveF06OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICB3aWR0aDogNHJlbTtcbiAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0lMjIwIDAgNjUgNjUlMjIgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NwYXRoIGQ9JTIyTTMyLjUgMGEzMi41IDMyLjUgMCAxIDAgMCA2NSAzMi41IDMyLjUgMCAwIDAgMC02NXptMCA1OWEyNi40IDI2LjQgMCAxIDEgMC01MyAyNi40IDI2LjQgMCAwIDEgMCA1M3ptLTguMS00MC43bDI0LjMgMTQuMi0yNC4zIDE0LjJWMTguM3olMjIgZmlsbD0lMjIlMjNGRkYlMjIgZmlsbC1ydWxlPSUyMm5vbnplcm8lMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICBbZGF0YS13aGF0aW50ZW50PSdtb3VzZSddIC5qYWwtcGF0aHdheV9faW1hZ2VbZGF0YS1mYW5jeWJveF06OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC4yKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5qYWwtcGF0aHdheV9faW1hZ2VbaHJlZl06aG92ZXI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmphbC1wYXRod2F5X19pbWFnZS1lbGVtZW50IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjEyNWVtKSB7XG4gICAgICAuamFsLXBhdGh3YXlfX2ltYWdlLWVsZW1lbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNy4xODc1cmVtO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYuODc1ZW0pIHtcbiAgICAgIC5qYWwtcGF0aHdheV9faW1hZ2UtZWxlbWVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMxLjI1cmVtOyB9IH1cbiAgLmphbC1wYXRod2F5X19iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXJlbTtcbiAgICByaWdodDogMXJlbTtcbiAgICB3aWR0aDogMTEuODc1cmVtO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtcGF0aHdheV9fYmFkZ2Uge1xuICAgICAgICB0b3A6IDJyZW07XG4gICAgICAgIHJpZ2h0OiAycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni44NzVlbSkge1xuICAgICAgLmphbC1wYXRod2F5X19iYWRnZSB7XG4gICAgICAgIHRvcDogMy43NXJlbTtcbiAgICAgICAgcmlnaHQ6IDMuNzVyZW07IH0gfVxuICAuamFsLXBhdGh3YXlfX2NvbnRlbnQge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjEyNWVtKSB7XG4gICAgICAuamFsLXBhdGh3YXlfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni44NzVlbSkge1xuICAgICAgLmphbC1wYXRod2F5X19jb250ZW50IHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4xMjVlbSkge1xuICAgICAgLmphbC1wYXRod2F5X19jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDM4LjQzNzVyZW0gLSAxLjg3NXJlbSk7IH0gfVxuICAuamFsLXBhdGh3YXlfX2NvbnRlbnQtaW5uZXIge1xuICAgIHBhZGRpbmc6IDJyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni44NzVlbSkge1xuICAgICAgLmphbC1wYXRod2F5X19jb250ZW50LWlubmVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNSU7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICAuamFsLXBhdGh3YXlfX2hlYWRpbmcge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1wYXRod2F5X19oZWFkaW5nIC5qcy1maXJzdC13b3JkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuamFsLXBhdGh3YXlfX2hyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjEyNXJlbTtcbiAgICBib3JkZXItY29sb3I6ICM2NGNjYzk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1wYXRod2F5X19ociB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuamFsLXBhdGh3YXlfX2ludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni44NzVlbSkge1xuICAgICAgLmphbC1wYXRod2F5X19pbnRybyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTsgfSB9XG4gIC5qYWwtcGF0aHdheV9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDAuNjVlbSAxZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzY0Y2NjOTtcbiAgICBjb2xvcjogIzY0Y2NjOTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiAjMDcxZDQ5O1xuICAgIG1pbi13aWR0aDogMTIuNXJlbTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuamFsLXBhdGh3YXlfX2xpbmsge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5qYWwtcGF0aHdheV9fbGluaywgLmphbC1wYXRod2F5X19saW5rOmhvdmVyLCAuamFsLXBhdGh3YXlfX2xpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuamFsLXBhdGh3YXlfX2xpbmsuZGlzYWJsZWQsIC5qYWwtcGF0aHdheV9fbGluay5kaXNhYmxlZDpob3ZlciwgLmphbC1wYXRod2F5X19saW5rLmRpc2FibGVkOmZvY3VzLCAuamFsLXBhdGh3YXlfX2xpbmtbZGlzYWJsZWRdLCAuamFsLXBhdGh3YXlfX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuamFsLXBhdGh3YXlfX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmphbC1wYXRod2F5X19saW5rOmhvdmVyLCAuamFsLXBhdGh3YXlfX2xpbms6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjY3MjcwO1xuICAgICAgY29sb3I6ICMyNjcyNzA7IH1cbiAgICAgIC5qYWwtcGF0aHdheV9fbGluazpob3Zlci5kaXNhYmxlZCwgLmphbC1wYXRod2F5X19saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmphbC1wYXRod2F5X19saW5rOmZvY3VzLmRpc2FibGVkLCAuamFsLXBhdGh3YXlfX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY0Y2NjOTtcbiAgICAgICAgY29sb3I6ICM2NGNjYzk7IH1cbiAgICAuamFsLXBhdGh3YXlfX2xpbms6Zm9jdXMsIC5qYWwtcGF0aHdheV9fbGluazpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM4YWQ5ZDY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuMDIpO1xuICAgICAgY29sb3I6ICMwNzFkNDk7IH1cbiAgICAuamFsLXBhdGh3YXlfX2xpbms6YWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OSkgdHJhbnNsYXRlWSgxcHgpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjEyNWVtKSB7XG4gICAgLmphbC1wYXRod2F5LS1jb250ZW50LWxlZnQgLmphbC1wYXRod2F5X193cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4xMjVlbSkge1xuICAgIC5qYWwtcGF0aHdheS0tY29udGVudC1sZWZ0IC5qYWwtcGF0aHdheV9faW1hZ2Uge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4xMjVlbSkge1xuICAgIC5qYWwtcGF0aHdheS0tY29udGVudC1sZWZ0IC5qYWwtcGF0aHdheV9fY29udGVudCB7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2Ljg3NWVtKSB7XG4gICAgLmphbC1wYXRod2F5LS1jb250ZW50LWxlZnQgLmphbC1wYXRod2F5X19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2Ljg3NWVtKSB7XG4gICAgLmphbC1wYXRod2F5LS1jb250ZW50LWxlZnQgLmphbC1wYXRod2F5X19jb250ZW50LWlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC5qYWwtcGF0aHdheS0tZGFyay1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY4NjkyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmphbC1wYXRod2F5LS1kYXJrLWdyYXkgLmphbC1wYXRod2F5X19oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAuamFsLXBhdGh3YXktLWRhcmstZ3JheSAuamFsLXBhdGh3YXlfX2xpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgcGFkZGluZzogMC42NWVtIDFlbTtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjRjY2M5O1xuICAgICAgY29sb3I6ICM2NGNjYzk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBmb250LWZhbWlseTogXCJIdXJtZSBHZW9tZXRyaWMgU2FucyA0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5qYWwtcGF0aHdheS0tZGFyay1ncmF5IC5qYWwtcGF0aHdheV9fbGluayB7XG4gICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgIC5qYWwtcGF0aHdheS0tZGFyay1ncmF5IC5qYWwtcGF0aHdheV9fbGluaywgLmphbC1wYXRod2F5LS1kYXJrLWdyYXkgLmphbC1wYXRod2F5X19saW5rOmhvdmVyLCAuamFsLXBhdGh3YXktLWRhcmstZ3JheSAuamFsLXBhdGh3YXlfX2xpbms6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmphbC1wYXRod2F5LS1kYXJrLWdyYXkgLmphbC1wYXRod2F5X19saW5rLmRpc2FibGVkLCAuamFsLXBhdGh3YXktLWRhcmstZ3JheSAuamFsLXBhdGh3YXlfX2xpbmsuZGlzYWJsZWQ6aG92ZXIsIC5qYWwtcGF0aHdheS0tZGFyay1ncmF5IC5qYWwtcGF0aHdheV9fbGluay5kaXNhYmxlZDpmb2N1cywgLmphbC1wYXRod2F5LS1kYXJrLWdyYXkgLmphbC1wYXRod2F5X19saW5rW2Rpc2FibGVkXSwgLmphbC1wYXRod2F5LS1kYXJrLWdyYXkgLmphbC1wYXRod2F5X19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmphbC1wYXRod2F5LS1kYXJrLWdyYXkgLmphbC1wYXRod2F5X19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuamFsLXBhdGh3YXktLWRhcmstZ3JheSAuamFsLXBhdGh3YXlfX2xpbms6aG92ZXIsIC5qYWwtcGF0aHdheS0tZGFyay1ncmF5IC5qYWwtcGF0aHdheV9fbGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzI2NzI3MDtcbiAgICAgICAgY29sb3I6ICMyNjcyNzA7IH1cbiAgICAgICAgLmphbC1wYXRod2F5LS1kYXJrLWdyYXkgLmphbC1wYXRod2F5X19saW5rOmhvdmVyLmRpc2FibGVkLCAuamFsLXBhdGh3YXktLWRhcmstZ3JheSAuamFsLXBhdGh3YXlfX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuamFsLXBhdGh3YXktLWRhcmstZ3JheSAuamFsLXBhdGh3YXlfX2xpbms6Zm9jdXMuZGlzYWJsZWQsIC5qYWwtcGF0aHdheS0tZGFyay1ncmF5IC5qYWwtcGF0aHdheV9fbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGNjYzk7XG4gICAgICAgICAgY29sb3I6ICM2NGNjYzk7IH1cbiAgICAgIC5qYWwtcGF0aHdheS0tZGFyay1ncmF5IC5qYWwtcGF0aHdheV9fbGluazpmb2N1cywgLmphbC1wYXRod2F5LS1kYXJrLWdyYXkgLmphbC1wYXRod2F5X19saW5rOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2ZiZWJiO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgICAuamFsLXBhdGh3YXktLWRhcmstZ3JheSAuamFsLXBhdGh3YXlfX2xpbms6YWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTkpIHRyYW5zbGF0ZVkoMXB4KTsgfVxuXG4uamFsLXBsYW5fX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLXBsYW5fX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtcGxhbl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmphbC1wbGFuX19ib2R5IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLXBsYW5fX2JvZHkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtcGxhbl9fd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cblxuLmphbC1wbGFuX19oZWFkZXIsIC5qYWwtcGxhbl9fYm9keSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1wbGFuX19oZWFkZXIsIC5qYWwtcGxhbl9fYm9keSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmphbC1wbGFuX19ib2R5IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtcGxhbl9faGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtcGxhbl9faGVhZGVyIGhyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMC4xMjVyZW07XG4gIGJvcmRlci1jb2xvcjogIzY0Y2NjOTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtcGxhbl9faGVhZGVyIGhyIHtcbiAgICAgIHdpZHRoOiA4MCU7IH0gfVxuXG4uamFsLXBsYW5fX2hlYWRlciArIC5qYWwtcGxhbl9fYm9keSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1wbGFuX19oZWFkZXIgKyAuamFsLXBsYW5fX2JvZHkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLXBsYW5fX2hlYWRlciArIC5qYWwtcGxhbl9fYm9keSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9IH1cblxuLmphbC1wbGFuX19oZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtcGxhbl9faGVhZGluZyAuanMtZmlyc3Qtd29yZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5qYWwtcGxhbl9fd3JhcHBlciB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uamFsLXBsYW5fX3RvcC1iYXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtcGxhbl9fdG9wLWJhciB7XG4gICAgICBib3JkZXItYm90dG9tOiAjNzY4NjkyIDAuMTI1cmVtIHNvbGlkOyB9IH1cblxuLmphbC1wbGFuX190b3AtYmFyLWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1wbGFuX190b3AtYmFyLWlubmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLXBsYW5fX3RvcC1iYXItaW5uZXIge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYuODc1ZW0pIHtcbiAgICAuamFsLXBsYW5fX3RvcC1iYXItaW5uZXIge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLmphbC1wbGFuX19wcmljZSwgLmphbC1wbGFuX19zaXplIHtcbiAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzA3MWQ0OTsgfVxuICAuamFsLXBsYW5fX3ByaWNlIGR0LCAuamFsLXBsYW5fX3NpemUgZHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi5qYWwtcGxhbl9fcHJpY2Uge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1wbGFuX19wcmljZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbi5qYWwtcGxhbl9fc2l6ZSB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAyLjgxMjVyZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1wbGFuX19zaXplIHtcbiAgICAgIG9yZGVyOiAyOyB9IH1cblxuLmphbC1wbGFuX19pY29ucyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gLTJyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICBtYXJnaW4tbGVmdDogLTFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMi4yNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY4NjkyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1wbGFuX19pY29ucyB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfSB9XG4gIC5qYWwtcGxhbl9faWNvbnM6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmphbC1maWx0ZXItZ3JpZF9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzYuODc1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZmlsdGVyLWdyaWRfX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtZmlsdGVyLWdyaWRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5qYWwtZmlsdGVyLWdyaWRfX2l0ZW1zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZpbHRlci1ncmlkX19pdGVtcyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmphbC1maWx0ZXItZ3JpZF9fd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cblxuLmphbC1maWx0ZXItZ3JpZF9faGVhZGVyLCAuamFsLWZpbHRlci1ncmlkX19ib2R5IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZpbHRlci1ncmlkX19oZWFkZXIsIC5qYWwtZmlsdGVyLWdyaWRfX2JvZHkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtZmlsdGVyLWdyaWRfX2JvZHkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmphbC1maWx0ZXItZ3JpZF9faGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtZmlsdGVyLWdyaWRfX2hlYWRlciBociB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDAuMTI1cmVtO1xuICBib3JkZXItY29sb3I6ICM2NGNjYzk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLWZpbHRlci1ncmlkX19oZWFkZXIgaHIge1xuICAgICAgd2lkdGg6IDgwJTsgfSB9XG5cbi5qYWwtZmlsdGVyLWdyaWRfX2hlYWRlciArIC5qYWwtZmlsdGVyLWdyaWRfX2JvZHkge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZmlsdGVyLWdyaWRfX2hlYWRlciArIC5qYWwtZmlsdGVyLWdyaWRfX2JvZHkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLWZpbHRlci1ncmlkX19oZWFkZXIgKyAuamFsLWZpbHRlci1ncmlkX19ib2R5IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uamFsLWZpbHRlci1ncmlkX19oZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtZmlsdGVyLWdyaWRfX2hlYWRpbmcgLmpzLWZpcnN0LXdvcmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uamFsLWZpbHRlci1ncmlkX19pdGVtcy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGxpbmVhcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMi41ZW0pIHtcbiAgICAuamFsLWZpbHRlci1ncmlkX19pdGVtcy13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZpbHRlci1ncmlkX19pdGVtcy13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmphbC1maWx0ZXItZ3JpZF9faGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZmlsdGVyLWdyaWRfX2hlYWRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5qYWwtZmlsdGVyLWdyaWRfX2l0ZW0ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjExLCAwLjkyLCAwLjA1LCAwLjk5KTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuXG4uamFsLWZpbHRlci1ncmlkX19pdGVtLWJyZWFrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuamFsLWZpbHRlci1ncmlkX19pdGVtLWJyZWFrICsgLmphbC1maWx0ZXItZ3JpZF9faXRlbSArIC5qYWwtZmlsdGVyLWdyaWRfX2l0ZW0ge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7IH1cbiAgICAuamFsLWZpbHRlci1ncmlkX19pdGVtLWJyZWFrICsgLmphbC1maWx0ZXItZ3JpZF9faXRlbSArIC5qYWwtZmlsdGVyLWdyaWRfX2l0ZW0gKyAuamFsLWZpbHRlci1ncmlkX19pdGVtIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7IH1cbiAgICAgIC5qYWwtZmlsdGVyLWdyaWRfX2l0ZW0tYnJlYWsgKyAuamFsLWZpbHRlci1ncmlkX19pdGVtICsgLmphbC1maWx0ZXItZ3JpZF9faXRlbSArIC5qYWwtZmlsdGVyLWdyaWRfX2l0ZW0gfiAuamFsLWZpbHRlci1ncmlkX19pdGVtIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zNXM7IH1cblxuLmphbC1maWx0ZXItZ3JpZF9fbG9hZGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFlbTtcbiAgcGFkZGluZzogNGVtOyB9XG5cbi5qYWwtZmlsdGVyLWdyaWRfX21vcmUge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uamFsLWZpbHRlci0tbG9hZGluZy1tb3JlIH4gLmphbC1maWx0ZXItZ3JpZF9fbG9hZGluZzpudGgtbGFzdC1jaGlsZCgyKSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5qYWwtZmlsdGVyLS1sb2FkaW5nLW1vcmUgfiAuamFsLWZpbHRlci1ncmlkX19pdGVtcy13cmFwcGVyIC5qYWwtZmlsdGVyLWdyaWRfX2l0ZW0tYnJlYWs6bGFzdC1vZi10eXBlIH4gLmphbC1maWx0ZXItZ3JpZF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRlbSk7IH1cblxuLmphbC1maWx0ZXItLWZpbHRlcmluZyB+IC5qYWwtZmlsdGVyLWdyaWRfX2xvYWRpbmcge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uamFsLWZpbHRlci0tZmlsdGVyaW5nIH4gLmphbC1maWx0ZXItZ3JpZF9faXRlbXMtd3JhcHBlciB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmphbC1maWx0ZXItLXBhZ2luZy1jb21wbGV0ZSB+IC5qYWwtZmlsdGVyLWdyaWRfX21vcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5qYWwtZmlsdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5qYWwtZmlsdGVyW2hyZWZdLFxuICAuamFsLWZpbHRlciBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgLmphbC1maWx0ZXJbaHJlZl06aG92ZXIsXG4gICAgLmphbC1maWx0ZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1maWx0ZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZmlsdGVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDJyZW07IH0gfVxuICAuamFsLWZpbHRlcl9fdWkge1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY4NjkyO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgbGluZWFyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAgIC5qYWwtZmlsdGVyX191aSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWZpbHRlcl9fdWkge1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5qYWwtZmlsdGVyX191aSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2Ljg3NWVtKSB7XG4gICAgICAuamFsLWZpbHRlcl9fdWkge1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG4gIC5qYWwtZmlsdGVyX190b3AsIC5qYWwtZmlsdGVyX19mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWZpbHRlcl9fdG9wLCAuamFsLWZpbHRlcl9fZm9ybSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuamFsLWZpbHRlcl9fdG9wIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmphbC1maWx0ZXJfX2Zvcm0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLmphbC1maWx0ZXJfX2hlYWRpbmcge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1maWx0ZXJfX2hlYWRpbmcge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuamFsLWZpbHRlcl9fcmVzZXQsIC5qYWwtZmlsdGVyX19oaWRlIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZmlsdGVyX19yZXNldCwgLmphbC1maWx0ZXJfX2hpZGUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5qYWwtZmlsdGVyX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1maWx0ZXJfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWZpbHRlcl9faXRlbVtkYXRhLXdpZHRoPSdmdWxsJ10ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZmlsdGVyX19pdGVtW2RhdGEtd2lkdGg9JzQ1JSddIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNDUlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZmlsdGVyX19pdGVtW2RhdGEtd2lkdGg9JzUwJSddIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAxOC43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZmlsdGVyX19pdGVtW2RhdGEtd2lkdGg9JzU1JSddIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTUlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtZmlsdGVyLS1zaG93LW1vcmUgLmphbC1maWx0ZXJfX3VpIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAuamFsLWZpbHRlci0tc2hvdy1tb3JlIC5qYWwtZmlsdGVyX191aSB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICAuamFsLWZpbHRlci0tc2hvdy1tb3JlIC5qYWwtZmlsdGVyX190b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmphbC1tYXAtYW5kLWZlYXR1cmVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDMxLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlM2RiOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1tYXAtYW5kLWZlYXR1cmVzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtbWFwLWFuZC1mZWF0dXJlcyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtbWFwLWFuZC1mZWF0dXJlc19fZmVhdHVyZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1tYXAtYW5kLWZlYXR1cmVzX19mZWF0dXJlcyB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBvcmRlcjogMjsgfSB9XG4gICAgLmphbC1tYXAtYW5kLWZlYXR1cmVzX19mZWF0dXJlcyBociB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjEyNXJlbTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzY0Y2NjOTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmphbC1tYXAtYW5kLWZlYXR1cmVzX19mZWF0dXJlcyBociB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIC5qYWwtbWFwLWFuZC1mZWF0dXJlc19fbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njg2OTI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1tYXAtYW5kLWZlYXR1cmVzX19tYXAge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH0gfVxuICAuamFsLW1hcC1hbmQtZmVhdHVyZXNfX2JvZHkge1xuICAgIHBhZGRpbmc6IDJyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1tYXAtYW5kLWZlYXR1cmVzX19ib2R5IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDUwdncgKyAxLjg3NXJlbSAtICg3Ni44NzVyZW0gLyAyKSk7IH0gfVxuICAuamFsLW1hcC1hbmQtZmVhdHVyZXNfX2NvbnRlbnQgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmphbC1tYXAtYW5kLWZlYXR1cmVzX19jb250ZW50IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIHBhZGRpbmctbGVmdDogNGVtOyB9XG4gICAgLmphbC1tYXAtYW5kLWZlYXR1cmVzX19jb250ZW50IGxpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMi4xODc1ZW07XG4gICAgICBoZWlnaHQ6IDIuMTg3NWVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PSUyMjAgMCAzNSAzNSUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNMTAuMyAxNC4yTDggMTYuNmw3LjggNy45TDMzLjQgN2wtMi41LTIuNS0xNSAxNS4xLTUuNS01LjR6bTIxLjIgMy4zYTE0IDE0IDAgMCAxLTE0IDE0IDE0IDE0IDAgMCAxLTE0LTE0QTE0IDE0IDAgMCAxIDIxLjQgNGwyLjgtMi44QzIyIC41IDE5LjggMCAxNy41IDAgNy45IDAgMCA3LjkgMCAxNy41UzcuOSAzNSAxNy41IDM1IDM1IDI3LjEgMzUgMTcuNWgtMy41eiUyMiBmaWxsPSUyMiUyMzA3MUQ0OSUyMiBmaWxsLXJ1bGU9JTIybm9uemVybyUyMi8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG4gIC5qYWwtbWFwLWFuZC1mZWF0dXJlc19faGVhZGluZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLW1hcC1hbmQtZmVhdHVyZXNfX2hlYWRpbmcgLmpzLWZpcnN0LXdvcmQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5qYWwtbmV4dC1zdGVwc19fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzYuODc1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtbmV4dC1zdGVwc19fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1uZXh0LXN0ZXBzX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uamFsLW5leHQtc3RlcHNfX21haW4sIC5qYWwtbmV4dC1zdGVwc19fcmVsYXRlZC1jb250ZW50IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLW5leHQtc3RlcHNfX21haW4sIC5qYWwtbmV4dC1zdGVwc19fcmVsYXRlZC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLW5leHQtc3RlcHMgaHIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjEyNXJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjNjRjY2M5OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1uZXh0LXN0ZXBzIGhyIHtcbiAgICAgIHdpZHRoOiA4MCU7IH0gfVxuXG4uamFsLW5leHQtc3RlcHNfX3dyYXBwZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYuODc1ZW0pIHtcbiAgICAuamFsLW5leHQtc3RlcHNfX3dyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuXG4uamFsLW5leHQtc3RlcHNfX21haW4sIC5qYWwtbmV4dC1zdGVwc19fcmVsYXRlZC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA0NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni44NzVlbSkge1xuICAuamFsLW5leHQtc3RlcHNfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLW5leHQtc3RlcHNfX2NvbnRhY3Qge1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtbmV4dC1zdGVwc19fY29udGFjdCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5qYWwtbmV4dC1zdGVwc19fcmVsYXRlZC1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2Ljg3NWVtKSB7XG4gICAgLmphbC1uZXh0LXN0ZXBzX19yZWxhdGVkLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5qYWwtbmV4dC1zdGVwc19fbWFpbi1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtbmV4dC1zdGVwc19fbWFpbi1pbm5lciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtbmV4dC1zdGVwc19faGVhZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLW5leHQtc3RlcHNfX2hlYWRlciB7XG4gICAgICB3aWR0aDogY2FsYygzNy41JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtbmV4dC1zdGVwc19fYnV0dG9uIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1uZXh0LXN0ZXBzX19idXR0b24ge1xuICAgICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5qYWwtbmV4dC1zdGVwc19fYm9keSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1uZXh0LXN0ZXBzX19ib2R5IHtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtbmV4dC1zdGVwc19faGVhZGluZywgLmphbC1uZXh0LXN0ZXBzX19yZWxhdGVkLWhlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2Ljg3NWVtKSB7XG4gICAgLmphbC1uZXh0LXN0ZXBzX19oZWFkaW5nIC5qcy1maXJzdC13b3JkLCAuamFsLW5leHQtc3RlcHNfX3JlbGF0ZWQtaGVhZGluZyAuanMtZmlyc3Qtd29yZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5qYWwtY29udGFjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1jb250YWN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzMuNzVlbSkge1xuICAgIC5qYWwtY29udGFjdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIC5qYWwtY29udGFjdF9faW1hZ2UsIC5qYWwtY29udGFjdF9fYm9keSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAuamFsLWNvbnRhY3RfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTIuNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMzLjc1ZW0pIHtcbiAgICAgIC5qYWwtY29udGFjdF9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gICAgLmphbC1jb250YWN0X19pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAuamFsLWNvbnRhY3RfX2JvZHkge1xuICAgIG1hcmdpbi10b3A6IDYuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDYuMjVyZW07XG4gICAgYm9yZGVyOiAjNjRjY2M5IDAuMTI1cmVtIHNvbGlkOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzMuNzVlbSkge1xuICAgICAgLmphbC1jb250YWN0X19ib2R5IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGJvcmRlci10b3A6ICM2NGNjYzkgMC4xMjVyZW0gc29saWQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9IH1cbiAgLmphbC1jb250YWN0X19ib2R5LWlubmVyIHtcbiAgICBwYWRkaW5nOiAycmVtOyB9XG4gIC5qYWwtY29udGFjdF9fcm9sZSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuamFsLWNvbnRhY3RfX2JpbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6IDUuMjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7IH1cbiAgLmphbC1jb250YWN0X19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6IDEwLjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDY7IH1cbiAgLmphbC1jb250YWN0X19waG9uZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMDcxZDQ5OyB9XG5cbi5qYWwtaWNvbi1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAyLjgxMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAyLjgxMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuamFsLWljb24tbGlzdF9fa2V5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGJvcmRlcjogMDsgfVxuICAuamFsLWljb24tbGlzdF9fdmFsdWUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmphbC1pY29uLWxpc3RfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogNC43NWVtO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5qYWwtaWNvbi1saXN0X19udW1iZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IGNhbGMoMTAwJSArIDAuNzVlbSk7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxLjhlbTtcbiAgICBoZWlnaHQ6IDIuMjVlbTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjBmMjtcbiAgICBmb250LXNpemU6IDEuNTYyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5qYWwtaWNvbi1saXN0X19udW1iZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXI6IGluc2V0IDAuNzVlbTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWJmMGYyIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5qYWwtaWNvbi1saXN0LS1wcm9kdWN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNi4yNWVtKSB7XG4gICAgICAuamFsLWljb24tbGlzdC0tcHJvZHVjdCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmphbC1hY2NvcmRpb25fX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWFjY29yZGlvbl9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1hY2NvcmRpb25fX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtYWNjb3JkaW9uX193cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuXG4uamFsLWFjY29yZGlvbl9faGVhZGVyLCAuamFsLWFjY29yZGlvbl9fYm9keSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1hY2NvcmRpb25fX2hlYWRlciwgLmphbC1hY2NvcmRpb25fX2JvZHkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtYWNjb3JkaW9uX19ib2R5IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtYWNjb3JkaW9uX19oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1hY2NvcmRpb25fX2hlYWRlciBociB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDAuMTI1cmVtO1xuICBib3JkZXItY29sb3I6ICM2NGNjYzk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLWFjY29yZGlvbl9faGVhZGVyIGhyIHtcbiAgICAgIHdpZHRoOiA4MCU7IH0gfVxuXG4uamFsLWFjY29yZGlvbl9faGVhZGVyICsgLmphbC1hY2NvcmRpb25fX2JvZHkge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtYWNjb3JkaW9uX19oZWFkZXIgKyAuamFsLWFjY29yZGlvbl9fYm9keSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtYWNjb3JkaW9uX19oZWFkZXIgKyAuamFsLWFjY29yZGlvbl9fYm9keSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9IH1cblxuLmphbC1hY2NvcmRpb25fX2hlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1hY2NvcmRpb25fX2hlYWRpbmcgLmpzLWZpcnN0LXdvcmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uamFsLWFjY29yZGlvbl9fbGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmphbC1hY2NvcmRpb25fX2xpc3RbZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmphbC1hY2NvcmRpb25fX2l0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NiZDFkNjsgfVxuICAuamFsLWFjY29yZGlvbl9faXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuamFsLWFjY29yZGlvbl9faXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmphbC1hY2NvcmRpb25fX2l0ZW0taGVhZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzA3MWQ0OTtcbiAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmphbC1hY2NvcmRpb25fX2l0ZW0taGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5qYWwtYWNjb3JkaW9uX19pdGVtLWhlYWRpbmc6aG92ZXIsIC5qYWwtYWNjb3JkaW9uX19pdGVtLWhlYWRpbmc6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5qYWwtYWNjb3JkaW9uX19pdGVtLWhlYWRpbmc6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuamFsLWFjY29yZGlvbl9faXRlbS1oZWFkaW5nOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG4gIC5qYWwtYWNjb3JkaW9uX19pdGVtLWhlYWRpbmc6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgLmlzLWFjdGl2ZSA+IC5qYWwtYWNjb3JkaW9uX19pdGVtLWhlYWRpbmcge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNjRjY2M5OyB9XG5cbi5qYWwtYWNjb3JkaW9uX19pdGVtLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMyMjI7IH1cbiAgOmxhc3QtY2hpbGQgPiAuamFsLWFjY29yZGlvbl9faXRlbS1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cblxuLmphbC1icmVhZGNydW1icyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM0LCAzNCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5qYWwtYnJlYWRjcnVtYnNfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWJyZWFkY3J1bWJzX19jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmphbC1icmVhZGNydW1ic19fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5qYWwtYnJlYWRjcnVtYnNfX25hdiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtYnJlYWRjcnVtYnNfX25hdiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmphbC1icmVhZGNydW1icyBsaSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmphbC1icmVhZGNydW1ic19fbmF2IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLmphbC1ibG9jay0tZml4ZWQtdG8tdG9wLWZvci1sYXJnZSAuamFsLWJyZWFkY3J1bWJzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlM2RiO1xuICAgIGNvbG9yOiAjMDcxZDQ5OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5qYWwtYmxvY2stLWZpeGVkLXRvLXRvcC1mb3ItbGFyZ2UgLmphbC1icmVhZGNydW1icyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM0LCAzNCwgMC4xKTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH0gfVxuICAuamFsLWJyZWFkY3J1bWJzLS1iZWlnZSB7XG4gICAgYmFja2dyb3VuZDogI2U2ZTNkYjtcbiAgICBjb2xvcjogIzA3MWQ0OTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLWNvbnRlbnRfX3dyYXBwZXIge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbi5qYWwtY29udGVudF9faGVhZGVyLCAuamFsLWNvbnRlbnRfX2JvZHkge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtY29udGVudF9faGVhZGVyLCAuamFsLWNvbnRlbnRfX2JvZHkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtY29udGVudF9fYm9keSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLWNvbnRlbnRfX2hlYWRlciB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLWNvbnRlbnRfX2hlYWRlciBociB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDAuMTI1cmVtO1xuICBib3JkZXItY29sb3I6ICM2NGNjYzk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLWNvbnRlbnRfX2hlYWRlciBociB7XG4gICAgICB3aWR0aDogODAlOyB9IH1cblxuLmphbC1jb250ZW50X19oZWFkZXIgKyAuamFsLWNvbnRlbnRfX2JvZHkge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtY29udGVudF9faGVhZGVyICsgLmphbC1jb250ZW50X19ib2R5IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1jb250ZW50X19oZWFkZXIgKyAuamFsLWNvbnRlbnRfX2JvZHkge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5qYWwtY29udGVudF9faGVhZGluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLWNvbnRlbnRfX2hlYWRpbmcgLmpzLWZpcnN0LXdvcmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uamFsLWNvbnRlbnRfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWNvbnRlbnRfX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtY29udGVudF9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmphbC1jb250ZW50X19hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBmb250LXNpemU6IDEuMTI1ZW07IH1cblxuLmphbC1jb250ZW50X19hZGRyZXNzLXRleHQgYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4uamFsLWNvbnRlbnRfX29wZW4taG91cnMge1xuICBmb250LXNpemU6IDEuMTI1ZW07IH1cblxuLmphbC1jb250ZW50X19kaXJlY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5qYWwtY29udGVudF9fYm9keSBoMixcbi5qYWwtY29udGVudF9fYm9keSBoMyxcbi5qYWwtY29udGVudF9fYm9keSBoNCxcbi5qYWwtY29udGVudF9fYm9keSBoNSxcbi5qYWwtY29udGVudF9fYm9keSBoNixcbi5qYWwtY29udGVudF9fYm9keSBibG9ja3F1b3RlIHtcbiAgbWFyZ2luLXRvcDogMS4yNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLmphbC1jb250ZW50X19ib2R5IGgyOmZpcnN0LWNoaWxkLFxuICAuamFsLWNvbnRlbnRfX2JvZHkgaDM6Zmlyc3QtY2hpbGQsXG4gIC5qYWwtY29udGVudF9fYm9keSBoNDpmaXJzdC1jaGlsZCxcbiAgLmphbC1jb250ZW50X19ib2R5IGg1OmZpcnN0LWNoaWxkLFxuICAuamFsLWNvbnRlbnRfX2JvZHkgaDY6Zmlyc3QtY2hpbGQsXG4gIC5qYWwtY29udGVudF9fYm9keSBibG9ja3F1b3RlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5qYWwtY29udGVudF9fYm9keSBjaXRlIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5qYWwtY29udGVudC0tbWluLWhlaWdodCB7XG4gIG1pbi1oZWlnaHQ6IDMwZW07IH1cblxuLmphbC1jb250ZW50LS1vcHRpbWl6ZWQtZm9yLXJlYWRpbmcgLmphbC1jb250ZW50X19ib2R5IHtcbiAgbWF4LXdpZHRoOiA1MGVtOyB9XG5cbi5qYWwtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLmphbC1ibG9ja19faHIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICAgIG1heC13aWR0aDogY2FsYyg3Ni44NzVyZW0gLSAzLjc1cmVtKTtcbiAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvcGFjaXR5OiAwLjI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtYmxvY2tfX2hyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pOyB9IH1cbiAgLmphbC1ibG9jay0tZGFya2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmMGYyOyB9XG4gIC5qYWwtYmxvY2stLWRhcmtlc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njg2OTI7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmphbC1ibG9jay0tYmVpZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmUzZGI7IH1cbiAgLmphbC1ibG9jay0tYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmphbC1ibG9jay0tdGhlbWUtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuamFsLWJsb2NrLS10aGVtZS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5qYWwtYmxvY2stLWZpeGVkLXRvLXRvcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtYmxvY2stLWZpeGVkLXRvLXRvcC1mb3ItbGFyZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9IH1cbiAgLmphbC1ibG9jay0tcGFkZGluZy10b3Age1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWJsb2NrLS1wYWRkaW5nLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtOyB9IH1cbiAgLmphbC1ibG9jay0tcGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWJsb2NrLS1wYWRkaW5nLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtOyB9IH1cbiAgLmphbC1ibG9jay0tcGFkZGluZyB7XG4gICAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWJsb2NrLS1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWJsb2NrLS1wYWRkaW5nLWZvci1tZWRpdW0ge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gIC5qYWwtYmxvY2stLXNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWJsb2NrLS1zaG93LWZvci1tZWRpdW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5qYWwtY2FyZCBociB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDAuMTI1cmVtO1xuICBib3JkZXItY29sb3I6ICM2NGNjYzk7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtY2FyZCBociB7XG4gICAgICB3aWR0aDogNjUlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWNhcmQgaHIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4yNWVtOyB9IH1cblxuLmphbC1jYXJkX19zdXBlci10aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLWNhcmRfX3N1cGVyLXRpdGxlIC5qcy1maXJzdC13b3JkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmphbC1ncmlkIC5qYWwtY2FyZF9fc3VwZXItdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDEuMTI1ZW07IH1cblxuLmphbC1jYXJkX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzIyMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDIzLjEyNXJlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmOGY5O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGxpbmVhcjsgfVxuICAuamFsLWNhcmRfX3dyYXBwZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuamFsLWNhcmRfX3dyYXBwZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWVkZWY7IH1cbiAgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXSAuamFsLWNhcmRfX3dyYXBwZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjEpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmphbC1jYXJkX193cmFwcGVyW2hyZWZdOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gICAgLmphbC1ncmlkLS1mdWxsLXdpZHRoLWZvci1zbWFsbC1vbmx5IC5qYWwtY2FyZF9fd3JhcHBlciB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuXG4uamFsLWNhcmRfX2NvbnRlbnQsIC5qYWwtY2FyZF9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuamFsLWNhcmRfX2NvbnRlbnQgaW1nLCAuamFsLWNhcmRfX2ltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuXG4uamFsLWNhcmRfX2ltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5qYWwtY2FyZF9fY29udGVudCB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgLmphbC1jYXJkX19jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWNhcmRfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMnJlbSAycmVtIDVyZW07IH0gfVxuXG4uamFsLWNhcmRfX2hlYWRpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIGhlaWdodDogMy45OXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMztcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtY2FyZF9faGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfSB9XG5cbi5qYWwtY2FyZF9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgIGhlaWdodDogMTAuNXJlbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiA2O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9IH1cblxuLmphbC1jYXJkX19saW5rIHtcbiAgYm90dG9tOiAycmVtO1xuICBmb250LWZhbWlseTogXCJIdXJtZSBHZW9tZXRyaWMgU2FucyA0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwNzFkNDk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWNhcmRfX2xpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgLmphbC1jYXJkX19saW5rOmFmdGVyIHtcbiAgICBjb250ZW50OiAnID4nOyB9XG5cbi5qYWwtY2FyZC0tY3RhIC5qYWwtY2FyZF9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGxpbmVhcjtcbiAgY29sb3I6IHJnYmEoMTY0LCAxODgsIDE5NCwgMC45KTsgfVxuXG4uamFsLWNhcmQtLWN0YSAuamFsLWNhcmRfX2hlYWRpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIGhlaWdodDogNS4yNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzQuMzc1ZW0pIHtcbiAgICAuamFsLWNhcmQtLWN0YSAuamFsLWNhcmRfX2hlYWRpbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWNhcmQtLWN0YSAuamFsLWNhcmRfX2hlYWRpbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zMzsgfSB9XG5cbi5qYWwtY2FyZC0tY3RhIC5qYWwtY2FyZF9fZGVzY3JpcHRpb24sIC5qYWwtY2FyZC0tY3RhIC5qYWwtY2FyZF9fbGluayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmphbC1jYXJkLS1jdGEgLmphbC1jYXJkX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1jYXJkLS1jdGEgLmphbC1jYXJkX19jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM0LjM3NWVtKSB7XG4gIC5qYWwtY2FyZC0taG9yaXpvbnRhbC1mb3ItNTUwIC5qYWwtY2FyZF9fc3VwZXItdGl0bGU6Zmlyc3QtbGluZSB7XG4gICAgd29yZC1zcGFjaW5nOiBub3JtYWw7IH0gfVxuXG4uamFsLWNhcmQtLWhvcml6b250YWwtZm9yLTU1MCAuamFsLWNhcmRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzQuMzc1ZW0pIHtcbiAgLmphbC1jYXJkLS1ob3Jpem9udGFsLWZvci01NTAgLmphbC1jYXJkX19jb250ZW50LCAuamFsLWNhcmQtLWhvcml6b250YWwtZm9yLTU1MCAuamFsLWNhcmRfX2ltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM0LjM3NWVtKSB7XG4gIC5qYWwtY2FyZC0taG9yaXpvbnRhbC1mb3ItNTUwIC5qYWwtY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzQuMzc1ZW0pIHtcbiAgLmphbC1jYXJkLS1ob3Jpem9udGFsLWZvci01NTAgLmphbC1jYXJkX19pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzQuMzc1ZW0pIHtcbiAgLmphbC1jYXJkLS1ob3Jpem9udGFsLWZvci01NTAgLmphbC1jYXJkX19pbWFnZSBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2Ljg3NWVtKSB7XG4gIC5qYWwtY2FyZC0tdmVydGljYWwtZm9yLXhsYXJnZSAuamFsLWNhcmRfX3N1cGVyLXRpdGxlOmZpcnN0LWxpbmUge1xuICAgIHdvcmQtc3BhY2luZzogMjMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYuODc1ZW0pIHtcbiAgLmphbC1jYXJkLS12ZXJ0aWNhbC1mb3IteGxhcmdlIC5qYWwtY2FyZF9fY29udGVudCwgLmphbC1jYXJkLS12ZXJ0aWNhbC1mb3IteGxhcmdlIC5qYWwtY2FyZF9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2Ljg3NWVtKSB7XG4gIC5qYWwtY2FyZC0tdmVydGljYWwtZm9yLXhsYXJnZSAuamFsLWNhcmRfX2ltYWdlIGltZyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBvYmplY3QtZml0OiBpbml0aWFsOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gIC5qYWwtY2FyZC0tc2hhZG93LWZvci1tZWRpdW0gLmphbC1jYXJkX193cmFwcGVyIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9IH1cblxuLmphbC1jYXJkLS1icm9jaHVyZSAuamFsLWNhcmRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAxMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmphbC1jYXJkLS1icm9jaHVyZSAuamFsLWNhcmRfX3dyYXBwZXIge1xuICAgICAgbWluLXdpZHRoOiAxNi44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni44NzVlbSkge1xuICAgIC5qYWwtY2FyZC0tYnJvY2h1cmUgLmphbC1jYXJkX193cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAyMy4xMjVyZW07IH0gfVxuXG4uamFsLWNhcmQtLWJyb2NodXJlIC5qYWwtY2FyZF9faGVhZGluZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAyLjk5MjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMztcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uamFsLXN0ZXBzX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3Ni44NzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1zdGVwc19fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1zdGVwc19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmphbC1zdGVwc19faGVhZGVyLCAuamFsLXN0ZXBzX19ncmlkLCAuamFsLXN0ZXBzX19uYXYge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtc3RlcHNfX2hlYWRlciwgLmphbC1zdGVwc19fZ3JpZCwgLmphbC1zdGVwc19fbmF2IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLXN0ZXBzX193cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuXG4uamFsLXN0ZXBzX19oZWFkZXIsIC5qYWwtc3RlcHNfX25hdiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1zdGVwc19faGVhZGVyLCAuamFsLXN0ZXBzX19uYXYge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5qYWwtc3RlcHNfX25hdiB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuamFsLXN0ZXBzX19oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1zdGVwc19faGVhZGVyIGhyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMC4xMjVyZW07XG4gIGJvcmRlci1jb2xvcjogIzY0Y2NjOTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtc3RlcHNfX2hlYWRlciBociB7XG4gICAgICB3aWR0aDogODAlOyB9IH1cblxuLmphbC1zdGVwc19faGVhZGVyICsgLmphbC1zdGVwc19fbmF2IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLXN0ZXBzX19oZWFkZXIgKyAuamFsLXN0ZXBzX19uYXYge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLXN0ZXBzX19oZWFkZXIgKyAuamFsLXN0ZXBzX19uYXYge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5qYWwtc3RlcHNfX2hlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1zdGVwc19faGVhZGluZyAuanMtZmlyc3Qtd29yZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5qYWwtc3RlcHNfX25leHQsIC5qYWwtc3RlcHNfX3ByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAtMWVtO1xuICB6LWluZGV4OiAyMDtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG1hcmdpbjogYXV0byAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBsaW5lYXI7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIGNvbG9yOiAjNjRjY2M5O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXSAuamFsLXN0ZXBzX19uZXh0LFxuICBbZGF0YS13aGF0aW50ZW50PSd0b3VjaCddIC5qYWwtc3RlcHNfX25leHQsIFtkYXRhLXdoYXRpbnRlbnQ9J21vdXNlJ10gLmphbC1zdGVwc19fcHJldixcbiAgW2RhdGEtd2hhdGludGVudD0ndG91Y2gnXSAuamFsLXN0ZXBzX19wcmV2IHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1zdGVwc19fbmV4dCwgLmphbC1zdGVwc19fcHJldiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICBmb250LXNpemU6IDNlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1zdGVwc19fbmV4dCwgLmphbC1zdGVwc19fcHJldiB7XG4gICAgICBmb250LXNpemU6IDMuNzVlbTsgfSB9XG4gIC5qYWwtc3RlcHNfX25leHQ6aG92ZXIsIC5qYWwtc3RlcHNfX3ByZXY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLXN0ZXBzX19uZXh0OmhvdmVyLCAuamFsLXN0ZXBzX19wcmV2OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH0gfVxuICAuamFsLXN0ZXBzX19uZXh0IHN2ZywgLmphbC1zdGVwc19fcHJldiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07IH1cbiAgLmphbC1zdGVwc19fbmV4dC5zbGljay1kaXNhYmxlZCwgLmphbC1zdGVwc19fcHJldi5zbGljay1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmphbC1zdGVwc19fbmV4dCB7XG4gIHJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1zdGVwc19fbmV4dCB7XG4gICAgICByaWdodDogMC41ZW07IH0gfVxuXG4uamFsLXN0ZXBzX19wcmV2IHtcbiAgbGVmdDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtc3RlcHNfX3ByZXYge1xuICAgICAgbGVmdDogMC41ZW07IH0gfVxuXG4uamFsLXN0ZXBzX19uYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1zdGVwc19fbmF2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmphbC1zdGVwc19fbmF2IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAuamFsLXN0ZXBzX19uYXYgbGkge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZvbnQtZmFtaWx5OiBcIkh1cm1lIEdlb21ldHJpYyBTYW5zIDRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5qYWwtc3RlcHNfX25hdiBsaTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMC4xMjVyZW07XG4gICAgICBoZWlnaHQ6IDAuOGVtO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjBmMjsgfVxuXG4uamFsLXN0ZXBzX19wYWdpbmcuamFsLXN0ZXBzX19wYWdpbmcuamFsLXN0ZXBzX19wYWdpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwIDAuNzVlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzA3MWQ0OTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5qYWwtc3RlcHNfX3BhZ2luZy5qYWwtc3RlcHNfX3BhZ2luZy5qYWwtc3RlcHNfX3BhZ2luZzpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmphbC1zdGVwc19fcGFnaW5nLmphbC1zdGVwc19fcGFnaW5nLmphbC1zdGVwc19fcGFnaW5nOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICB3aWR0aDogMC4xMjVyZW07XG4gICAgaGVpZ2h0OiAwLjhlbTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjBmMjsgfVxuICAuc2xpY2stYWN0aXZlID4gLmphbC1zdGVwc19fcGFnaW5nLmphbC1zdGVwc19fcGFnaW5nLmphbC1zdGVwc19fcGFnaW5nIHtcbiAgICBjb2xvcjogIzY0Y2NjOSAhaW1wb3J0YW50OyB9XG5cbi5qYWwtc3RlcHNfX2dyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmphbC1zdGVwc19faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuamFsLXN0ZXBzX19pdGVtOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IC0xLjZlbTtcbiAgICBtYXgtd2lkdGg6IDVlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtc3RlcC1wb3NpdGlvbik7XG4gICAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1zdGVwc19faXRlbTo6YWZ0ZXIge1xuICAgICAgICBib3R0b206IC0yZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLXN0ZXBzX19pdGVtOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uamFsLXN0ZXBzX19uZXh0LCAuamFsLXN0ZXBzX19wcmV2IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICMwNzFkNDk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLXN0ZXBzX19uZXh0LCAuamFsLXN0ZXBzX19wcmV2IHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmphbC1zdGVwc19fbmV4dCBzcGFuLCAuamFsLXN0ZXBzX19wcmV2IHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtc3RlcHNfX25leHQgc3BhbiwgLmphbC1zdGVwc19fcHJldiBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgY2xpcDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgY2xpcC1wYXRoOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDAuNjVlbSAxZW07XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY0Y2NjOTtcbiAgICAgICAgY29sb3I6ICM2NGNjYzk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGNvbG9yOiAjMDcxZDQ5O1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5qYWwtc3RlcHNfX25leHQgc3BhbiwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5qYWwtc3RlcHNfX3ByZXYgc3BhbiB7XG4gICAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgICAuamFsLXN0ZXBzX19uZXh0IHNwYW4sIC5qYWwtc3RlcHNfX25leHQgc3Bhbjpob3ZlciwgLmphbC1zdGVwc19fbmV4dCBzcGFuOmZvY3VzLCAuamFsLXN0ZXBzX19wcmV2IHNwYW4sIC5qYWwtc3RlcHNfX3ByZXYgc3Bhbjpob3ZlciwgLmphbC1zdGVwc19fcHJldiBzcGFuOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuamFsLXN0ZXBzX19uZXh0IHNwYW4uZGlzYWJsZWQsIC5qYWwtc3RlcHNfX25leHQgc3Bhbi5kaXNhYmxlZDpob3ZlciwgLmphbC1zdGVwc19fbmV4dCBzcGFuLmRpc2FibGVkOmZvY3VzLCAuamFsLXN0ZXBzX19uZXh0IHNwYW5bZGlzYWJsZWRdLCAuamFsLXN0ZXBzX19uZXh0IHNwYW5bZGlzYWJsZWRdOmhvdmVyLCAuamFsLXN0ZXBzX19uZXh0IHNwYW5bZGlzYWJsZWRdOmZvY3VzLCAuamFsLXN0ZXBzX19wcmV2IHNwYW4uZGlzYWJsZWQsIC5qYWwtc3RlcHNfX3ByZXYgc3Bhbi5kaXNhYmxlZDpob3ZlciwgLmphbC1zdGVwc19fcHJldiBzcGFuLmRpc2FibGVkOmZvY3VzLCAuamFsLXN0ZXBzX19wcmV2IHNwYW5bZGlzYWJsZWRdLCAuamFsLXN0ZXBzX19wcmV2IHNwYW5bZGlzYWJsZWRdOmhvdmVyLCAuamFsLXN0ZXBzX19wcmV2IHNwYW5bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuamFsLXN0ZXBzX19uZXh0IHNwYW46aG92ZXIsIC5qYWwtc3RlcHNfX25leHQgc3Bhbjpmb2N1cywgLmphbC1zdGVwc19fcHJldiBzcGFuOmhvdmVyLCAuamFsLXN0ZXBzX19wcmV2IHNwYW46Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzI2NzI3MDtcbiAgICAgICAgICBjb2xvcjogIzI2NzI3MDsgfVxuICAgICAgICAgIC5qYWwtc3RlcHNfX25leHQgc3Bhbjpob3Zlci5kaXNhYmxlZCwgLmphbC1zdGVwc19fbmV4dCBzcGFuOmhvdmVyW2Rpc2FibGVkXSwgLmphbC1zdGVwc19fbmV4dCBzcGFuOmZvY3VzLmRpc2FibGVkLCAuamFsLXN0ZXBzX19uZXh0IHNwYW46Zm9jdXNbZGlzYWJsZWRdLCAuamFsLXN0ZXBzX19wcmV2IHNwYW46aG92ZXIuZGlzYWJsZWQsIC5qYWwtc3RlcHNfX3ByZXYgc3Bhbjpob3ZlcltkaXNhYmxlZF0sIC5qYWwtc3RlcHNfX3ByZXYgc3Bhbjpmb2N1cy5kaXNhYmxlZCwgLmphbC1zdGVwc19fcHJldiBzcGFuOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjRjY2M5O1xuICAgICAgICAgICAgY29sb3I6ICM2NGNjYzk7IH1cbiAgICAgICAgLmphbC1zdGVwc19fbmV4dCBzcGFuOmZvY3VzLCAuamFsLXN0ZXBzX19uZXh0IHNwYW46aG92ZXIsIC5qYWwtc3RlcHNfX3ByZXYgc3Bhbjpmb2N1cywgLmphbC1zdGVwc19fcHJldiBzcGFuOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICM4YWQ5ZDY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjAyKTtcbiAgICAgICAgICBjb2xvcjogIzA3MWQ0OTsgfVxuICAgICAgICAuamFsLXN0ZXBzX19uZXh0IHNwYW46YWN0aXZlLCAuamFsLXN0ZXBzX19wcmV2IHNwYW46YWN0aXZlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KSB0cmFuc2xhdGVZKDFweCk7IH0gfVxuICAuamFsLXN0ZXBzX19uZXh0OmZvY3VzID4gc3BhbixcbiAgLmphbC1zdGVwc19fbmV4dDpob3ZlciA+IHNwYW4sIC5qYWwtc3RlcHNfX3ByZXY6Zm9jdXMgPiBzcGFuLFxuICAuamFsLXN0ZXBzX19wcmV2OmhvdmVyID4gc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOGFkOWQ2O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC4wMik7XG4gICAgY29sb3I6ICMwNzFkNDk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLXN0ZXBzX19uZXh0IHN2ZywgLmphbC1zdGVwc19fcHJldiBzdmcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5qYWwtc3RlcHNfX25leHQge1xuICByaWdodDogMDsgfVxuXG4uamFsLXN0ZXBzX19wcmV2IHtcbiAgbGVmdDogMDsgfVxuXG4uamFsLXN0ZXBzIC5zbGljay1zbGlkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7IH1cblxuLmphbC1zdGVwcyAuc2xpY2stY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmphbC1zdGVwcyAuc2xpY2stbGlzdCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5qYWwtc3RlcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLXN0ZXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuamFsLXN0ZXBfX2ltYWdlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1zdGVwX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmphbC1zdGVwX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMwLjgzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5qYWwtc3RlcF9faW1hZ2U6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtc3RlcCk7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgd2lkdGg6IDQuMzc1cmVtO1xuICAgICAgaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkh1cm1lIEdlb21ldHJpYyBTYW5zIDRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5qYWwtc3RlcF9faW1hZ2UgaW1nIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gIC5qYWwtc3RlcF9fY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1zdGVwX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLXN0ZXBfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYyg2OS4xNjY2NyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1idXR0b24tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtYnV0dG9uLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmphbC1idXR0b24tZ3JvdXAgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWJ1dHRvbi1ncm91cCA+ICoge1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5qYWwtZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuamFsLWZvcm1fX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWZvcm1fX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuamFsLWZvcm1fX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuamFsLWZvcm1fX2Zvcm0sIC5qYWwtZm9ybV9fcGhvbmUsIC5qYWwtZm9ybV9faGVhZGVyLCAuamFsLWZvcm1fX2JvZHkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWZvcm1fX2Zvcm0sIC5qYWwtZm9ybV9fcGhvbmUsIC5qYWwtZm9ybV9faGVhZGVyLCAuamFsLWZvcm1fX2JvZHkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtZm9ybSBsZWdlbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgLmphbC1mb3JtX19mb3JtLCAuamFsLWZvcm1fX3Bob25lIHtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZm9ybV9fZm9ybSwgLmphbC1mb3JtX19waG9uZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuamFsLWZvcm1fX3Bvc3Qtc3VibWl0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGJvcmRlcjogMDsgfVxuICAuamFsLWZvcm1fX3Bvc3Qtc3VibWl0LW1lc3NhZ2Uge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjhmOTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuamFsLWZvcm1fX3Bvc3Qtc3VibWl0LW1lc3NhZ2UgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5qYWwtZm9ybV9fcHJvZHVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2ODY5MjsgfVxuICAuamFsLWZvcm1fX3Byb2R1Y3QtbGFiZWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmphbC1mb3JtX19jbGVhcmZpeDo6YmVmb3JlLCAuamFsLWZvcm1fX2NsZWFyZml4OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmphbC1mb3JtX19jbGVhcmZpeDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5qYWwtZm9ybV9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAuamFsLWZvcm1fX2Z1bGwtcm93LCAuamFsLWZvcm1fX2hhbGYtcm93LCAuamFsLWZvcm1fX3RoaXJkLXJvdywgLmphbC1mb3JtX19zaHJpbmstcm93LCAuamFsLWZvcm1fX2F1dG8tcm93LCAuamFsLWZvcm1fX3R3by10aGlyZHMtcm93LCAuamFsLWZvcm1fXzQ1LXBlcmNlbnQtcm93LCAuamFsLWZvcm1fXzU1LXBlcmNlbnQtcm93IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZvcm1fX2Z1bGwtcm93IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZm9ybV9faGFsZi1yb3cge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZvcm1fX3RoaXJkLXJvdyB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZm9ybV9fdHdvLXRoaXJkcy1yb3cge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZvcm1fX2F1dG8tcm93IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZm9ybV9fc2hyaW5rLXJvdyB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgLmphbC1mb3JtX180NS1wZXJjZW50LXJvdyB7XG4gICAgICB3aWR0aDogY2FsYyg0NSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZm9ybV9fNTUtcGVyY2VudC1yb3cge1xuICAgICAgd2lkdGg6IGNhbGMoNTUlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgLmphbC1mb3JtX19waG9uZSB7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiSHVybWUgR2VvbWV0cmljIFNhbnMgNFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjM3NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1mb3JtX19waG9uZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLWZvcm1fX3Bob25lIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5qYWwtZm9ybV9fcGhvbmUgYSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmphbC1mb3JtX19waG9uZSBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5qYWwtZm9ybS0tY29tcGxldGUgLmphbC1mb3JtX19wcmUtc3VibWl0LFxuICAuamFsLWZvcm0tLWNvbXBsZXRlIC5qYWwtZm9ybV9faW50cm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmphbC1mb3JtLS1jb21wbGV0ZSAuamFsLWZvcm1fX3Bvc3Qtc3VibWl0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBjbGlwLXBhdGg6IG5vbmU7IH1cbiAgLmphbC1mb3JtLS1jb21wbGV0ZSAuamFsLWZvcm1fX3Bvc3Qtc3VibWl0LW1lc3NhZ2Uge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICBhbmltYXRpb24tbmFtZTogY3VzdG9tLTE7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTEsIDAuOTIsIDAuMDUsIDAuOTkpOyB9XG4gIC5qYWwtZm9ybS0tbmV3c2xldHRlciB7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjNzY4NjkyIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNzY4NjkyLCAjNzY4NjkyIDEycHgsICM3NTg1OTEgMTJweCwgIzc1ODU5MSAyNHB4KTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWZvcm0tLW5ld3NsZXR0ZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgICAuamFsLWZvcm0tLW5ld3NsZXR0ZXIgZmllbGRzZXQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5qYWwtZm9ybS0tbmV3c2xldHRlciBsZWdlbmQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAgICAgLmphbC1mb3JtLS1uZXdzbGV0dGVyIGxlZ2VuZDphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDExMCU7XG4gICAgICAgIHdpZHRoOiA1MDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhNGJjYzI7IH1cbiAgICAuamFsLWZvcm0tLW5ld3NsZXR0ZXIgLmphbC1mb3JtX193cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLWZvcm0tLW5ld3NsZXR0ZXIgLmphbC1mb3JtX19mb3JtIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNzAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5qYWwtZm9ybS0tbmV3c2xldHRlciAuamFsLWZvcm1fX3Bob25lIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1mb3JtLS1jb250YWN0IC5qYWwtZm9ybV9fd3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gIC5qYWwtZm9ybS0tY29udGFjdCAuamFsLWZvcm1fX2hlYWRlciwgLmphbC1mb3JtLS1jb250YWN0IC5qYWwtZm9ybV9fYm9keSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZm9ybS0tY29udGFjdCAuamFsLWZvcm1fX2hlYWRlciwgLmphbC1mb3JtLS1jb250YWN0IC5qYWwtZm9ybV9fYm9keSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLWZvcm0tLWNvbnRhY3QgLmphbC1mb3JtX19ib2R5IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmphbC1mb3JtLS1jb250YWN0IC5qYWwtZm9ybV9faGVhZGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtZm9ybS0tY29udGFjdCAuamFsLWZvcm1fX2hlYWRlciBociB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMC4xMjVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjNjRjY2M5OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5qYWwtZm9ybS0tY29udGFjdCAuamFsLWZvcm1fX2hlYWRlciBociB7XG4gICAgICAgIHdpZHRoOiA4MCU7IH0gfVxuICAuamFsLWZvcm0tLWNvbnRhY3QgLmphbC1mb3JtX19oZWFkZXIgKyAuamFsLWZvcm1fX2JvZHkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZm9ybS0tY29udGFjdCAuamFsLWZvcm1fX2hlYWRlciArIC5qYWwtZm9ybV9fYm9keSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5qYWwtZm9ybS0tY29udGFjdCAuamFsLWZvcm1fX2hlYWRlciArIC5qYWwtZm9ybV9fYm9keSB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9IH1cbiAgLmphbC1mb3JtLS1jb250YWN0IC5qYWwtZm9ybV9faGVhZGluZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuamFsLWZvcm0tLWNvbnRhY3QgLmphbC1mb3JtX19oZWFkaW5nIC5qcy1maXJzdC13b3JkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuamFsLWZvcm0tLWNvbnRhY3QgLmphbC1mb3JtX19mb3JtIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5qYWwtZm9ybS0tY29udGFjdCAuamFsLWZvcm1fX3ByZS1zdWJtaXQgPiBmaWVsZHNldCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmYwZjI7XG4gICAgY29sb3I6ICMwNzFkNDk7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAgIC5qYWwtZm9ybS0tY29udGFjdCAuamFsLWZvcm1fX3ByZS1zdWJtaXQgPiBmaWVsZHNldCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMC43NXJlbTsgfSB9XG4gICAgLmphbC1mb3JtLS1jb250YWN0IC5qYWwtZm9ybV9fcHJlLXN1Ym1pdCA+IGZpZWxkc2V0OmZpcnN0LW9mLXR5cGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2ODY5MjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuamFsLWZvcm0tLWNvbnRhY3QgLmphbC1mb3JtX19wcmUtc3VibWl0ID4gZmllbGRzZXQ6Zmlyc3Qtb2YtdHlwZSAuZm9ybS1lcnJvciB7XG4gICAgICAgIGNvbG9yOiAjZjVkZGRhOyB9XG4gICAgLmphbC1mb3JtLS1jb250YWN0IC5qYWwtZm9ybV9fcHJlLXN1Ym1pdCA+IGZpZWxkc2V0Om5vdChbZGF0YS1wZXJzaXN0XSkge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGxpbmVhciwgdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTEsIDAuOTIsIDAuMDUsIDAuOTkpOyB9XG4gIC5qYWwtZm9ybS0tY29udGFjdCBsZWdlbmQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICBmb250LWZhbWlseTogXCJIdXJtZSBHZW9tZXRyaWMgU2FucyA0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuamFsLWZvcm0tLWNvbnRhY3QgZmllbGRzZXRbYXJpYS1oaWRkZW49J3RydWUnXSxcbiAgLmphbC1mb3JtLS1jb250YWN0IGxlZ2VuZFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuamFsLWZvcm0tLWNvbnRhY3QgZmllbGRzZXRbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThlbSk7IH1cbiAgLmphbC1mb3JtLS1jb250YWN0IGZpZWxkc2V0W2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIC5qYWwtZm9ybS0tY29udGFjdCBmaWVsZHNldFthcmlhLWhpZGRlbj0nZmFsc2UnXSArIFthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzOyB9XG4gICAgICAuamFsLWZvcm0tLWNvbnRhY3QgZmllbGRzZXRbYXJpYS1oaWRkZW49J2ZhbHNlJ10gKyBbYXJpYS1oaWRkZW49J2ZhbHNlJ10gKyBbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOyB9XG4gIC5qYWwtZm9ybS0tY29udGFjdCBbaWQ9J2pzLXByb3BlcnR5LXR5cGUnXVthcmlhLWhpZGRlbj0ndHJ1ZSddLFxuICAuamFsLWZvcm0tLWNvbnRhY3QgW2lkPSdqcy1wcm9qZWN0LXR5cGUnXVthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5qYWwtZm9ybS0tY29udGFjdCBbbmFtZT0nUG9zdGFsQ29kZSddIHtcbiAgICBtaW4td2lkdGg6IDEzLjc1cmVtOyB9XG4gIC5qYWwtZm9ybS0tY29udGFjdCBbdHlwZT0ndGV4dCddLFxuICAuamFsLWZvcm0tLWNvbnRhY3QgW3R5cGU9J3RlbCddLFxuICAuamFsLWZvcm0tLWNvbnRhY3QgW3R5cGU9J2VtYWlsJ10sXG4gIC5qYWwtZm9ybS0tY29udGFjdCBbdHlwZT0nc3VibWl0J10sXG4gIC5qYWwtZm9ybS0tY29udGFjdCBzZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuamFsLWZvcm0tLWNvbnRhY3QgW3R5cGU9J3RleHQnXTo6cGxhY2Vob2xkZXIsXG4gICAgLmphbC1mb3JtLS1jb250YWN0IFt0eXBlPSd0ZWwnXTo6cGxhY2Vob2xkZXIsXG4gICAgLmphbC1mb3JtLS1jb250YWN0IFt0eXBlPSdlbWFpbCddOjpwbGFjZWhvbGRlcixcbiAgICAuamFsLWZvcm0tLWNvbnRhY3QgW3R5cGU9J3N1Ym1pdCddOjpwbGFjZWhvbGRlcixcbiAgICAuamFsLWZvcm0tLWNvbnRhY3Qgc2VsZWN0OjpwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5qYWwtc29jaWFsLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5qYWwtc29jaWFsLWxpbmtzIGEge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5qYWwtc29jaWFsLWxpbmtzIHN2ZyB7XG4gICAgd2lkdGg6IDIuODEyNXJlbTtcbiAgICBoZWlnaHQ6IDIuODEyNXJlbTsgfVxuXG4uamFsLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUzZGI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMwNzFkNDk7XG4gIGZvbnQtZmFtaWx5OiBcIkh1cm1lIEdlb21ldHJpYyBTYW5zIDRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIC5qYWwtZm9vdGVyW2hyZWZdLFxuICAuamFsLWZvb3RlciBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgLmphbC1mb290ZXJbaHJlZl06aG92ZXIsXG4gICAgLmphbC1mb290ZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5qYWwtZm9vdGVyX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiA3Ni44NzVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1mb290ZXJfX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuamFsLWZvb3Rlcl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5qYWwtZm9vdGVyIGEge1xuICAgIHRyYW5zaXRpb246IDAuMnMgb3BhY2l0eSBsaW5lYXI7IH1cbiAgICAuamFsLWZvb3RlciBhOmhvdmVyLCAuamFsLWZvb3RlciBhOmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmphbC1mb290ZXJfX3dyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZm9vdGVyX193cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gICAgLmphbC1mb290ZXJfX3dyYXBwZXI6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgY29sb3I6ICMyMjI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5qYWwtZm9vdGVyX193cmFwcGVyOm50aC1jaGlsZCgyKVtocmVmXSxcbiAgICAgIC5qYWwtZm9vdGVyX193cmFwcGVyOm50aC1jaGlsZCgyKSBhIHtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAgICAgICAuamFsLWZvb3Rlcl9fd3JhcHBlcjpudGgtY2hpbGQoMilbaHJlZl06aG92ZXIsXG4gICAgICAgIC5qYWwtZm9vdGVyX193cmFwcGVyOm50aC1jaGlsZCgyKSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmphbC1mb290ZXJfX3dyYXBwZXI6bnRoLWNoaWxkKDIpOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTRiY2MyOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAgICAgLmphbC1mb290ZXJfX3dyYXBwZXI6bnRoLWNoaWxkKDIpOmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuamFsLWZvb3Rlcl9fYXdhcmRzLCAuamFsLWZvb3Rlcl9fbWVudXMsIC5qYWwtZm9vdGVyX19icmFuZCwgLmphbC1mb290ZXJfX2xvZ28sIC5qYWwtZm9vdGVyX19jcmVkaXQsIC5qYWwtZm9vdGVyX19zaXRlLWxpbmtzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZvb3Rlcl9fYXdhcmRzIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIC5qYWwtZm9vdGVyX19hd2FyZHMtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAgIC5qYWwtZm9vdGVyX19hd2FyZHMtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLmphbC1mb290ZXJfX2F3YXJkIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAgIC5qYWwtZm9vdGVyX19hd2FyZCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZvb3Rlcl9fbWVudXMge1xuICAgICAgb3JkZXI6IDM7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5qYWwtZm9vdGVyX19tZW51cyB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtZm9vdGVyX19tZW51cy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1mb290ZXJfX21lbnVzLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAuamFsLWZvb3Rlcl9fbWVudXMtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZm9vdGVyX19tZW51cy13cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5qYWwtZm9vdGVyX19tZW51cy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZm9vdGVyX19tZW51cy13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtZm9vdGVyX19tZW51IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWF4LXdpZHRoOiAxMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAgIC5qYWwtZm9vdGVyX19tZW51IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMy43NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZm9vdGVyX19tZW51IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmphbC1mb290ZXJfX21lbnUgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmphbC1mb290ZXJfX21lbnUgdWwgbGkge1xuICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAuamFsLWZvb3Rlcl9fbWVudSB1bCBhLFxuICAgICAgLmphbC1mb290ZXJfX21lbnUgdWwgLmJ1dHRvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAgICAgLmphbC1mb290ZXJfX21lbnUgdWwgaW5wdXQsXG4gICAgICAuamFsLWZvb3Rlcl9fbWVudSB1bCBzZWxlY3QsXG4gICAgICAuamFsLWZvb3Rlcl9fbWVudSB1bCBhLFxuICAgICAgLmphbC1mb290ZXJfX21lbnUgdWwgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmphbC1mb290ZXJfX21lbnUgdWwgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmphbC1mb290ZXJfX21lbnUtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNjRjY2M5O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuICAuamFsLWZvb3Rlcl9fbWVudS1saW5rLmphbC1mb290ZXJfX21lbnUtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZvb3Rlcl9fYnJhbmQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG9yZGVyOiAyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuamFsLWZvb3Rlcl9fYnJhbmQge1xuICAgICAgb3JkZXI6IDM7IH0gfVxuICAuamFsLWZvb3Rlcl9fYnJhbmQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1heC13aWR0aDogMTcuMDYyNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAuamFsLWZvb3Rlcl9fYnJhbmQtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtZm9vdGVyX19icmFuZC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIC5qYWwtZm9vdGVyX19sb2dvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZm9vdGVyX19sb2dvIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBvcmRlcjogMTsgfSB9XG4gICAgLmphbC1mb290ZXJfX2xvZ28gc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMS41NjI1cmVtO1xuICAgICAgbWF4LWhlaWdodDogMy44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAgIC5qYWwtZm9vdGVyX19sb2dvIHN2ZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNy4wNjI1cmVtO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDUuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5qYWwtZm9vdGVyX19zb2NpYWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjNzY4NjkyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAgIC5qYWwtZm9vdGVyX19zb2NpYWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgICAgLmphbC1mb290ZXJfX3NvY2lhbCB7XG4gICAgICAgIG9yZGVyOiAyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLWZvb3Rlcl9fY3JlZGl0LCAuamFsLWZvb3Rlcl9fc2l0ZS1saW5rcyB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmphbC1mb290ZXJfX2NyZWRpdCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuamFsLWZvb3Rlcl9fc2l0ZS1saW5rcyB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XG4gICAgLmphbC1mb290ZXJfX3NpdGUtbGlua3MgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmphbC1mb290ZXJfX3NpdGUtbGlua3MgdWwgbGkge1xuICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAuamFsLWZvb3Rlcl9fc2l0ZS1saW5rcyB1bCBhLFxuICAgICAgLmphbC1mb290ZXJfX3NpdGUtbGlua3MgdWwgLmJ1dHRvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAgICAgLmphbC1mb290ZXJfX3NpdGUtbGlua3MgdWwgaW5wdXQsXG4gICAgICAuamFsLWZvb3Rlcl9fc2l0ZS1saW5rcyB1bCBzZWxlY3QsXG4gICAgICAuamFsLWZvb3Rlcl9fc2l0ZS1saW5rcyB1bCBhLFxuICAgICAgLmphbC1mb290ZXJfX3NpdGUtbGlua3MgdWwgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmphbC1mb290ZXJfX3NpdGUtbGlua3MgdWwgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuamFsLWZvb3Rlcl9fc2l0ZS1saW5rcyBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5qYWwtZm9vdGVyX19zaXRlLWxpbmtzIGxpOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAgIC5qYWwtZm9vdGVyX19zaXRlLWxpbmtzIGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmphbC1mb290ZXJfX3NpdGUtbGlua3MgYSB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi5qYWwtc2l0ZW1hcF9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzYuODc1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtc2l0ZW1hcF9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1zaXRlbWFwX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uamFsLXNpdGVtYXBfX2JvZHkge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5qYWwtc2l0ZW1hcF9fYm9keSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmphbC1zaXRlbWFwX19ncmFuZGNoaWxkLW1lbnUge1xuICBtYXJnaW4tbGVmdDogMWVtOyB9XG5cbi5qYWwtc2l0ZW1hcF9fbGluayB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5qYWwtc2VhcmNoLXJlc3VsdHNfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc2Ljg3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLXNlYXJjaC1yZXN1bHRzX19jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLXNlYXJjaC1yZXN1bHRzX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uamFsLXNlYXJjaC1yZXN1bHRzX19ib2R5IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAuamFsLXNlYXJjaC1yZXN1bHRzX19ib2R5IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uamFsLXNlYXJjaC1yZXN1bHRzX19yZXN1bHQtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuLyogT3VyIE1peGlucywgbm8gRGVwZW5kYW5jaWVzICovXG5AaW1wb3J0ICdoZWxwZXJzL3V0aWxpdHktbWl4aW5zJztcblxuLyogQnJhbmQgQ29sb3VycyBhcyBWYXJzICovXG5AaW1wb3J0ICdjb2xvcnMnO1xuXG4vKipcbiAqICBDb3JlIGZvdW5kYXRpb25cbiAqL1xuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLyogVmVuZG9yICovXG5AaW1wb3J0ICdzbGljay5zY3NzJzsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBjbGVhbi1pbXBvcnQtcGF0aHNcbi8vIFNsaWNrLiBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2tlbndoZWVsZXIvc2xpY2svYmxvYi9tYXN0ZXIvc2xpY2svc2xpY2stdGhlbWUuc2Nzc1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiAnLi4vaW1nLyc7XG5AaW1wb3J0ICdzbGljay10aGVtZS5zY3NzJzsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBjbGVhbi1pbXBvcnQtcGF0aHNcblxuLy8gSGFtYnVyZ2VyLiBTZWUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnMvI3Nhc3NcbiRoYW1idXJnZXItcGFkZGluZy14OiAwO1xuJGhhbWJ1cmdlci1wYWRkaW5nLXk6IDE2cHggKiAwLjI1O1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzOiAwO1xuJGhhbWJ1cmdlci1sYXllci13aWR0aDogMTZweCAqIDI7XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodDogMTZweCAqIDAuMTI1O1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nOiAxNnB4ICogMC40NDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3I6ICRibGFjaztcbiRoYW1idXJnZXItdHlwZXM6IChhcnJvdy1sKTtcbkBpbXBvcnQgJ2hhbWJ1cmdlcnMnO1xuXG4vLyBmYW5jeWJveC4gc2VlIGh0dHA6Ly9mYW5jeWFwcHMuY29tL2ZhbmN5Ym94LzMvXG5AaW1wb3J0ICdqcXVlcnkuZmFuY3lib3gnO1xuXG4vKipcbiAqIEhlbHBlcnMgYW5kIEFkZGl0aW9uYWwgVHlwb2dyYXBoeVxuICovXG5AaW1wb3J0ICdoZWxwZXJzL3V0aWxpdHktY2xhc3Nlcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcblxuLyoqXG4gKiBFbGVtZW50c1xuICovXG5AaW1wb3J0ICdlbGVtZW50cy9idXR0b24nO1xuQGltcG9ydCAnZWxlbWVudHMvaW5wdXQnO1xuQGltcG9ydCAnZWxlbWVudHMvZGV2cGFnZXMnO1xuQGltcG9ydCAnZWxlbWVudHMvc2VsZWN0JztcbkBpbXBvcnQgJ2VsZW1lbnRzL3RleHRhcmVhJztcbkBpbXBvcnQgJ2VsZW1lbnRzL3JhbmdlLXNsaWRlcic7XG5AaW1wb3J0ICdlbGVtZW50cy9jaGVja2JveCc7XG5AaW1wb3J0ICdlbGVtZW50cy9jaGVja2JveC1ncm91cCc7XG5AaW1wb3J0ICdlbGVtZW50cy9sb2dvJztcbkBpbXBvcnQgJ2VsZW1lbnRzL2xvYWRpbmcnO1xuQGltcG9ydCAnZWxlbWVudHMvc3ltYm9sJztcblxuLyoqXG4gKiAgQ29tcG9uZW50c1xuICovXG5AaW1wb3J0ICdjb21wb25lbnRzL2Nhcm91c2VsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dyaWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZWFyY2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tYWluLW5hdic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3F1aWNrbGlua3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9kdWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZ2FsbGVyeSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ltYWdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFubmVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWFwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWFzdGhlYWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYXRod2F5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGxhbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpbHRlci1ncmlkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmlsdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWFwLWFuZC1mZWF0dXJlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL25leHQtc3RlcHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaWNvbi1saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmxvY2snO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RlcHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGVwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NvY2lhbC1saW5rcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvb3Rlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NpdGVtYXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0cyc7XG4iLCIvKipcbiogU3RyaW5nIFJlcGxhY2VcbiovXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICAgJHN0cmluZzogaW5zcGVjdCgkc3RyaW5nKTtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICAgIEBpZiAkaW5kZXgge1xuICAgICAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vKipcbiogU3RyaW5nIFNwbGl0XG4qL1xuQGZ1bmN0aW9uIHN0ci1zcGxpdCgkc3RyaW5nLCAkc2VwYXJhdG9yKSB7XG4gICAgLy8gZW1wdHkgYXJyYXkvbGlzdFxuICAgICRzcGxpdC1hcnI6ICgpO1xuICAgIC8vIGZpcnN0IGluZGV4IG9mIHNlcGFyYXRvciBpbiBzdHJpbmdcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VwYXJhdG9yKTtcbiAgICAvLyBsb29wIHRocm91Z2ggc3RyaW5nXG4gICAgQHdoaWxlICRpbmRleCAhPSBudWxsIHtcbiAgICAgICAgLy8gZ2V0IHRoZSBzdWJzdHJpbmcgZnJvbSB0aGUgZmlyc3QgY2hhcmFjdGVyIHRvIHRoZSBzZXBhcmF0b3JcbiAgICAgICAgJGl0ZW06IHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKTtcbiAgICAgICAgLy8gcHVzaCBpdGVtIHRvIGFycmF5XG4gICAgICAgICRzcGxpdC1hcnI6IGFwcGVuZCgkc3BsaXQtYXJyLCAkaXRlbSk7XG4gICAgICAgIC8vIHJlbW92ZSBpdGVtIGFuZCBzZXBhcmF0b3IgZnJvbSBzdHJpbmdcbiAgICAgICAgJHN0cmluZzogc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIDEpO1xuICAgICAgICAvLyBmaW5kIG5ldyBpbmRleCBvZiBzZXBhcmF0b3JcbiAgICAgICAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlcGFyYXRvcik7XG4gICAgfVxuICAgIC8vIGFkZCB0aGUgcmVtYWluaW5nIHN0cmluZyB0byBsaXN0ICh0aGUgbGFzdCBpdGVtKVxuICAgICRzcGxpdC1hcnI6IGFwcGVuZCgkc3BsaXQtYXJyLCAkc3RyaW5nKTtcblxuICAgIEByZXR1cm4gJHNwbGl0LWFycjtcbn1cblxuLyoqXG4qIEZvbnQgRmFjZTogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vam9uYXRoYW50bmVhbC9kMDQ2MGU1YzJkNWQ3ZjliYzVlNlxuKi9cbkBtaXhpbiBmb250LWZhY2UoJG5hbWUsICRwYXRoLCAkd2VpZ2h0OiBudWxsLCAkc3R5bGU6IG51bGwsICRleHRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG4gICAgJHNyYzogbnVsbDtcbiAgICAkZXh0bW9kczogKCBlb3Q6ICc/Jywgc3ZnOiAnIycgKyBzdHItcmVwbGFjZSgkbmFtZSwgJyAnLCAnXycpICk7XG4gICAgJGZvcm1hdHM6ICggb3RmOiAnb3BlbnR5cGUnLCB0dGY6ICd0cnVldHlwZScgKTtcblxuICAgIEBlYWNoICRleHQgaW4gJGV4dHMge1xuICAgICAgICAkZXh0bW9kOiBpZihtYXAtaGFzLWtleSgkZXh0bW9kcywgJGV4dCksICRleHQgKyBtYXAtZ2V0KCRleHRtb2RzLCAkZXh0KSwgJGV4dCk7XG4gICAgICAgICRmb3JtYXQ6IGlmKG1hcC1oYXMta2V5KCRmb3JtYXRzLCAkZXh0KSwgbWFwLWdldCgkZm9ybWF0cywgJGV4dCksICRleHQpO1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKHF1b3RlKCRwYXRoICsgJy4nICsgJGV4dG1vZCkpIGZvcm1hdChxdW90ZSgkZm9ybWF0KSksIGNvbW1hKTtcbiAgICB9XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgICAgIHNyYzogJHNyYztcbiAgICB9XG59XG5cbi8qKlxuKiBwc2V1ZG8gRWxlbWVudCBIZWxwZXJcbiovXG5AbWl4aW4gcHNldWRvKCRkaXNwbGF5OiBibG9jaywgJHBvczogYWJzb2x1dGUsICRjb250ZW50OiAnJywgJGZ1bGwtc2l6ZTogdHJ1ZSkge1xuICAgIHBvc2l0aW9uOiAkcG9zO1xuICAgIGRpc3BsYXk6ICRkaXNwbGF5O1xuICAgIGNvbnRlbnQ6ICRjb250ZW50O1xuXG4gICAgQGlmICRmdWxsLXNpemUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuXG4vKipcbiogUmVzZXRzIENvbXBvbmVudCBmb250c2l6ZSwgY29sb3IuXG4qL1xuQG1peGluIGNvbXBvbmVudC1yZXNldChcbiAgICAkY29sb3I6ICRibGFjayxcbiAgICAkZm9udC1zaXplOiAxcmVtLFxuICAgICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAkcmVzZXQtbGlua3M6IHRydWUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcblxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGlmICRyZXNldC1saW5rcyB7XG4gICAgICAgICZbaHJlZl0sXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuKiBTaW5nbGUgTGluZSB0cnVuY2F0aW9uXG4qL1xuQG1peGluIHRydW5jYXRlKCR0cnVuY2F0aW9uLWJvdW5kYXJ5OiBub25lKSB7XG4gICAgbWF4LXdpZHRoOiAkdHJ1bmNhdGlvbi1ib3VuZGFyeTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qKlxuKiBQcm9kdWNlcyBhIGdyb3VwIG9mIGNvbG9yIGNsYXNzZXMgYXQgdmFyaW91cyB0aW50cywgZ2l2ZW4gYSBoZXggY29kZVxuKi9cbkBtaXhpbiBjb2xvci1jbGFzc2VzKCRiYXNlLCAkbmFtZTogJ3ByaW1hcnknKSB7XG4gICAgJHNjYWxlczogKDgwJSwgNjAlLCA0MCUsIDIwJSk7XG5cbiAgICAuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZTtcbiAgICAgICAgQGVhY2ggJHNjYWxlIGluICRzY2FsZXMge1xuICAgICAgICAgICAgJi0tI3tzdHItcmVwbGFjZSgkc2NhbGUsICclJywgJycpfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYXNlLCAkd2hpdGUsICRzY2FsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuKiBHZW5lcmF0ZSBjbGFzc2VzIFticmVha3BvaW50XS1bcHJvcGVydHldLVt2YWx1ZV0uIFNlZSBIZWxwZXIgQ2xhc3NlcyBmb3IgdXNhZ2VcbiogZS5nLiAuc21hbGwtcHQtMnJlbVxuKi9cbkBtaXhpbiBtYWtlLXNwYWNlKCR2YWx1ZXMsICRwcmVmaXhlcywgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQtbmFtZSwgJGJyZWFrcG9pbnQtdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgICAgLy8gaWYgeHMgdmFsdWUgPSAwLCBzZXQgaXQgZ2xvYmFsIHdpdGhvdXQgbWVkaWEgcXVlcmllc1xuICAgICAgICBAaWYoJGJyZWFrcG9pbnQtdmFsdWUgPT0gMCkge1xuICAgICAgICAgICAgQGVhY2ggJGF0dHItc2hvcnQsICRhdHRyLWxvbmcgaW4gJHByZWZpeGVzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICAgICAgICAgICAgICAgIC4jeyRicmVha3BvaW50LW5hbWUgKyAnLScgKyAkYXR0ci1zaG9ydCArICctJyArIHN0ci1yZXBsYWNlKCR2YWx1ZSwgJy4nLCAnJyl9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JGF0dHItbG9uZ306ICN7JHZhbHVlfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7IC8vIGJyZWFrcG9pbnQgdmFsdWVzIHRoYXQgbm90IGVxdWFsIHRvIDBcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGF0dHItc2hvcnQsICRhdHRyLWxvbmcgaW4gJHByZWZpeGVzIHtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgLiN7JGJyZWFrcG9pbnQtbmFtZSArICctJyArICRhdHRyLXNob3J0ICsgJy0nICsgc3RyLXJlcGxhY2UoJHZhbHVlLCAnLicsICcnKX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGF0dHItbG9uZ306ICN7JHZhbHVlfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4qIENvbXB1dGVzIGEgQ1NTIGNhbGMgZnVuY3Rpb24gdGhhdCBiZXR3ZWVucyBhIHZhbHVlIGZyb21cbiogQSB0byBCIG92ZXIgdmlld3BvcnQtd2lkdGggQSB0byB2aWV3cG9ydC13aWR0aCBCLlxuKiBSZXF1aXJlcyBhIG1lZGlhIHF1ZXJ5IHRvIGNhcCB0aGUgdmFsdWUgYXQgQi5cbiovXG5AZnVuY3Rpb24gYmV0d2VlbigkdG8sICRmcm9tLCAkdG8td2lkdGgsICRmcm9tLXdpZHRoKSB7XG4gICAgJHNsb3BlOiAoJHRvIC0gJGZyb20pIC8gKCR0by13aWR0aCAtICRmcm9tLXdpZHRoKTtcbiAgICAkYmFzZTogJGZyb20gLSAkc2xvcGUgKiAkZnJvbS13aWR0aDtcbiAgICBAcmV0dXJuIGNhbGMoI3skYmFzZX0gKyAjezEwMHZ3ICogJHNsb3BlfSk7XG59XG5cbkBmdW5jdGlvbiByZW0tYmV0d2VlbigkdG8sICRmcm9tLCAkdG8td2lkdGgsICRmcm9tLXdpZHRoKSB7XG4gICAgJHNsb3BlOiAoc3RyaXAtdW5pdCgkdG8pIC0gc3RyaXAtdW5pdCgkZnJvbSkpIC8gKHJlbS1jYWxjKCR0by13aWR0aCkgLSByZW0tY2FsYygkZnJvbS13aWR0aCkpO1xuICAgICRiYXNlOiAkZnJvbSAtICRzbG9wZSAqIHJlbS1jYWxjKCRmcm9tLXdpZHRoKTtcbiAgICBAcmV0dXJuIGNhbGMoI3skYmFzZX0gKyAjezEwMHZ3ICogc3RyaXAtdW5pdCgkc2xvcGUpfSk7XG59XG5cbi8qKlxuKiBHZW5lcmF0ZXMgbXVsdGlsaW5lIGVsbGlwc2VkIHRleHRcbiovXG5cbi8vIERlcHJlY2F0ZWQgPiBQb2x5ZmlsbGluZ1xuLy8gc2Fzcy1saW50OmRpc2FibGUgbWl4aW4tbmFtZS1mb3JtYXRcbkBtaXhpbiBtdWx0aWxpbmVUZXh0V2l0aEVsbGlwc2lzICgkZm9udC1zaXplOiAxcmVtLCAkbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCwgJGxpbmVzLXRvLXNob3c6IDIpIHtcbiAgICBAaW5jbHVkZSBtdWx0aWxpbmUtdHJ1bmNhdGUgKCRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGxpbmVzLXRvLXNob3cpXG59XG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIG1peGluLW5hbWUtZm9ybWF0XG5cbkBtaXhpbiBtdWx0aWxpbmUtdHJ1bmNhdGUgKCRmb250LXNpemU6IDFyZW0sICRsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0LCAkbGluZXMtdG8tc2hvdzogMikge1xuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5vLXZlbmRvci1wcmVmaXhlcywgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIGhlaWdodDogJGZvbnQtc2l6ZSokbGluZS1oZWlnaHQqJGxpbmVzLXRvLXNob3c7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVzLXRvLXNob3c7XG59XG5cbi8qKlxuKiBSZW1vdmVzIG1vdXNlIGZvY3VzIHJpbmcgb24gZWxlbWVudHNcbiovXG5AbWl4aW4gcmVtb3ZlLW1vdXNlLWZvY3VzLXJpbmcoKSB7XG4gICAgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXSAmLFxuICAgIFtkYXRhLXdoYXRpbnRlbnQ9J3RvdWNoJ10gJiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuIiwiLy8gQ3VzdG9tIFNldHRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgdXJsKFwiLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC8zNmJmMjlcIik7XG5AaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzZjZGMzXCIpO1xuXG5AaW5jbHVkZSBmb250LWZhY2UoJ051bml0byBTYW5zJywgJy4uL2ZvbnRzL051bml0by1TYW5zLVJlZ3VsYXInLCA0MDAsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250LWZhY2UoJ051bml0byBTYW5zJywgJy4uL2ZvbnRzL051bml0by1TYW5zLUl0YWxpYycsIDQwMCwgaXRhbGljKTtcbkBpbmNsdWRlIGZvbnQtZmFjZSgnTnVuaXRvIFNhbnMnLCAnLi4vZm9udHMvTnVuaXRvLVNhbnMtQm9sZCcsIDcwMCwgbm9ybWFsKTtcblxuQGluY2x1ZGUgZm9udC1mYWNlKCdIdXJtZSBHZW9tZXRyaWMgU2FucyA0JywgJy4uL2ZvbnRzL0h1cm1lR2VvbWV0cmljU2FuczQtTGlnaHQnLCAzMDAsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250LWZhY2UoJ0h1cm1lIEdlb21ldHJpYyBTYW5zIDQnLCAnLi4vZm9udHMvSHVybWVHZW9tZXRyaWNTYW5zNC1SZWd1bGFyJywgNDAwLCBub3JtYWwpO1xuQGluY2x1ZGUgZm9udC1mYWNlKCdIdXJtZSBHZW9tZXRyaWMgU2FucyA0JywgJy4uL2ZvbnRzL0h1cm1lR2VvbWV0cmljU2FuczQtU2VtaUJvbGQnLCA1MDAsIG5vcm1hbCk7XG5cblxuJGphbGNvbi10cmFuc2l0aW9uLWVhc2Utb3V0OiBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7XG4kamFsY29uLWZpbHRlci1kcm9wLXNoYWRvdzogMCA0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4kamFsY29uLWJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXG4vLyBWZW5kb3IgU2V0dGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4vLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMzApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjc1O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkamFsY29uLWJsdWUsXG4gIHNlY29uZGFyeTogJGphbGNvbi10ZWFsLFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogJGphbGNvbi14bGlnaHQtZ3JheTtcbiRtZWRpdW0tZ3JheTogJGphbGNvbi1saWdodC1ncmF5O1xuJGRhcmstZ3JheTogJGphbGNvbi1ncmF5O1xuJGJsYWNrOiAkamFsY29uLWJsYWNrO1xuJHdoaXRlOiAjZmZmO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdOdW5pdG8gU2FucycsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA3MDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjMwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAxLjI1cmVtLFxuICBtZWRpdW06IDEuODc1cmVtLFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICdIdXJtZSBHZW9tZXRyaWMgU2FucyA0JywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGhlYWRlci1mb250LXdlaWdodDogMzAwO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMTI1O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogcmVtLWNhbGMoNDApLCAnZm9udC13ZWlnaHQnOiAzMDAsICdjb2xvcic6ICRwcmltYXJ5LWNvbG9yKSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDMyKSwgJ2ZvbnQtd2VpZ2h0JzogMzAwLCAnY29sb3InOiAkcHJpbWFyeS1jb2xvciksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiByZW0tY2FsYygyOCksICdmb250LXdlaWdodCc6IDMwMCwgJ2NvbG9yJzogJHByaW1hcnktY29sb3IpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogcmVtLWNhbGMoMjYpLCAnZm9udC13ZWlnaHQnOiA0MDAsICdjb2xvcic6ICRwcmltYXJ5LWNvbG9yKSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDI0KSwgJ2ZvbnQtd2VpZ2h0JzogNTAwLCAnY29sb3InOiAkcHJpbWFyeS1jb2xvciksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiByZW0tY2FsYygyMCksICdmb250LXdlaWdodCc6IDUwMCwgJ2NvbG9yJzogJHByaW1hcnktY29sb3IpLFxuICApLFxuICBsYXJnZTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMy41cmVtLCAnZm9udC13ZWlnaHQnOiAzMDAsICdjb2xvcic6ICRwcmltYXJ5LWNvbG9yKSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDM4KSwgJ2ZvbnQtd2VpZ2h0JzogMzAwLCAnY29sb3InOiAkcHJpbWFyeS1jb2xvciksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiByZW0tY2FsYygzMiksICdmb250LXdlaWdodCc6IDMwMCwgJ2NvbG9yJzogJHByaW1hcnktY29sb3IpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogcmVtLWNhbGMoMjgpLCAnZm9udC13ZWlnaHQnOiA0MDAsICdjb2xvcic6ICRwcmltYXJ5LWNvbG9yKSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDI0KSwgJ2ZvbnQtd2VpZ2h0JzogNTAwLCAnY29sb3InOiAkcHJpbWFyeS1jb2xvciksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiByZW0tY2FsYygyMCksICdmb250LXdlaWdodCc6IDUwMCwgJ2NvbG9yJzogJHByaW1hcnktY29sb3IpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkamFsY29uLWVnZy1zaGVsbDtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kY2l0ZS1jb2xvcjogJGJsYWNrO1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjEyNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDA7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMDtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtIDA7XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgMDtcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gLyAyIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiBjdXJyZW50Q29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjU3NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnIFxcYjcgJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMC42NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICR3aGl0ZTtcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjg3NWVtLFxuICBzbWFsbDogMWVtLFxuICBkZWZhdWx0OiAxLjEyNWVtLFxuICBsYXJnZTogMS40ZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAoKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDA7XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogNTAlO1xuJGNhbGxvdXQtYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAwO1xuJGNhcmQtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogMnJlbTtcbiRjYXJkLW1hcmdpbi1ib3R0b206IDA7XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IHJlbS1jYWxjKDIwKSAvIDIsXG4gIG1lZGl1bTogcmVtLWNhbGMoMzApIC8gMixcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiByZW0tY2FsYygyMCkgLyAxLjI1LFxuICBtZWRpdW06IHJlbS1jYWxjKDMwKSAvIDEuMjUsXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiBkYXJrZW4oJHdoaXRlLCAxNSUpO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiBmYWxzZTtcbiRkcmlsbGRvd24tcGFkZGluZzogcmVtLWNhbGMoMjEpIG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKTtcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJGphbGNvbi1ncmF5O1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkamFsY29uLWdyYXk7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJsYWNrO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6IGN1cnJlbnRDb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjgwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICRibGFjaztcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IDtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6ICRjYXJkLXBhZGRpbmc7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDIwKTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogMWVtO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IDFyZW07XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGJsYWNrO1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6IDUwMDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogcmVtLWNhbGMoOSkgMXJlbTtcbiRpbnB1dC1zaGFkb3c6IG5vbmU7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMC41ZW0gMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAwLjdlbSAwO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDMwMHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDMwMHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiAkamFsY29uLXRyYW5zaXRpb24tZWFzZS1vdXQ7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC44KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjgwKTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiRzbGlkZXItYmFja2dyb3VuZDogZGFya2VuKCRkYXJrLWdyYXksIDE1JSk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6IDUwJTtcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gICAgc21hbGw6IDEuMjVyZW0sXG4gICAgbWVkaXVtOiAxLjg3NXJlbSxcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gU2hvdWxkIE9ubHkgY29udGFpbiB2YXJzXG4kamFsY29uLWJsYWNrOiAjMjIyO1xuJGphbGNvbi1ibHVlOiAjMDcxZDQ5O1xuJGphbGNvbi10ZWFsOiAjNjRjY2M5O1xuJGphbGNvbi15ZWxsb3c6ICNmZmFlNjI7XG4kamFsY29uLWdyYXk6ICM3Njg2OTI7XG4kamFsY29uLWVnZy1zaGVsbDogI2E0YmNjMjtcbiRqYWxjb24tYmVpZ2U6ICNkMWNjYmQ7XG4kamFsY29uLWxpZ2h0LWJlaWdlOiAjZTZlM2RiO1xuJGphbGNvbi1saWdodC1ncmF5OiAjZWJmMGYyO1xuJGphbGNvbi14bGlnaHQtZ3JheTogI2Y1ZjhmOTtcbiRqYWxjb24td2hpdGU6ICNmNWY4Zjk7XG5cbiRzZWNvbmRhcnk6IHdoaXRlIDtcbiRwcmltYXJ5OiAjMjIyO1xuXG4kamFsY29uLWdyYWRpZW50LWdyYXk6ICBsaW5lYXItZ3JhZGllbnQoZGFya2VuKCRqYWxjb24tZ3JheSwgMSUpLCBsaWdodGVuKCRqYWxjb24tZ3JheSwgMyUpKTtcbiRqYWxjb24tZ3JhZGllbnQtZ3JheS1saWdodGVyOiBsaW5lYXItZ3JhZGllbnQoJGphbGNvbi1ncmF5LCBsaWdodGVuKCRqYWxjb24tZ3JheSwgMyUpKTtcbiRqYWxjb24tZ3JhZGllbnQtbGlnaHQtZ3JheTogIGxpbmVhci1ncmFkaWVudCgkamFsY29uLWxpZ2h0LWdyYXksIGxpZ2h0ZW4oJGphbGNvbi1saWdodC1ncmF5LCAxJSkpO1xuJGphbGNvbi1ncmFkaWVudC1saWdodGVuOiAgbGluZWFyLWdyYWRpZW50KGZhZGUtb3V0KCRqYWxjb24td2hpdGUsIDEpLCBmYWRlLW91dCgkamFsY29uLXdoaXRlLCAwLjkpKTtcbiRqYWxjb24tZ3JhZGllbnQtYmxhY2s6ICBsaW5lYXItZ3JhZGllbnQoZmFkZS1vdXQoJGphbGNvbi1ibGFjaywgMSksIGZhZGUtb3V0KCRqYWxjb24tYmxhY2ssIDAuNSkpO1xuXG4vLyBTb2NpYWwgSWNvbiBDb2xvdXJzXG4kdHdpdHRlcjogIzAwYWNlZDtcbiRmYWNlYm9vazogIzNiNTk5ODtcbiRnb29nbGVwbHVzOiAjZGQ0YjM5O1xuJHBpbnRlcmVzdDogI2NiMjAyNztcbiRsaW5rZWRpbjogIzAwN2JiNjtcbiR5b3V0dWJlOiAjYjAwO1xuJHZpbWVvOiAjMWFiN2VhO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG5cbi8vIFNldHRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItcGFkZGluZy15ICAgICAgICAgICAgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXdpZHRoICAgICAgICAgICAgICAgICAgICAgOiA0MHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogNnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICAgICAgICAgICAgICA6IDAuNyAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi1kdXJhdGlvbiAgICAgICA6IDAuMTVzICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuXG4vLyBUeXBlcyAoUmVtb3ZlIG9yIGNvbW1lbnQgb3V0IHdoYXQgeW91IGRvbuKAmXQgbmVlZClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXR5cGVzOiAoXG4gIDNkeCxcbiAgM2R4LXIsXG4gIDNkeSxcbiAgM2R5LXIsXG4gIDNkeHksXG4gIDNkeHktcixcbiAgYXJyb3csXG4gIGFycm93LXIsXG4gIGFycm93YWx0LFxuICBhcnJvd2FsdC1yLFxuICBhcnJvd3R1cm4sXG4gIGFycm93dHVybi1yLFxuICBib3JpbmcsXG4gIGNvbGxhcHNlLFxuICBjb2xsYXBzZS1yLFxuICBlbGFzdGljLFxuICBlbGFzdGljLXIsXG4gIGVtcGhhdGljLFxuICBlbXBoYXRpYy1yLFxuICBtaW51cyxcbiAgc2xpZGVyLFxuICBzbGlkZXItcixcbiAgc3BpbixcbiAgc3Bpbi1yLFxuICBzcHJpbmcsXG4gIHNwcmluZy1yLFxuICBzdGFuZCxcbiAgc3RhbmQtcixcbiAgc3F1ZWV6ZSxcbiAgdm9ydGV4LFxuICB2b3J0ZXgtclxuKSAhZGVmYXVsdDtcblxuLy8gQmFzZSBIYW1idXJnZXIgKFdlIG5lZWQgdGhpcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwiYmFzZVwiO1xuXG4vLyBIYW1idXJnZXIgdHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwidHlwZXMvM2R4XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHlcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHktclwiO1xuQGltcG9ydCBcInR5cGVzLzNkeHlcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd1wiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdFwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd3R1cm5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd3R1cm4tclwiO1xuQGltcG9ydCBcInR5cGVzL2JvcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlXCI7XG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2UtclwiO1xuQGltcG9ydCBcInR5cGVzL2VsYXN0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpY1wiO1xuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9taW51c1wiO1xuQGltcG9ydCBcInR5cGVzL3NsaWRlclwiO1xuQGltcG9ydCBcInR5cGVzL3NsaWRlci1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3BpblwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW4tclwiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3F1ZWV6ZVwiO1xuQGltcG9ydCBcInR5cGVzL3ZvcnRleFwiO1xuQGltcG9ydCBcInR5cGVzL3ZvcnRleC1yXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb29raW5nIHVwIGFkZGl0aW9uYWwgdHlwZXM6XG4vL1xuLy8gVGhlIFNhc3MgZm9yIGVhY2ggaGFtYnVyZ2VyIHR5cGUgc2hvdWxkIGJlIG5lc3RlZFxuLy8gaW5zaWRlIGFuIEBpZiBkaXJlY3RpdmUgdG8gY2hlY2sgd2hldGhlciBvciBub3Rcbi8vIGl0IGV4aXN0cyBpbiAkaGFtYnVyZ2VyLXR5cGVzIHNvIG9ubHkgdGhlIENTUyBmb3Jcbi8vIGluY2x1ZGVkIHR5cGVzIGFyZSBnZW5lcmF0ZWQuXG4vL1xuLy8gZS5nLiBoYW1idXJnZXJzL3R5cGVzL19uZXctdHlwZS5zY3NzXG4vL1xuLy8gQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIG5ldy10eXBlKSB7XG4vLyAgIC5oYW1idXJnZXItLW5ldy10eXBlIHtcbi8vICAgICAuLi5cbi8vICAgfVxuLy8gfVxuIiwiLy8gSGFtYnVyZ2VyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6ICRoYW1idXJnZXItcGFkZGluZy15ICRoYW1idXJnZXItcGFkZGluZy14O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG5cbiAgLy8gTm9ybWFsaXplICg8YnV0dG9uPilcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICY6aG92ZXIge1xuICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAzICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gLTI7XG5cbiAgJixcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB9XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm90dG9tOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cbn1cbiIsImJvZHkuY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtYWN0aXZlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5mYW5jeWJveC1pcy1oaWRkZW4ge1xuICBsZWZ0OiAtOTk5OXB4O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IC05OTk5cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZiwgJ0FwcGxlIENvbG9yIEVtb2ppJyxcciAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTkyOyB9XG5cbi5mYW5jeWJveC1jb250YWluZXIgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZhbmN5Ym94LW91dGVyLFxuLmZhbmN5Ym94LWlubmVyLFxuLmZhbmN5Ym94LWJnLFxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7IH1cblxuLmZhbmN5Ym94LW91dGVyIHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICMxZTFlMWU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NCwgMC43MSk7IH1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogLjg3O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXRvb2xiYXIsXG4uZmFuY3lib3gtY2FwdGlvbixcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICBkaXJlY3Rpb246IGx0cjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMsIHZpc2liaWxpdHkgMHMgbGluZWFyIC4yNXM7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogOTk5OTc7IH1cblxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC1zaG93LXRvb2xiYXIgLmZhbmN5Ym94LXRvb2xiYXIsXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLFxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMsIHZpc2liaWxpdHkgMHM7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmZhbmN5Ym94LWluZm9iYXIge1xuICBjb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiAxM3B4O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsZWZ0OiAwO1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgbWluLXdpZHRoOiA0NHB4O1xuICBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZmFuY3lib3gtdG9vbGJhciB7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7IH1cblxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDk5OTk0OyB9XG5cbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1zdGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXNsaWRlIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBwYWRkaW5nOiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5OTQ7IH1cblxuLmZhbmN5Ym94LXNsaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLS4yNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMDsgfVxuXG4uZmFuY3lib3gtaXMtc2xpZGluZyAuZmFuY3lib3gtc2xpZGUsXG4uZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxuLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgei1pbmRleDogOTk5OTU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiA0NHB4IDA7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWh0bWwge1xuICBwYWRkaW5nOiA2cHggNnB4IDAgNnB4OyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIHtcbiAgcGFkZGluZzogNDRweCA0NHB4IDA7IH1cblxuLmZhbmN5Ym94LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwIDZweCAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nOiAyNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY29udGVudCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC4xNCwgMSk7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuMTQsIDEpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTk1OyB9XG5cbi5mYW5jeWJveC1jYW4tem9vbU91dCAuZmFuY3lib3gtY29udGVudCB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4uZmFuY3lib3gtY2FuLXpvb21JbiAuZmFuY3lib3gtY29udGVudCB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1jb250ZW50IHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4uZmFuY3lib3gtaXMtZHJhZ2dpbmcgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciBbZGF0YS1zZWxlY3RhYmxlPSd0cnVlJ10ge1xuICBjdXJzb3I6IHRleHQ7IH1cblxuLmZhbmN5Ym94LWltYWdlLFxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgei1pbmRleDogMTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWh0bWwgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2U1ZTNkZjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNDRweCk7XG4gIG1hcmdpbi1ib3R0b206IDQ0cHg7IH1cblxuLmZhbmN5Ym94LXZpZGVvLFxuLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFuY3lib3gtaWZyYW1lIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYW5jeWJveC1lcnJvciBwIHtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBCdXR0b25zICovXG4uZmFuY3lib3gtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjYpO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMTBweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogNDRweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLFxuLmZhbmN5Ym94LWJ1dHRvbjp2aXNpdGVkLFxuLmZhbmN5Ym94LWJ1dHRvbjpsaW5rIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbjpmb2N1cyxcbi5mYW5jeWJveC1idXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLmRpc2FibGVkLFxuLmZhbmN5Ym94LWJ1dHRvbi5kaXNhYmxlZDpob3Zlcixcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdLFxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF06aG92ZXIge1xuICBjb2xvcjogIzg4ODtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5mYW5jeWJveC1idXR0b24gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHNoYXBlLXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uOyB9XG5cbi5mYW5jeWJveC1idXR0b24gc3ZnIHBhdGgge1xuICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gIHN0cm9rZS13aWR0aDogMzsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5IHN2ZyBwYXRoOm50aC1jaGlsZCgyKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2Ugc3ZnIHBhdGg6bnRoLWNoaWxkKDEpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5IHN2ZyBwYXRoLFxuLmZhbmN5Ym94LWJ1dHRvbi0tc2hhcmUgc3ZnIHBhdGgsXG4uZmFuY3lib3gtYnV0dG9uLS10aHVtYnMgc3ZnIHBhdGgge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tc2hhcmUgc3ZnIHBhdGgge1xuICBzdHJva2Utd2lkdGg6IDE7IH1cblxuLyogTmF2aWdhdGlvbiBhcnJvd3MgKi9cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICBoZWlnaHQ6IDM4cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDM4cHg7IH1cblxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMsIHZpc2liaWxpdHkgMHMsIGNvbG9yIC4yNXM7IH1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgbGVmdDogLTI1cHg7XG4gIHBhZGRpbmc6IDUwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjVweDsgfVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcbiAgbGVmdDogNnB4OyB9XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcbiAgcmlnaHQ6IDZweDsgfVxuXG4vKiBDbG9zZSBidXR0b24gb24gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgaHRtbCBjb250ZW50ICovXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogIzU1NTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA0NHB4O1xuICB6LWluZGV4OiAxMDsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGwgc3ZnIHtcbiAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IC44O1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlLXdpZHRoOiAxLjU7XG4gIHRyYW5zaXRpb246IHN0cm9rZSAuMXM7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIgc3ZnIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jbG9zZS1zbWFsbCxcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgY29sb3I6ICNjY2M7XG4gIHBhZGRpbmc6IDVweDtcbiAgcmlnaHQ6IC0xMnB4O1xuICB0b3A6IC00NHB4OyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHN2Zyxcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHN2Zyxcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciBzdmcge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmZhbmN5Ym94LWlzLXNjYWxpbmcgLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxuLmZhbmN5Ym94LWlzLXpvb21hYmxlLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQ2FwdGlvbiAqL1xuLmZhbmN5Ym94LWNhcHRpb24ge1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxlZnQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBhZGRpbmc6IDI1cHggNDRweCAyNXB4IDQ0cHg7XG4gIHJpZ2h0OiAwOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUV0Q0FRQUFBQmpCY0w3QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFIUkpSRUZVS00rVms4RU9nREFJUTB2ai8zK3hCdzhxSVpadWVGbklLQzkwTUNBSThEbHJrSEdlcXFHSVU2bFZpZ3JCdHBDV3FlUldvSEROcXMwRjdWTlZCVnhtSFJsdm9WcWphWWtkbkRJYWl2SDJIcVo1K29aajNKVXpXQitjT3o0RzQ4QmcrdHNKL3RxdTRkTEMvNFhiKzBHY0Y1QndCQzBBQTUzcUFBQUFBRWxGVGtTdVFtQ0MpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IC0yNXB4O1xuICB6LWluZGV4OiAtMTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbjo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDQ0cHg7XG4gIHRvcDogMDsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYTpsaW5rLFxuLmZhbmN5Ym94LWNhcHRpb24gYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNjY2M7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIExvYWRpbmcgaW5kaWNhdG9yICovXG4uZmFuY3lib3gtbG9hZGluZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogNnB4IHNvbGlkIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiA2MHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTMwcHggMCAwIC0zMHB4O1xuICBvcGFjaXR5OiAuNjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDYwcHg7XG4gIHotaW5kZXg6IDk5OTk5OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG4vKiBUcmFuc2l0aW9uIGVmZmVjdHMgKi9cbi5mYW5jeWJveC1hbmltYXRlZCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogc2xpZGUgKi9cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IGZhZGUgKi9cbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogem9vbS1pbi1vdXQgKi9cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuNSwgMS41LCAxLjUpOyB9XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAwLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDAuNSk7IH1cblxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiByb3RhdGUgKi9cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBjaXJjdWxhciAqL1xuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG5cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogdHViZSAqL1xuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoLTEwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KC0xMGRlZyk7IH1cblxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KDEwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoMTBkZWcpOyB9XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpOyB9XG5cbi8qIFNoYXJlICovXG4uZmFuY3lib3gtc2hhcmUge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1heC13aWR0aDogOTAlO1xuICBwYWRkaW5nOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZhbmN5Ym94LXNoYXJlIGgxIHtcbiAgY29sb3I6ICMyMjI7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwOyB9XG5cbi5mYW5jeWJveC1zaGFyZSBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwIDVweCAxMHB4IDVweDtcbiAgbWluLXdpZHRoOiAxMzBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246dmlzaXRlZCxcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOmxpbmsge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tZmIge1xuICBiYWNrZ3JvdW5kOiAjM2I1OTk4OyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1mYjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzNDRlODY7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0IHtcbiAgYmFja2dyb3VuZDogI2JkMDgxZDsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYWEwNzE5OyB9XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dyB7XG4gIGJhY2tncm91bmQ6ICMxZGExZjI7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXR3OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzBkOTVlODsgfVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcge1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDI1cHg7IH1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHBhdGgge1xuICBmaWxsOiAjZmZmOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9faW5wdXQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICM1ZDViNWI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFRodW1icyAqL1xuLmZhbmN5Ym94LXRodW1icyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBwYWRkaW5nOiAycHggMnB4IDRweCAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIxMnB4O1xuICB6LWluZGV4OiA5OTk5NTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXgge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC10aHVtYnMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgcmlnaHQ6IDIxMnB4OyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mYW5jeWJveC10aHVtYnMteCA+IHVsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgPiB1bDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogN3B4OyB9XG5cbi5mYW5jeWJveC10aHVtYnMteSA+IHVsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMteSA+IHVsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICMyYTJhMmE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDc1cHg7XG4gIG1hcmdpbjogMnB4O1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpO1xuICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gNHB4KTtcbiAgb3V0bGluZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmZhbmN5Ym94LXRodW1icy1sb2FkaW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaTpiZWZvcmUge1xuICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6ICcnO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgei1pbmRleDogOTk5OTE7IH1cblxuLmZhbmN5Ym94LXRodW1icyAuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICB3aWR0aDogMTEwcHg7IH1cbiAgLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC1pbm5lciB7XG4gICAgcmlnaHQ6IDExMHB4OyB9XG4gIC5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpOyB9IH1cbiIsIi8vIEEgbGF6eWxvYWRpbmcgc3R5bGVcbi5ibHVyLXVwIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZpbHRlcjogYmx1cig1cHgpO1xuICAgIHRyYW5zaXRpb246IGZpbHRlciA0MDBtcztcblxuICAgICYubGF6eWxvYWRlZCB7XG4gICAgICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICB9XG59XG5cbi8vIExheW91dCBoZWxwZXJcbi5wb3MtcmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIFNvbWUgZGVmYXVsdCBhbmltYXRpb25zIGFuZCBjbGFzc2VzXG4uc2xpZGUtYW5kLWZhZGUtaW4ge1xuICAgIEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2xpZGUoaW4sIHJpZ2h0LCAyZW0pLCBmYWRlKGluKSk7XG59XG5cbi5zbGlkZS1hbmQtZmFkZS1vdXQge1xuICAgIEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2xpZGUob3V0LCByaWdodCwgMmVtKSwgZmFkZShvdXQpKTtcbn1cblxuLmxpZnQtYW5kLWZhZGUtaW4ge1xuICAgIEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2xpZGUoaW4sIHVwLCAxZW0pLCBmYWRlKGluKSk7XG59XG5cbi5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3ZnLWljb24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMWVtO1xufVxuXG4vLyBDcmVhdGUgVXRpbGl0ZSBjbGFzc2VzIGZvciBlYWNoIGJyZWFrcG9pbnQsIGZvciBlYWNoIHZhbHVlLCBmb3IgZWFjaCBwcm9wZXJ0eSBkZWZpbmVkIGluIHRoZSBwcmVmaXggYXJyYXlcbiRzcGFjZS12YWx1ZXM6ICggMCwgMC4yNXJlbSwgMC41cmVtLCAwLjc1cmVtLCAxcmVtLCAycmVtLCAzcmVtLCA0cmVtLCA4cmVtLCApICFkZWZhdWx0O1xuJHNwYWNlLXByZWZpeGVzOiAoIHA6IHBhZGRpbmcsIHB0OiBwYWRkaW5nLXRvcCwgcGI6IHBhZGRpbmctYm90dG9tLCBtOiBtYXJnaW4sIG10OiBtYXJnaW4tdG9wLCBtYjogbWFyZ2luLWJvdHRvbSwgbXI6IG1hcmdpbi1yaWdodCwgbWw6IG1hcmdpbi1sZWZ0LCApICFkZWZhdWx0O1xuQGluY2x1ZGUgbWFrZS1zcGFjZSgkc3BhY2UtdmFsdWVzLCAkc3BhY2UtcHJlZml4ZXMsICRicmVha3BvaW50cyk7XG4iLCIvKiBGb3VuZGFpdG9uIGZvcmNlcyBhY3R1YWwgZm9udCB2YWx1ZXMgKi9cbkBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuXG4gICAgICAgICAgICAjeyRoZWFkZXJ9LFxuICAgICAgICAgICAgLiN7JGhlYWRlcn0sXG4gICAgICAgICAgICAlI3skaGVhZGVyfSB7XG4gICAgICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogbWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgICRmb250LWNvbG9yLXRlbXA6IG1hcC1nZXQoJGhlYWRlci1kZWZzLCBjb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC10ZW1wOiBtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC13ZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC10ZW1wO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvbnQtY29sb3ItdGVtcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBGb3VuZGFpdG9uIGZvcmNlcyByZW0tY2FsYyBvbiBhbGwgaGVhZGluZ3MgbWFyZ2luIGJvdHRvbSB2YWx1ZXMgKi9cbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogYWRqYWNlbnQgSGVhZGluZ3MqL1xuaDMgKyBoNCxcbmgzICsgaDUsXG5oMiArIGg0LFxuaDMgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuZHQge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxubGVnZW5kIHtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA0LjJlbTtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDAuODc1O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNWVtO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHBzZXVkbygpO1xuICAgICAgICB3aWR0aDogMy4yZW07XG4gICAgICAgIGhlaWdodDogMy4yZW07XG4gICAgICAgIG1hcmdpbjogMC41ZW0gMWVtIDAuNWVtIDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2ZXJzaW9uPVwiMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIlM0UlM0NwYXRoIGZpbGw9XCIjeyRzZWNvbmRhcnktY29sb3J9XCIgZD1cIk0wIDR2MjRsMTItMTJWNHptMjAgMHYyNGwxMi0xMlY0elwiLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FsbG91dCB7XG4gICAgJi52YWxpZGF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZShnZXQtY29sb3IoYWxlcnQpKTtcbiAgICB9XG5cbiAgICAmLmluZm8ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKGdldC1jb2xvcihhbGVydCkpO1xuICAgIH1cblxuICAgICYuZ29vZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoZ2V0LWNvbG9yKHN1Y2Nlc3MpKTtcbiAgICB9XG5cbiAgICAmLmJhZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoZ2V0LWNvbG9yKGFsZXJ0KSk7XG4gICAgfVxufVxuIiwiQG1peGluIGphbC1idXR0b24tc3R5bGUoJHN0eWxlOiBwcmltYXJ5KSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRzdHlsZTogaG9sbG93LCAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRzdHlsZSA9PSAnd2hpdGUnIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRidXR0b24tYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCR3aGl0ZSwgMC45OCk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfSBAZWxzZWlmICRzdHlsZSA9PSBjdXJyZW50Q29sb3Ige1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRidXR0b24tYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCRibGFjaywgMC45OCk7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTkpIHRyYW5zbGF0ZVkoMXB4KTtcbiAgICB9XG59O1xuXG4uamFsLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgamFsLWJ1dHRvbi1zdHlsZTtcbiAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwMCk7XG5cbiAgICBzdmcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG5cbiAgICAmLS13aGl0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGphbC1idXR0b24tc3R5bGUoJ3doaXRlJyk7XG4gICAgfVxuXG4gICAgJi0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kKHRydWUpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgICYtLWV4cGFuZC1mb3Itc21hbGwtb25seSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQodHJ1ZSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbWluLXdpZHRoIHtcbiAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygyNjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uby1taW4td2lkdGgge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxhcmdlIHtcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGxhcmdlKTtcbiAgICB9XG5cbiAgICAmLS1zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBzbWFsbCk7XG4gICAgfVxufVxuIiwiLmphbC1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnVzZWQge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJGdyZXk6ICM5ZjlmOWY7XG5cblxuLmN1c3RvbUZvbnQge1xuICAgIGZvbnQtZmFtaWx5OiAnQ3VzdG9tRm9udCcsICRoZWFkZXItZm9udC1mYW1pbHkgIWltcG9ydGFudDtcbn1cbnNlY3Rpb24uc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNjBweCAwIDQwcHg7XG59XG5cbi5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiA4NSU7XG5cbn1cblxuLm1iLTM1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuLm10LTUwIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuLm1yLTIwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5mbGV4LWgxMDB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5oZWFkaW5nLXVuZGVybGluZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGphbGNvbi10ZWFsO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4udGV4dC1zbSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4udGV4dC1tZCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxufVxuXG5cbi50ZXh0LWxnIHtcbiAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB9XG59XG5cbi50ZXh0LXhsIHtcbiAgICBmb250LXNpemU6IDM0cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG59XG5cbi50ZXh0LXh4bCB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG59XG5cbi5ncmV5LXRleHQge1xuICAgIGNvbG9yOiAkZ3JleSAhaW1wb3J0YW50O1xufVxuXG4ucDQwIHtcbiAgICBwYWRkaW5nOiA0MHB4O1xufVxuXG4uZnVsbHNjcmVlbiB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwdnc7XG59XG5cbi5oaWRkZW4tbGctZG93biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmhpZGRlbi1sZy11cCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmhpZGRlbi1tZC1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5oaWRkZW4tNzUwLWRvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5oaWRkZW4tNzUwLXVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5jZW50ZXItaW5saW5lIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNjBweCAwIDQwcHg7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4udGhlbWVkLXRpdGxlIHtcbiAgICAuTGlnaHQge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgLkRhcmsge1xuICAgICAgICBjb2xvcjogIzIyMlxuICAgIH1cbn1cblxuLy9iYW5uZXJcbi5sb2dvIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MHB4O1xuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdG9wOjIwcHg7XG4gICAgfVxufVxuXG4uaG9tZXBhZ2UtYmFubmVyIC5ob21lLWJhbm5lciAuaW5uZXIge1xuICAgIG1heC1oZWlnaHQ6IDg5MHB4O1xuICAgIG1pbi1oZWlnaHQ6NTUwcHg7XG59XG5cbi5ob21lLWJhbm5lciB7XG4gICAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudCBuby1yZXBlYXQgc2Nyb2xsIGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcbiAgICB3aWR0aDogMTAwdnc7XG5cbiAgICAuaW5uZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoODB2aCAtIDIwMHB4KTtcbiAgICAgICAgJi5mdWxsc2l6ZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMDBweCk7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OjU1MHB4O1xuICAgICAgICB9XG4gICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgJi5mdWxsc2l6ZXtoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7fVxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgJi5mdWxsc2l6ZXtoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7fVxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgICAgICYuZnVsbHNpemV7aGVpZ2h0OiBjYWxjKDEwMHZoKTt9XG4gICAgICAgIH1cblxuXG5cblxuXG4gICAgICAgIC5oZXJvLXRpdGxlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLkxpZ2h0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5EYXJrIHtcbiAgICAgICAgICAgICAgICAvLyBjb2xvcjogJGphbGNvbi1ibGFjaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5QcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5TZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ3JhZGllbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDExMHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDAsMCwwKSAwJSwkc2Vjb25kYXJ5IDEwMCUpO1xufVxuXG4uejEwMCB7XG4gICAgei1pbmRleDogMTAwO1xufVxuXG5cblxuLmJhbm5lci1jYXJvdXNlbCB7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2OTlweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIH1cbiAgICB6LWluZGV4OiAxMDtcblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiAxMDBweDtcbiAgICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAgIGJ1dHRvbntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG5cblxuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50IDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cblxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLnRpdGxlLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDUwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6MTVweDtcbiAgICAgICAgLnRpdGxlLWNvbnRlbnQgeyAgICAgICBcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7ICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjk5cHgpIHtcblxuICAgIHotaW5kZXg6IDk5OTtcbiAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsLjgpIDElLCB3aGl0ZSAyMCUpO1xuXG4gICAgfVxufVxuLm1hcmdpbi1hZGp1c3RtZW50IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjk5cHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzAwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjAwcHg7XG4gICAgfVxufVxuXG4vL0hvbWUgcGFnZVxuLnBhdGh3YXktd3JhcHBlciB7XG5cbiAgICAucGF0aHdheS1jdGEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgODBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICAkamFsY29uLXRlYWw7XG4gICAgfVxuXG4gICAgLnBhdGh3YXktYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRqYWxjb24tdGVhbDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDIwcHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkamFsY29uLXRlYWw7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAucGF0aHdheS1jdGEge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG5cbiAgICAgICAgICAgIC5wYXRod2F5LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uc2tld2VkLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNzBkZWcsICRkYXJrLWdyYXksICRkYXJrLWdyYXkgNTAlLCAkamFsY29uLWxpZ2h0LWJlaWdlIDUwJSk7XG59XG5cbi8vb3VyIGhvbWVzIGVsZW1lbnRcbi5vdXItaG9tZXMge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGltZyB7XG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyguNyk7XG4gICAgfVxuICAgIC5vdXItaG9tZXMtYmFyIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbjowIDAgMjBweCA7XG4gICAgICAgIH1cblxuXG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAub3VyLWhvbWVzLWJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRqYWxjb24tZWdnLXNoZWxsLC41KTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLmhvbWVzLXBhbmVsIHtcblxuICAgIGhyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGphbGNvbi10ZWFsO1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgIH1cblxuICAgIC5vdXItaG9tZXMtaGVhZGluZ3tcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGphbGNvbi1lZ2ctc2hlbGw7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLm91ci1ob21lcy1kZXZlbG9wbWVudHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5kZXZlbG9wbWVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHggMTAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRqYWxjb24tYmVpZ2U7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OjEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYm90dG9tOiA0MHB4O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgIC5kZXZlbG9wbWVudCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICYuY29sdW1ucy0zIHtcbiAgICAgICAgICAgIC5kZXZlbG9wbWVudCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkwcHgpIHtcbiAgICAgICAgJi5jb2x1bW5zLTMge1xuICAgICAgICAgICAgLmRldmVsb3BtZW50IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzJTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMzJTtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzQlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cblxuICAgIH1cbn1cblxuLy9CcmFuZFN0YXRlbWVudFxuLnF1b3RlLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIHdpZHRoOiA4NSU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIC5xdW90ZS1jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjYwcHg7XG5cbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgdG9wOjBweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIC5xdW90ZS1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDowcHg7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOjA7bGVmdDowO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uamFsLWVsZW1lbnQtZWxlbWVudGJyYW5kc3RhdGVtZW50IHtcbiAgICBzZWN0aW9uLnNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIC5jZW50ZXItaW5saW5lIHtcbiAgICAgICAgICAgIHBhZGRpbmc6NjBweCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vYnV0dG9uc1xuLmJ1dHRvbi1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDUwcHg7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5uZXh0LXNlY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYW5pbWF0aW9uOiBib3VuY2UgM3MgaW5maW5pdGU7XG4gICAgICAgIHotaW5kZXg6OTk5O1xuXG4gICAgICAgICYud2hpdGUge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG4gICAgMjAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTIwcHgpO1xuICAgIH1cbiAgICA2MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAyMHB4KTtcbiAgICB9XG4gICAgODAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgfVxufVxuXG4uTGlnaHQtYnV0dG9uLCAuRGFyay1idXR0b24sIC5QcmltYXJ5LWJ1dHRvbiwgLlNlY29uZGFyeS1idXR0b24ge1xuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDRweCAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDAgMDtcbn1cblxuLkRhcmstYnV0dG9uLCAuTGlnaHQtYmFubmVyLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cbi5MaWdodC1idXR0b24sIC5EYXJrLWJhbm5lci1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjMjIyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBjb2xvcjogIzIyMjtcbiAgICB9XG59XG5cbi5iZy1TZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG59XG5cbi5iZy1QcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkamFsY29uLWJsdWU7XG59XG5cbi5iZy1EYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xufVxuLmJnLUxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkamFsY29uLWxpZ2h0LWJlaWdlO1xufVxuXG4ud2hpdGUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLndoaXRlLWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVcbn1cblxuLy90eXBvbG9neSBlbGVtZW50XG4udHlwb2xvZ3ktaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi50eXBvbG9neS13cmFwcGVyIHtcbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudHlwb2xvZ3ktY29weSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAudHlwb2xvZ3ktY2Fyb3VzZWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NyU7XG4gICAgICAgIH1cbiAgICAgICAgLnR5cG9sb2d5LWNvcHkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLnR5cG9sb2d5LWNhcm91c2VsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuamFsLWNhcm91c2VsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICB9XG5cbiAgICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cblxuICAgIC5qYWwtY2Fyb3VzZWxfX3ByZXYge1xuICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgd2lkdGg6IC41NWVtO1xuICAgICAgICBoZWlnaHQ6IC41NWVtO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNTVlbTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5qYWwtY2Fyb3VzZWxfX25leHQge1xuICAgICAgICByaWdodDogLTE1cHg7XG4gICAgICAgIHdpZHRoOiAuNTVlbTtcbiAgICAgICAgaGVpZ2h0OiAuNTVlbTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjU1ZW07XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2NhdGlvbi13cmFwcGVyIHtcblxuICAgIC5sb2NhdGlvbi1jb3B5IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAubG9jYXRpb24taW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2NhdGlvbi1jb3B5IHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG4vL2ltYWdlIGxvY2F0aW9uIGNsYXNzZXNcblxuLmltYWdlLXdyYXBwZXIge1xuICAgIC50b3Age1xuICAgICAgICAmLnBvc2l0aW9uLUxlZnQge1xuICAgICAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJi5wb3NpdGlvbi1SaWdodCB7XG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ib3R0b20ge1xuICAgICAgICAmLnBvc2l0aW9uLUxlZnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLnBvc2l0aW9uLVJpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnRvcCB7XG4gICAgICAgICAgICAmLnBvc2l0aW9uLUxlZnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wb3NpdGlvbi1SaWdodCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYm90dG9tIHtcbiAgICAgICAgICAgICYucG9zaXRpb24tTGVmdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucG9zaXRpb24tUmlnaHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy9jb2x1bW4gbGF5b3V0IHN0eWxlcyBmb3IgdGhyZWUgY29sdW1uIGVsZW1lbnQgYW5kIGNvbnRhY3QgZm9ybSBlbGVtZW50XG4uY29sdW1uLWhvbGRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAmLmFsaWduLXRvcCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5jb2x1bW4taGFsZiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbHVtbi10d28tdGhpcmRzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAuaW1hZ2UtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NTBweCApIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIC5jb2x1bW4tdGhpcmQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1uLXR3by10aGlyZHMge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1uLWhhbGYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmphbC1lbGVtZW50LWVsZW1lbnR0aHJlZWNvbHVtbnMge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAuZnVsbHNjcmVlbiB7aGVpZ2h0OmF1dG99XG4gICAgICAgIC5jb2x1bW4taG9sZGVyIHtcblxuICAgICAgICAgICAgLmNvbHVtbi10d28tdGhpcmRzIHtcbiAgICAgICAgICAgICAgICBvcmRlcjoxIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIC5pbWFnZS1jb2wge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OjIwMHB4O1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi0zMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29sdW1uLXRoaXJkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjoyIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy9jb250YWN0IGZvcm0gZWxlbWVudFxuXG4uY29udGFjdC1mb3JtIHtcbiAgICAvLyBkaXNwbGF5OiBub25lO1xuXG5cbiAgICAjRm9ybV9Ib21lc0NvbnRhY3RGb3JtX1RpdGxlX0hvbGRlciB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaG9tZXMtY29udGFjdC1mb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAuamFsY29uLWZvcm0tZmllbGQge1xuICAgICAgICAgICAgLmphbC1zZWxlY3Qge1xuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIyMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAjRm9ybV9Ib21lc0NvbnRhY3RGb3JtX1RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmphbC1pbnB1dCB7XG5cbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZmxleDoxO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuQWN0aW9ucyB7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNjVlbSAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFjdC1yb3ctZmxleCB7XG4gICAgICAgICAgICAuZmllbGQtVGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hbWUtZmllbGRzIHtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgICAgIC5maWVsZC1GaXJzdG5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5maWVsZC1MYXN0bmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6ZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFjdC10aXRsZSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFjdC1hZ2Uge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuY29udGFjdC1pbnB1dC1sZWFkLXNvdXJjZSB7ZmxleDoxO31cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIGlucHV0LmNvbnRhY3QtaW5wdXRbbmFtZT1cImZpcnN0bmFtZVwiXSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOmF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgJi5saWdodC1iZyB7XG4gICAgICAgIC8vIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgLmhvbWVzLWNvbnRhY3QtZm9ybSB7XG4gICAgICAgICAgICAuamFsY29uLWZvcm0tZmllbGQge1xuICAgICAgICAgICAgICAgIC5qYWwtc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkamFsY29uLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGphbGNvbi1ncmF5O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkamFsY29uLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICNGb3JtX0hvbWVzQ29udGFjdEZvcm1fVGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkamFsY29uLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkamFsY29uLWJsYWNrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGphbGNvbi1ncmF5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLkFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkamFsY29uLXRlYWw7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuODVlbSAyLjVlbTtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tY29udGVudCB7XG4gICAgLmhlYWRpbmctdW5kZXJsaW5lIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbn1cblxuXG4uc2VsZWN0LWhvbGRlciB7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5zZWxlY3QtaG91c2UtdHlwZSB7XG4gICAgICAgIHBhZGRpbmc6MTBweCA0MHB4IDEwcHggMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS4xO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OjY1cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI1MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjUwcHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgfVxufVxuXG5cbi5mb3JtLWN1c3RvbS1jaGVja2JveHtcbiAgICAuc2VsZWN0LWhvdXNlLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZzoxMHB4IDQwcHggMTBweCAyMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MS4xO1xuICAgICAgICB9XG5cbiAgICAuY2hlY2tib3gtaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIC5jaGVja2JveC1jdXN0b20ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMycgaGVpZ2h0PScxMCcgdmlld0JveD0nMCAwIDEzIDEwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTQuMzQwMzUgNy45MjI5MUwxLjUyNjU0IDUuMDk5MDVMMC41NjgzNTkgNi4wNTM4OEw0LjM0MDM1IDkuODM5MzRMMTIuNDM3NiAxLjcxMzEzTDExLjQ4NjIgMC43NTgzMDFMNC4zNDAzNSA3LjkyMjkxWicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkICMyMjI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja2JveC1jdXN0b20ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAgc2NhbGUoMSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICBzY2FsZSgxKTtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICBsYWJlbC5jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbn1cblxuXG5cbi5qYWwtZWxlbWVudC1lbGVtZW50Y29udGFjdGZvcm0ge1xuICAgIC5jb250YWN0LWxpc3QtaXRlbXMge1xuICAgICAgICBoMixoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6J0N1c3RvbUZvbnQnLHNhbnMtc2VyaWY7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTMnIGhlaWdodD0nMTAnIHZpZXdCb3g9JzAgMCAxMyAxMCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J000LjM0MDM1IDcuOTIyOTFMMS41MjY1NCA1LjA5OTA1TDAuNTY4MzU5IDYuMDUzODhMNC4zNDAzNSA5LjgzOTM0TDEyLjQzNzYgMS43MTMxM0wxMS40ODYyIDAuNzU4MzAxTDQuMzQwMzUgNy45MjI5MVonIGZpbGw9J3doaXRlJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXR7XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94LCBDaHJvbWUsIE9wZXJhICovXG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gICAgICAgIH1cbiAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIE1pY3Jvc29mdCBFZGdlICovXG4gICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYmctUHJpbWFyeSB7XG4gICAgICAgIC5jb250YWN0LWxpc3QtaXRlbXMge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgICAgICAgICAgIC5jb250YWN0LXJvdy1mbGV4IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dC5jb250YWN0LWlucHV0W25hbWU9XCJmaXJzdG5hbWVcIl0ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6YXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDowIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5wdXQuY29udGFjdC1pbnB1dFtuYW1lPVwibGFzdG5hbWVcIl0ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4uYmctUHJpbWFyeSB7XG4gICAgLmphbC1zZWxlY3Qgc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHdoaXRlJz48L3BvbHlnb24+PC9zdmc+XCIpIWltcG9ydGFudFxuICAgIH1cbn1cblxuLmphbC1lbGVtZW50LWVsZW1lbnRvdXJob21lcyB7XG4gICAgc2VjdGlvbi5zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzowO1xuICAgIH1cbiAgICAub3VyLWhvbWVzLWltYWdlIHtcbiAgICAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG5cbiAgICAgICAgbWluLWhlaWdodDogMzgwcHg7XG4gICAgICAgfVxuICAgIH1cbiB9XG5cblxuIiwiLmphbC1zZWxlY3Qge1xuICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxXCIgdmlld0JveD1cIjAgMCAxNSA4XCIlM0UlM0NwYXRoIGZpbGw9XCIlMjMyMjJcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04IDhMMCAwaDE1elwiLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygxMikgcmVtLWNhbGMoNik7XG4gICAgfVxuXG4gICAgLmphbC1maWx0ZXIgJixcbiAgICAuamFsLWZvcm0tLWNvbnRhY3QgJiB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0td2hpdGUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjFcIiB2aWV3Qm94PVwiMCAwIDE1IDhcIiUzRSUzQ3BhdGggZmlsbD1cIiUyM2Y1ZjhmOVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTggOEwwIDBoMTV6XCIvJTNFJTNDL3N2ZyUzRScpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG9wdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmphbC10ZXh0YXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19oZWxwLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgZW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cblxuICAgICAgICAudXNlZCArICYge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5qYWwtcmFuZ2Utc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICAgIGN1cnNvcjogdGV4dDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNzVlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgIH1cblxuICAgICZfX3VpIHtcbiAgICAgICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgICAgICAgQGluY2x1ZGUgcmVtb3ZlLW1vdXNlLWZvY3VzLXJpbmc7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuXG4gICAgfVxuXG4gICAgJl9faGFuZGxlIHtcbiAgICAgICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYyg1KSBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6ICRqYWxjb24tYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmX19maWxsIHtcbiAgICAgICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuICAgIH1cblxuICAgICZfX3ZhbHVlcyB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuamFsLWNoZWNrYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICAgIFxuICAgICZfX2lucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41ZW07XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjMsIDEpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgJiN7Jn0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZXBsYWNlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMS41ZW07XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjMsIDEpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgOmhvdmVyID4gJixcbiAgICAgICAgOmZvY3VzICsgbGFiZWwgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBmYWRlLW91dCgkc2Vjb25kYXJ5LWNvbG9yLCAwLjkpO1xuICAgICAgICB9XG5cbiAgICAgICAgOmNoZWNrZWQgKyBsYWJlbCAmIHtcbiAgICAgICAgICAgIGJvcmRlcjogMC43NWVtIHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICBhbmltYXRpb246IHNocmluay1ib3VuY2UgMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMywgMSk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG8oJGZ1bGwtc2l6ZTogZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTEpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0wLjI1ZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAuNWVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IGNoZWNrYm94LWNoZWNrIDEyNW1zIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjMsIDEpIGZvcndhcmRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBzaHJpbmstYm91bmNlIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDMzJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgY2hlY2tib3gtY2hlY2sge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAsIDApO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgMzMlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMCwgMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAgdHJhbnNsYXRlM2QoMCwgLTAuNWVtLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDEsIDEpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5qYWwtY2hlY2tib3gtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgbWlkZGxlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICAgIH1cblxuICAgID4gbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcblxuICAgICAgICAuamFsLWZvcm0gJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24sXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IHNocmluaywgJGd1dHRlcnM6IDApO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNjI1ZW07XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cCgnLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwnLCAgMjBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgamFsLWJ1dHRvbi1zdHlsZSgpO1xuICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMS40MjVlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgOmZvY3VzICsgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZW1vdmUtbW91c2UtZm9jdXMtcmluZztcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCRidXR0b24tYmFja2dyb3VuZCwgMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIDpjaGVja2VkICsgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnV0dG9uLWJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA6ZGlzYWJsZWQgKyAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wb3N0LXN1Ym1pdC1tZXNzYWdlIHtcbiAgICAgICAgcGFkZGluZzogJGNhcmQtcGFkZGluZztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmLS1jZW50ZXJlZCB7XG4gICAgICAgIC5qYWwtY2hlY2tib3gtZ3JvdXBfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIHN0cmV0Y2gpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0td2hpdGUge1xuICAgICAgICAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBqYWwtYnV0dG9uLXN0eWxlKCd3aGl0ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgOmNoZWNrZWQgKyAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnV0dG9uLWJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jb25kZW5zZWQge1xuICAgICAgICAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG5cbiAgICAgICAgICAgIH4gLmphbC1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3BhY2VkIHtcbiAgICAgICAgLmphbC1jaGVja2JveC1ncm91cF9fd3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuamFsLWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmphbC1sb2FkaW5nIHtcbiAgICB3aWR0aDogcmVtLWNhbGMoNzApO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg0KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHN0cmV0Y2hkZWxheTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJl9fcmVjdDIge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0xLjFzO1xuICAgIH1cblxuICAgICZfX3JlY3QzIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMXM7XG4gICAgfVxuXG4gICAgJl9fcmVjdDQge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjlzO1xuICAgIH1cblxuICAgICZfX3JlY3Q1IHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC44cztcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc3RyZXRjaGRlbGF5IHtcbiAgICAwJSxcbiAgICA0MCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuNCk7XG4gICAgfVxuXG4gICAgMjAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgfVxufVxuIiwiLmphbC1zeW1ib2wge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgdXNlIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0taWNvbiB7XG4gICAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxZW07XG4gICAgfVxuXG4gICAgJi0taW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cbiIsIkBtaXhpbiBqYWwtY2Fyb3VzZWwtbmV4dC1wcmV2aW91cygkdG9wOiAwLCAkYm90dG9tOiAwLCAkbWFyZ2luOiBhdXRvIDApIHtcbiAgICAmX19uZXh0LFxuICAgICZfX3ByZXYge1xuICAgICAgICBAaW5jbHVkZSByZW1vdmUtbW91c2UtZm9jdXMtcmluZztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6ICR0b3A7XG4gICAgICAgIGJvdHRvbTogJGJvdHRvbTtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW46ICRtYXJnaW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGxpbmVhcjtcbiAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJHdoaXRlLCAwLjEpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNzVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJHdoaXRlLCAwLjkpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCR3aGl0ZSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBsZWZ0OiAwLjVlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmphbC1jYXJvdXNlbCB7XG4gICAgQGluY2x1ZGUgamFsLWNhcm91c2VsLW5leHQtcHJldmlvdXM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNmVtO1xuICAgIH1cblxuICAgIHN2ZyxcbiAgICB1c2Uge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSAgeHktZ3JpZC1jb250YWluZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IGZ1bGwsICRndXR0ZXJzOiAwKTtcblxuICAgICAgICAmI3smfSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAuamFsLWNhcm91c2VsX19tYWluLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbixcbiAgICAmX19uYXYge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGxpbmVhcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzAwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTb21lIHJlcXVpcmVkIGhhY2tzIHRvIG1ha2Ugc2xpY2sgcGxheSBuaWNlIHdpdGggZmxleGJveC5cbiAgICAgICAgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdi1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiA0LCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEwMCUsICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGZhZGUtb3V0KCR3aGl0ZSwgMC45KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDQpIH4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMikgdHJhbnNwYXJlbnQgc29saWQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC41cyBsaW5lYXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDQpIGZhZGUtb3V0KCR3aGl0ZSwgMC41KSBzb2xpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1jdXJyZW50ICYge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbW92ZS1tb3VzZS1mb2N1cy1yaW5nO1xuICAgIH1cbn1cbiIsIkBtaXhpbiBqYWwtY29udGVudCgkd3JhcHBlci1jbGFzczogJ3dyYXBwZXInLCAkaGVhZGVyLWNsYXNzOiAnaGVhZGVyJywgJGJvZHktY2xhc3M6ICdib2R5Jykge1xuICAgICRuczogI3smfTtcblxuICAgIEBpZiBzdHItaW5kZXgoJG5zLCAnLS0nKSAhPSBudWxsIHtcbiAgICAgICAgJG5zOiAje250aChzdHItc3BsaXQoJG5zLCAnLS0nKSwgMSl9O1xuICAgIH1cblxuICAgICZfXyN7JHdyYXBwZXItY2xhc3N9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihqdXN0aWZ5LCB0b3ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fI3skaGVhZGVyLWNsYXNzfSxcbiAgICAmX18jeyRib2R5LWNsYXNzfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMSwgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAxLCAkYnJlYWtwb2ludDogbWVkaXVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfXyN7JGJvZHktY2xhc3N9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMyBvZiA0LCAkYnJlYWtwb2ludDogbWVkaXVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfXyN7JGhlYWRlci1jbGFzc30ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDQsICRicmVha3BvaW50OiBtZWRpdW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgQGluY2x1ZGUgamFsLWNvbnRlbnQtaHI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX18jeyRoZWFkZXItY2xhc3N9ICsgI3skbnMgKyAnX18nICsgJGJvZHktY2xhc3N9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMTAwJSwgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICAgICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxMDAlLCAkYnJlYWtwb2ludDogbWVkaXVtKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBhdXRvLCAkYnJlYWtwb2ludDogbWVkaXVtKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3t4eS1jZWxsLXNpemUoMSBvZiAxMil9IC0gI3ttYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgamFsLWNvbnRlbnQtaGVhZGluZztcbiAgICB9XG59XG5cbkBtaXhpbiBqYWwtY29udGVudC1oZWFkaW5nKCRibG9jay13aWR0aDogcmVtLWNhbGMoMjcwKSwgJGJyZWFrcG9pbnQ6IGxhcmdlKSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIC5qcy1maXJzdC13b3JkIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBqYWwtY29udGVudC1ocigkd2lkdGg6IDgwJSwgJGJyZWFrcG9pbnQ6IGxhcmdlKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogcmVtLWNhbGMoMik7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbn1cblxuLmphbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBqYWwtY29udGVudDtcblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlICB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICB9XG5cbiAgICAmX19hZGRyZXNzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgfVxuXG4gICAgJl9fYWRkcmVzcy10ZXh0IHtcbiAgICAgICAgYWRkcmVzcyB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcGVuLWhvdXJzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgIH1cblxuICAgICZfX2RpcmVjdGlvbnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgIGgyLFxuICAgICAgICBoMyxcbiAgICAgICAgaDQsXG4gICAgICAgIGg1LFxuICAgICAgICBoNixcbiAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjaXRlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1pbi1oZWlnaHQge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMGVtO1xuICAgIH1cblxuICAgICYtLW9wdGltaXplZC1mb3ItcmVhZGluZyB7XG4gICAgICAgIC5qYWwtY29udGVudF9fYm9keSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBzZWU6IGh0dHBzOi8vZm91bmRhdGlvbi56dXJiLmNvbS9zaXRlcy9kb2NzL3h5LWdyaWQuaHRtbCNzYXNzLXJlZmVyZW5jZVxuQG1peGluIGphbC1ncmlkKCRpdGVtczogZmFsc2UpIHtcbiAgICAkY2xhc3M6ICN7c3RyLXJlcGxhY2UoI3smfSwgJy4nLCAnJyl9O1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgIHh5LWdyaWQtY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgIH1cblxuICAgIEBhdC1yb290ICVpdGVtLWZvci0jeyRjbGFzc30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDEsICRicmVha3BvaW50OiBzbWFsbCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMSwgJGJyZWFrcG9pbnQ6IG1lZGl1bSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGl0ZW1zIHtcbiAgICAgICAgQGVhY2ggJGN1cnJlbnQtaXRlbSBpbiAkaXRlbXMge1xuICAgICAgICAgICAgJl9fI3skY3VycmVudC1pdGVtfSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlaXRlbS1mb3ItI3skY2xhc3N9IDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmphbC1ncmlkIHtcbiAgICBAaW5jbHVkZSBqYWwtZ3JpZCgoJ2l0ZW1zJywgJ2l0ZW0nKSk7XG5cbiAgICAmX19oZ3JvdXAge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzO1xuICAgIH1cblxuICAgICZfX2l0ZW1zLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgIH1cblxuICAgIC5qYWwtY29udGVudCArICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tNC11cCN7JyAnICsgJn0ge1xuICAgICAgICBAaW5jbHVkZSBqYWwtY29udGVudCgnaGVhZGVyJywgJ2hlYWRlci10b3AnLCAnaGVhZGVyLWJvZHknKTtcblxuICAgICAgICAmX193cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIHN0cmV0Y2gpO1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMiwgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0LCAkYnJlYWtwb2ludDogc21hbGwpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDgwMCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMywgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDQsICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0zLXVwI3snICcgKyAmfSB7XG4gICAgICAgIEBpbmNsdWRlIGphbC1jb250ZW50KCdoZWFkZXInLCAnaGVhZGVyLXRvcCcsICdoZWFkZXItYm9keScpO1xuXG4gICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgc3RyZXRjaCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAyLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQsICRicmVha3BvaW50OiBzbWFsbCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAyLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAzLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tMi11cCN7JyAnICsgJn0gIHtcbiAgICAgICAgQGluY2x1ZGUgamFsLWNvbnRlbnQ7XG5cbiAgICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgc3RyZXRjaCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAyLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQsICRicmVha3BvaW50OiBzbWFsbCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAyLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYWxpZ24tbWlkZGxlI3snICcgKyAmfSB7XG4gICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogbWlkZGxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNhcm91c2VsLWZvci1zbWFsbC1vbmx5IHtcbiAgICAgICAgLy8gTWF0aHMgdG8gcGxhY2UgYXJyb3dzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGltYWdlIHJlZ2FyZGxlc3Mgb2YgaGVhZGVyXG4gICAgICAgICRndXR0ZXJzOiAxLjI1cmVtICogMjtcbiAgICAgICAgJGJvdHRvbS1vZmZzZXQ6IHJlbS1jYWxjKDEzMSk7XG4gICAgICAgICRpbWFnZS1yYXRpbzogMiAvIDMuNztcbiAgICAgICAgJGFycm93LW9mZnNldDogcmVtLWNhbGMoMjApO1xuICAgICAgICAkYXJyb3ctb2Zmc2V0LWNhbGM6IGNhbGMoI3skYm90dG9tLW9mZnNldCAtICRhcnJvdy1vZmZzZXR9ICsgKCgoMTAwdncgLSAjeyRndXR0ZXJzfSkgKiAoI3skaW1hZ2UtcmF0aW99KSkgLyAyKSk7XG5cbiAgICAgICAgLmphbC1ncmlkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGphbC1jYXJvdXNlbC1uZXh0LXByZXZpb3VzKCRib3R0b206ICRhcnJvdy1vZmZzZXQtY2FsYywgJHRvcDogYXV0byk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5qYWwtZ3JpZF9fd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qYWwtZ3JpZF9fYm9keSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1ncmlkX19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMSwgJGd1dHRlcnM6IDAsICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAje21hcC1nZXQoJGJyZWFrcG9pbnRzLCBzbWFsbCkgKiAyfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICsgLmphbC1ncmlkX19pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuamFsLWdyaWRfX25leHQsXG4gICAgICAgIC5qYWwtZ3JpZF9fcHJldiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDQxMikge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMjEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mdWxsLXdpZHRoLWZvci1zbWFsbC1vbmx5I3snICcgKyAmfSB7XG4gICAgICAgICRib3R0b20tb2Zmc2V0OiByZW0tY2FsYygxMzEpO1xuICAgICAgICAkaW1hZ2UtcmF0aW86IDIgLyAzLjc7XG4gICAgICAgICRhcnJvdy1vZmZzZXQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgJGZ1bGwtd2lkdGgtYXJyb3ctb2Zmc2V0LWNhbGM6IGNhbGMoI3skYm90dG9tLW9mZnNldCAtICRhcnJvdy1vZmZzZXR9ICsgKCgoMTAwdncpICogKCN7JGltYWdlLXJhdGlvfSkpIC8gMikpO1xuXG4gICAgICAgICZfX25leHQsXG4gICAgICAgICZfX3ByZXYge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fYm9keSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDEsICRndXR0ZXJzOiAwLCAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBib3R0b20gbGVmdCk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLTEtdXAtZm9yLXNtYWxsI3snICcgKyAmfSB7XG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAxLCAkYnJlYWtwb2ludDogc21hbGwpO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuamFsLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICZfX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWluZXIsXG4gICAgJl9fbmF2LWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX25hdi13cmFwcGVyLFxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGp1c3RpZnksIG1pZGRsZSk7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogNjUlKTtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBhdXRvKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8pO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE4MCk7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg1OSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTkuNXJlbTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2LjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX191aSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IHNocmluaywgJGd1dHRlci1wb3NpdGlvbjogbGVmdCBib3R0b20gcmlnaHQsICRicmVha3BvaW50OiBzbWFsbCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMik7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3F1aWNrbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQuNWVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Bob25lLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogcmlnaHQpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWN0LWZvcm0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4NTApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlYXJjaC10b2dnbGUge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBzaHJpbmssICRndXR0ZXItcG9zaXRpb246IGxlZnQgYm90dG9tIHJpZ2h0LCAkYnJlYWtwb2ludDogc21hbGwpO1xuICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMC4yZW07XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZW1vdmUtbW91c2UtZm9jdXMtcmluZztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYtdG9nZ2xlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogc2hyaW5rLCAkYnJlYWtwb2ludDogc21hbGwpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5qYWwtc2VhcmNoIHtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoJGNvbG9yOiAkd2hpdGUsICRyZXNldC1saW5rczogZmFsc2UpO1xuICAgIEBpbmNsdWRlIGphbC1ncmlkKCRpdGVtczogJ2JvZHknKTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogZmFkZS1vdXQoZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAxMCUpLCAwLjA1KTtcblxuICAgICYjeyZ9IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGg0IHtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBtaWRkbGUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fdWkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgJl9faW5wdXQsXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbDtcbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTUpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgyIG9mIDMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9ybSxcbiAgICAmX191c2VmdWwtbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiA0ZW07XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIEBleHRlbmQgJWgxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxufVxuIiwiLmphbC1tYWluLW5hdiB7XG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgXHRmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoJHdoaXRlLCAxLjEyNXJlbSk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cbiAgICAmX19jaGlsZC1saXN0LFxuICAgICZfX2dyYW5kY2hpbGQtbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgICZfX2NoaWxkLWxpc3Qge1xuICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgICAub3BlbnMtcmlnaHQgJiB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9wZW5zLWxlZnQgJiB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmssXG4gICAgJl9fY2hpbGQtbGluayxcbiAgICAmX19ncmFuZGNoaWxkLWxpbmssXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGphbGNvbi1ncmFkaWVudC1saWdodGVuO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGphbGNvbi13aGl0ZSwgMC4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoJHdoaXRlKTtcbiAgICB9XG5cbiAgICAmX19zb2NpYWwsXG4gICAgJl9fZW5xdWlyeS1idXR0b24ge1xuICAgICAgICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuICAgIH1cblxuICAgICZfX2Nsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB0b3A6IDEuMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbixcbiAgICAuY3VycmVudCB7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcHggMWVtO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMTI1ZW0gJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXZlcnRpY2FsIHtcbiAgICAgICAgJiN7Jn0ge1xuICAgICAgICAgICAgLmphbC1tYWluLW5hdl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGphbGNvbi1ncmF5LCA1JSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5qYWwtbWFpbi1uYXZfX2l0ZW0sXG4gICAgICAgICAgICAuamFsLW1haW4tbmF2X19jaGlsZC1pdGVtLFxuICAgICAgICAgICAgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1pdGVtIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuamFsLW1haW4tbmF2X19saW5rLFxuICAgICAgICAgICAgLmphbC1tYWluLW5hdl9fY2hpbGQtbGluayxcbiAgICAgICAgICAgIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgc21hbGwpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGVuKCRqYWxjb24tZ3JheSwgNSUpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEuMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCAlM0NzdmcgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIgdmlld2JveD0lMjIwIDAgMTYgMTYlMjIlM0UlM0NwYXRoIGQ9JTIyTTEgNWw3IDcgNy03JTIyIHN0cm9rZT0lMjIjZmZmJTIyIGZpbGw9JTIybm9uZSUyMiBzdHJva2UtbGluZWNhcD0lMjJyb3VuZCUyMi8lM0UlM0Mvc3ZnJTNFJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5qcy1kcmlsbGRvd24tYmFjayBhLFxuICAgICAgICAgICAgLmphbC1tYWluLW5hdl9fbGluayB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmpzLWRyaWxsZG93bi1iYWNrIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIHNtYWxsKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkamFsY29uLWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG8oJHBvczogc3RhdGljLCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjEyNWVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMTI1ZW07XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsICUzQ3N2ZyB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiB2aWV3Ym94PSUyMjAgMCAxNiAxNiUyMiUzRSUzQ3BhdGggZD0lMjJNMSA1bDcgNyA3LTclMjIgc3Ryb2tlPSUyMiMwNzFkNDklMjIgZmlsbD0lMjJub25lJTIyIHN0cm9rZS1saW5lY2FwPSUyMnJvdW5kJTIyLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGphbGNvbi13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhvcml6b250YWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIFtkYXRhLW5hbWU9J0Fib3V0IFVzJ10sXG4gICAgICAgIFtkYXRhLW5hbWU9J0NvbnRhY3QnXSxcbiAgICAgICAgW2RhdGEtbmFtZT0nTG9naW4nXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1tYWluLW5hdl9fbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLShtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAuamFsLW1haW4tbmF2X19pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IC0zcHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSkgdHJhbnNsYXRlWCgtNGVtKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC43cyAkamFsY29uLXRyYW5zaXRpb24tZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zZWN0aW9uLFxuICAgICAgICAgICAgJi5jdXJyZW50LFxuICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlLW91dCgkamFsY29uLWxpZ2h0LWdyYXksIDAuOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1tYWluLW5hdl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNikgbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWVkaXVtKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1tYWluLW5hdl9fY2hpbGQtbGlzdCxcbiAgICAgICAgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1saXN0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qYWwtbWFpbi1uYXZfX2NoaWxkLWxpbmssXG4gICAgICAgIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KSBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1tYWluLW5hdl9fY2hpbGQtbGlzdCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAzcHggZGFya2VuKCRkYXJrLWdyYXksIDE1JSkgc29saWQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkamFsY29uLWdyYWRpZW50LWdyYXk7XG5cbiAgICAgICAgICAgIEBzdXBwb3J0cyAoY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAxJSwgMTAwJSAxMDAlLCAxMCUgMTAwJSwgMCA5MCUpKSB7XG4gICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwJSwgMTAwJSAxMDAlLCAxcmVtIDEwMCUsIDAgY2FsYygxMDAlIC0gMXJlbSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1tYWluLW5hdl9fY2hpbGQtaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGphbGNvbi1ncmF5LCA1JSk7XG4gICAgICAgIH1cblxuICAgICAgICAuamFsLW1haW4tbmF2X19ncmFuZGNoaWxkLWxpc3Qge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1tYWluLW5hdl9fZ3JhbmRjaGlsZC1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qYWwtbWFpbi1uYXZfX2dyYW5kY2hpbGQtbGluayB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGphbGNvbi13aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGphbGNvbi1ibGFjaywgMC44KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBjdXN0b21fMTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRqYWxjb24tdHJhbnNpdGlvbi1lYXNlLW91dDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIFRPRE86IFNlZSBpZiB0aGlzIGNhbiBiZSBtZXJnZWQgaW50byBtYWluLW5hdi4gVGhlcmUgaXMgZHVwbGljYXRpb24gaW4gdGhlIGRyb3Bkb3duIHN0eWxlcy5cbi5qYWwtcXVpY2tsaW5rcyB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuXG4gICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAyZW07XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLnBhcmVudCxcbiAgICAuYWN0aXZlIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXB4IDFlbTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjEyNWVtICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkamFsY29uLWJlaWdlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IC0zcHg7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpIHRyYW5zbGF0ZVgoLTRlbSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuN3MgJGphbGNvbi10cmFuc2l0aW9uLWVhc2Utb3V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zcztcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayxcbiAgICAmX19jaGlsZC1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICB6LWluZGV4OiAtMjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkamFsY29uLWdyYWRpZW50LWxpZ2h0ZW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluay10ZXh0IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cblxuICAgICZfX2NoaWxkLWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogM3B4IGRhcmtlbigkZGFyay1ncmF5LCAxNSUpIHNvbGlkO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQHN1cHBvcnRzIChjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDElLCAxMDAlIDEwMCUsIDEwJSAxMDAlLCAwIDkwJSkpIHtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMXJlbSAxMDAlLCAwIGNhbGMoMTAwJSAtIDFyZW0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hpbGQtaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICB9XG5cbiAgICAmX19jaGlsZC1saW5rIHtcbiAgICAgICAgJiN7Jn0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMSkgbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWVkaXVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRqYWxjb24td2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGphbGNvbi1ibGFjaywgMC44KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBjdXN0b20tMTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGphbGNvbi10cmFuc2l0aW9uLWVhc2Utb3V0O1xuICAgIH1cbn1cbiIsIiRqYWwtcHJvZHVjdC0yY29sLWJyZWFrcG9pbnQ6IDU4MDtcblxuLmphbC1wcm9kdWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyLFxuICAgICZfX2NvbnRlbnQsXG4gICAgJl9fYXNpZGUtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMSwgJGd1dHRlcnM6IDApO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19oZXJvLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRqYWwtcHJvZHVjdC0yY29sLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRqYWwtcHJvZHVjdC0yY29sLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGphbGNvbi1ncmFkaWVudC1ibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FzaWRlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBzaHJpbmssICRndXR0ZXJzOiAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGphbC1wcm9kdWN0LTJjb2wtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDUwJSwgJGd1dHRlcnM6IDApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygzNzUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDM3NSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGphbC1wcm9kdWN0LTJjb2wtYnJlYWtwb2ludCkge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY29uZGFyeS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxMjYpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDI1KSB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTQ1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGphbC1wcm9kdWN0LTJjb2wtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA0Ljc1ZW07XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IGF1dG8sICRndXR0ZXJzOiAwKTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7IC8vIElFMTEgZml4XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkamFsLXByb2R1Y3QtMmNvbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogYXV0bywgJGd1dHRlcnM6IDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudC1pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogJGNhcmQtcGFkZGluZyAvIDQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg0MjUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjYXJkLXBhZGRpbmcgLyAyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkamFsLXByb2R1Y3QtMmNvbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2UsXG4gICAgJl9fbG9jYXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSgxLjEyNXJlbSwgMS4yLCAyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkamFsLXByb2R1Y3QtMmNvbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogJGNhcmQtcGFkZGluZyAvIDIgJGNhcmQtcGFkZGluZztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgZGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGphbC1wcm9kdWN0LTJjb2wtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2NhdGlvbiB7XG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkamFsLXByb2R1Y3QtMmNvbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkamFsLXByb2R1Y3QtMmNvbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtdWx0aWxpbmUtdHJ1bmNhdGUoMWVtLCAkZ2xvYmFsLWxpbmVoZWlnaHQsIDQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRqYWwtcHJvZHVjdC0yY29sLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGphbC1idXR0b24tc3R5bGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuamFsLWdhbGxlcnkge1xuICAgIEBpbmNsdWRlIGphbC1ncmlkKCRpdGVtczogJ3dhbGwnKTtcblxuICAgICZfX3dhbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IDMwJTtcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAxZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjQwKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmphbC1pbWFnZSB7XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fem9vbSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbW92ZS1tb3VzZS1mb2N1cy1yaW5nO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgc21hbGwpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDAxKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1jb2xvci1saXRlcmFscyAvLyBjbGljayBhcmVhIGhhY2ssIElFMTAtMTEuXG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIG1lZGl1bSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvbnRhaW5lZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLS1jb3ZlcixcbiAgICAmLS1jb3Zlci1oYWxmLWZvci1sYXJnZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY292ZXItaGFsZi1mb3ItbGFyZ2Uge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuamFsLWltYWdlX196b29tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbm8tcGFkZGluZy1vbi16b29tIHtcbiAgICAgICAgLmphbC1pbWFnZV9fem9vbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tem9vbS10b3AtcmlnaHQge1xuICAgICAgICAuamFsLWltYWdlX196b29tIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgc21hbGwpICogMS41O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmphbC1iYW5uZXIge1xuICAgIEBpbmNsdWRlIGphbC1ncmlkKCdjb250ZW50Jyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICAmW2RhdGEtZTItcGFyYWxsYXgtZm9yLWxhcmdlXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAtNXJlbTtcbiAgICAgICAgICAgICAgICBib3R0b206IC01cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB0b3A6IC00cmVtO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogbWlkZGxlKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tYmV0d2VlbihyZW0tY2FsYygxNTApLCByZW0tY2FsYyg4MDApLCByZW0tY2FsYygzMjApLCByZW0tY2FsYygxOTIwKSk7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDgwMCk7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGphbC1jb250ZW50LWhyKCR3aWR0aDogNjAlLCAkYnJlYWtwb2ludDogc21hbGwpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBqYWwtY29udGVudC1oZWFkaW5nKCRicmVha3BvaW50OiBzbWFsbCk7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWJldHdlZW4ocmVtLWNhbGMoMzgpLCByZW0tY2FsYygxMDApLCBtYXAtZ2V0KCRicmVha3BvaW50cywgbWVkaXVtKSwgcmVtLWNhbGMoMTkyMCkpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTkyMCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMDApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmphbC1tYXAge1xuICAgIEBpbmNsdWRlIGphbC1ncmlkKCgnZ3JpZCcpKTtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IGJvdHRvbSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiBib3R0b20pO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogKDIgLyAzKSk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChmYWRlLW91dCgkd2hpdGUsIDEpLCBmYWRlLW91dCgkd2hpdGUsIDApKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoKDEwMHZ3ICogKDIgLyAzKSkgLSA2cmVtKTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nLFxuICAgICZfX2l0ZW0taGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGphbC1jb250ZW50LWhlYWRpbmcoJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCBzbWFsbCkgKiAxLjU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgbWVkaXVtKSAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ocixcbiAgICAmX19pdGVtLWhyIHtcbiAgICAgICAgQGluY2x1ZGUgamFsLWNvbnRlbnQtaHIoJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICB9XG5cbiAgICAmX19ncmlkLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAxLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgbGVmdCBib3R0b20pO1xuICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDIsICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBsZWZ0IGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkamFsLW1hc3RoZWFkLWhlaWdodC1taW46IDE3NztcbiRqYWwtbWFzdGhlYWQtaGVpZ2h0LW1heDogNDAwO1xuJGphbC1tYXN0aGVhZC1oZWlnaHQtbGFyZ2UtbWluOiA0MDA7XG4kamFsLW1hc3RoZWFkLWhlaWdodC1sYXJnZS1tYXg6IDcwMDtcblxuLmphbC1tYXN0aGVhZCB7XG4gICAgQGluY2x1ZGUgamFsLWdyaWQoJ2NvbnRlbnQnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmX19iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4gICAgICAgICZbZGF0YS1lMi1wYXJhbGxheC1mb3ItbGFyZ2VdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waWN0dXJlIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tYmV0d2VlbihcbiAgICAgICAgICAgIHJlbS1jYWxjKCRqYWwtbWFzdGhlYWQtaGVpZ2h0LW1pbiksXG4gICAgICAgICAgICByZW0tY2FsYygkamFsLW1hc3RoZWFkLWhlaWdodC1tYXgpLFxuICAgICAgICAgICAgcmVtLWNhbGMoMzIwKSxcbiAgICAgICAgICAgIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBsYXJnZSlcbiAgICAgICAgKTtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoJGphbC1tYXN0aGVhZC1oZWlnaHQtbWluKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjdzIGVhc2Utb3V0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWJldHdlZW4oXG4gICAgICAgICAgICAgICAgcmVtLWNhbGMoJGphbC1tYXN0aGVhZC1oZWlnaHQtbGFyZ2UtbWluKSxcbiAgICAgICAgICAgICAgICByZW0tY2FsYygkamFsLW1hc3RoZWFkLWhlaWdodC1sYXJnZS1tYXgpLFxuICAgICAgICAgICAgICAgIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBsYXJnZSksXG4gICAgICAgICAgICAgICAgcmVtLWNhbGMoMTkyMClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKCRqYWwtbWFzdGhlYWQtaGVpZ2h0LWxhcmdlLW1heCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmxhenlsb2FkZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIFtkYXRhLWUyLXBhcmFsbGF4LWZvci1sYXJnZV0gJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tYmV0d2VlbihcbiAgICAgICAgICAgICAgICAgICAgcmVtLWNhbGMoJGphbC1tYXN0aGVhZC1oZWlnaHQtbGFyZ2UtbWluKSArIDRyZW0sXG4gICAgICAgICAgICAgICAgICAgIHJlbS1jYWxjKCRqYWwtbWFzdGhlYWQtaGVpZ2h0LWxhcmdlLW1heCkgKyA1cmVtLFxuICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRicmVha3BvaW50cywgbGFyZ2UpLFxuICAgICAgICAgICAgICAgICAgICByZW0tY2FsYygxOTIwKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygkamFsLW1hc3RoZWFkLWhlaWdodC1sYXJnZS1tYXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0gb3BhY2l0eTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChmYWRlLW91dCgkd2hpdGUsIDEpLCBmYWRlLW91dCgkd2hpdGUsIDApKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoKCgxMDB2dyAtIDEwMCUpIC8gMikgKiAtMSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNjgzKTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuMjVlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM2VtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcbiAgICAgICAgICAgICAgICByaWdodDogI3t4eS1jZWxsLXNpemUoMiBvZiAxMil9O1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoKDEwMHZ3IC0gMTAwJSkgLyAyKSAtICN7eHktY2VsbC1zaXplKDEgb2YgMTIpfSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwgJTNDc3ZnIGhlaWdodD0lMjI0MjQlMjIgd2lkdGg9JTIyMjMyOCUyMiB2aWV3Qm94PSUyMjAgMCAyMzI4IDQyNCUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZmlsbD0lMjIlMjNmZmZmZmYlMjIgZmlsbC1vcGFjaXR5PSUyMjAuOSUyMiBkPSUyMk0wIDBoMTk5NC4zTDIzMjggNDI0SDB6JTIyLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBmYWRlLW91dCgkd2hpdGUsIDAuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIsXG4gICAgJl9fbGVhZC10ZXh0IHtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sZWFkLXRleHQge1xuICAgICAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcblxuICAgICAgICA+IHAge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRqYWwtcGF0aHdheS0yLWNvbC1icmVha3BvaW50OiA4NTA7XG5cbi5qYWwtcGF0aHdheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGphbGNvbi1saWdodC1iZWlnZTtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBsZWZ0KTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSxcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAgICRzaXplOiAxIG9mIDEsXG4gICAgICAgICAgICAkZ3V0dGVyczogMFxuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtb3ZlLW1vdXNlLWZvY3VzLXJpbmc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRqYWwtcGF0aHdheS0yLWNvbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDIsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJltkYXRhLWZhbmN5Ym94XSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0lMjIwIDAgNjUgNjUlMjIgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NwYXRoIGQ9JTIyTTMyLjUgMGEzMi41IDMyLjUgMCAxIDAgMCA2NSAzMi41IDMyLjUgMCAwIDAgMC02NXptMCA1OWEyNi40IDI2LjQgMCAxIDEgMC01MyAyNi40IDI2LjQgMCAwIDEgMCA1M3ptLTguMS00MC43bDI0LjMgMTQuMi0yNC4zIDE0LjJWMTguM3olMjIgZmlsbD0lMjIlMjNGRkYlMjIgZmlsbC1ydWxlPSUyMm5vbnplcm8lMjIvJTNFJTNDL3N2ZyUzRScpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtd2hhdGludGVudD0nbW91c2UnXSAmIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCRibGFjaywgMC44KTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltocmVmXSB7XG4gICAgICAgICAgICAmOmhvdmVyICB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlLWVsZW1lbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRqYWwtcGF0aHdheS0yLWNvbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQzNSk7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxOTApO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGphbC1wYXRod2F5LTItY29sLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMiwgJGd1dHRlcnM6IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IHNocmluaywgJGd1dHRlcnM6IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiBtaWRkbGUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGphbC1wYXRod2F5LTItY29sLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygjeyRnbG9iYWwtd2lkdGggLyAyfSAtICN7bWFwLWdldCgkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIG1lZGl1bSl9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1JTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjYXJkLXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgamFsLWNvbnRlbnQtaGVhZGluZyg1MHZ3KTtcbiAgICB9XG5cbiAgICAmX19ociB7XG4gICAgICAgIEBpbmNsdWRlIGphbC1jb250ZW50LWhyKDUwJSk7XG4gICAgfVxuXG4gICAgJl9faW50cm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBqYWwtYnV0dG9uLXN0eWxlKCk7XG4gICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMjAwKTtcbiAgICB9XG5cbiAgICAmLS1jb250ZW50LWxlZnQjeycgJyArICZ9IHtcbiAgICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRqYWwtcGF0aHdheS0yLWNvbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogcmlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkamFsLXBhdGh3YXktMi1jb2wtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGphbC1wYXRod2F5LTItY29sLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQtaW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kYXJrLWdyYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIC5qYWwtcGF0aHdheV9faGVhZGluZyB7XG4gICAgICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1wYXRod2F5X19saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGphbC1idXR0b24tc3R5bGUoJHN0eWxlOiBjdXJyZW50Q29sb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmphbC1wbGFuIHtcbiAgICBAaW5jbHVkZSBqYWwtZ3JpZCgnYm9keScpO1xuICAgIEBpbmNsdWRlIGphbC1jb250ZW50O1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oanVzdGlmeSwgbWlkZGxlKTtcbiAgICB9XG5cbiAgICAmX190b3AtYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRkYXJrLWdyYXkgcmVtLWNhbGMoMikgc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3AtYmFyLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGp1c3RpZnksIG1pZGRsZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlLFxuICAgICZfX3NpemUge1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChzaHJpbmspO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaXplIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWVkaXVtKSAqIDMsICRndXR0ZXItcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb25zIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogZnVsbCwgJGd1dHRlcnM6IC0yZW0pO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuMjVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogc2hyaW5rKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgdG9wOiAtMTAwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmphbC1maWx0ZXItZ3JpZCB7XG4gICAgQGluY2x1ZGUgamFsLWdyaWQoKCdpdGVtcycpKTtcbiAgICBAaW5jbHVkZSBqYWwtY29udGVudDtcblxuICAgICZfX2l0ZW1zLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkgKiAyLCAkbmVnYXRpdmU6IHRydWUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGxpbmVhcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDM2MCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogZnVsbCwgJGd1dHRlcnM6IDApXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGxpbmVhciwgdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTEsIDAuOTIsIDAuMDUsIDAuOTkpO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cblxuICAgICZfX2l0ZW0tYnJlYWsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICArIC5qYWwtZmlsdGVyLWdyaWRfX2l0ZW0ge1xuICAgICAgICAgICAgKyAuamFsLWZpbHRlci1ncmlkX19pdGVtIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICAgICAgICAgICsgLmphbC1maWx0ZXItZ3JpZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgICAgICAgICAgICAgICAgIH4gLmphbC1maWx0ZXItZ3JpZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMCAxZW07XG4gICAgICAgIHBhZGRpbmc6IDRlbTtcbiAgICB9XG5cbiAgICAmX19tb3JlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmphbC1maWx0ZXItLWxvYWRpbmctbW9yZSB+ICYge1xuICAgICAgICAmX19sb2FkaW5nIHtcbiAgICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICAuamFsLWZpbHRlci1ncmlkX19pdGVtLWJyZWFrIHtcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIH4gLmphbC1maWx0ZXItZ3JpZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuamFsLWZpbHRlci0tZmlsdGVyaW5nIH4gJiB7XG4gICAgICAgICZfX2xvYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuamFsLWZpbHRlci0tcGFnaW5nLWNvbXBsZXRlIH4gJiB7XG4gICAgICAgICZfX21vcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5qYWwtZmlsdGVyIHtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoJHdoaXRlKTtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtcGFkZGluZztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRjYXJkLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fdWkge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBsaW5lYXI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvcCxcbiAgICAmX19mb3JtIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIHRvcCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgdG9wKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEwMCUpO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVzZXQsXG4gICAgJl9faGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IHNocmluaywgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMTAwJSwgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgdG9wIGxlZnQsICRicmVha3BvaW50OiBzbWFsbCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IHNocmluaywgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgdG9wIGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXdpZHRoPSdmdWxsJ10ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXdpZHRoPSc0NSUnXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNDUlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS13aWR0aD0nNTAlJ10ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDUwJSk7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXdpZHRoPSc1NSUnXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNTUlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNob3ctbW9yZSB7XG4gICAgICAgIC5qYWwtZmlsdGVyX191aSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nIC8gMjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDUwMCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjYXJkLXBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuamFsLWZpbHRlcl9fdG9nZ2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuamFsLW1hcC1hbmQtZmVhdHVyZXMge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihqdXN0aWZ5LCBtaWRkbGUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRqYWxjb24tbGlnaHQtYmVpZ2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAmX19mZWF0dXJlcyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEwMCUsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IGF1dG8sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgQGluY2x1ZGUgamFsLWNvbnRlbnQtaHIoNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21hcCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEwMCUsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IGF1dG8sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDEpO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyg1MHZ3ICsgI3ttYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pfSAtICgjeyRnbG9iYWwtd2lkdGh9IC8gMikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNGVtO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyLjE4NzVlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuMTg3NWVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PSUyMjAgMCAzNSAzNSUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNMTAuMyAxNC4yTDggMTYuNmw3LjggNy45TDMzLjQgN2wtMi41LTIuNS0xNSAxNS4xLTUuNS01LjR6bTIxLjIgMy4zYTE0IDE0IDAgMCAxLTE0IDE0IDE0IDE0IDAgMCAxLTE0LTE0QTE0IDE0IDAgMCAxIDIxLjQgNGwyLjgtMi44QzIyIC41IDE5LjggMCAxNy41IDAgNy45IDAgMCA3LjkgMCAxNy41UzcuOSAzNSAxNy41IDM1IDM1IDI3LjEgMzUgMTcuNWgtMy41eiUyMiBmaWxsPSUyMiUyMzA3MUQ0OSUyMiBmaWxsLXJ1bGU9JTIybm9uemVybyUyMi8lM0UlM0Mvc3ZnJTNFJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgamFsLWNvbnRlbnQtaGVhZGluZyhyZW0tY2FsYyg1NDApKTtcbiAgICB9XG59XG4iLCIuamFsLW5leHQtc3RlcHMge1xuICAgIEBpbmNsdWRlIGphbC1ncmlkKCgnbWFpbicsICdyZWxhdGVkLWNvbnRlbnQnKSk7XG5cbiAgICBociB7XG4gICAgICAgIEBpbmNsdWRlIGphbC1jb250ZW50LWhyO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgdG9wKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihqdXN0aWZ5LCB0b3ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbixcbiAgICAmX19yZWxhdGVkLWNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDcyMCk7XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDcuNSBvZiAxMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZWxhdGVkLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCBvZiAxMik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbi1pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihqdXN0aWZ5LCBib3R0b20pO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTAwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyBvZiA4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTAwJSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW0gKyByZW0tY2FsYygyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1IG9mIDgpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbDtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nLFxuICAgICZfX3JlbGF0ZWQtaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGphbC1jb250ZW50LWhlYWRpbmcoJGJyZWFrcG9pbnQ6IHhsYXJnZSk7XG4gICAgfVxufVxuIiwiJGphbC1jb250YWN0LTItY29sLWJyZWFrcG9pbnQ6IDU0MDtcblxuLmphbC1jb250YWN0IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGphbC1jb250YWN0LTItY29sLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogMCk7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSxcbiAgICAmX19ib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbDtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyMDApO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGphbC1jb250YWN0LTItY29sLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMiwgJGd1dHRlcnM6IDApO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMDApO1xuICAgICAgICBib3JkZXI6ICRzZWNvbmRhcnktY29sb3IgcmVtLWNhbGMoMikgc29saWQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkamFsLWNvbnRhY3QtMi1jb2wtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAyLCAkZ3V0dGVyczogMCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkc2Vjb25kYXJ5LWNvbG9yIHJlbS1jYWxjKDIpIHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib2R5LWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogJGNhcmQtcGFkZGluZztcbiAgICB9XG5cbiAgICAmX19yb2xlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICAmX19iaW8ge1xuICAgICAgICBAaW5jbHVkZSBtdWx0aWxpbmUtdHJ1bmNhdGUoMXJlbSwgJGdsb2JhbC1saW5laGVpZ2h0LCAzKTtcbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSgxcmVtLCAkZ2xvYmFsLWxpbmVoZWlnaHQsIDYpO1xuICAgIH1cblxuICAgICZfX3Bob25lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxufVxuIiwiLmphbC1pY29uLWxpc3Qge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWVkaXVtKSAqIDMpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJl9fa2V5IHtcbiAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgfVxuXG4gICAgJl9fdmFsdWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBzaHJpbmssICRndXR0ZXJzOiAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiA0Ljc1ZW07XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJl9fbnVtYmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyAwLjc1ZW0pO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB3aWR0aDogMS44ZW07XG4gICAgICAgIGhlaWdodDogMi4yNWVtO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgZm9udC1zaXplOiAxLjU2MjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoMC43NWVtLCAkbWVkaXVtLWdyYXksIGRvd24pO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tcHJvZHVjdCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGNhcmQtcGFkZGluZyk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkamFsLXByb2R1Y3QtMmNvbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgbWlkZGxlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLmphbC1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGphbC1ncmlkO1xuICAgIEBpbmNsdWRlIGphbC1jb250ZW50O1xuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRlbigkZGFyay1ncmF5LCAzMCUpO1xuICAgIH1cblxuICAgICZfX2l0ZW0taGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtYWN0aXZlID4gJiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICAgIH1cbn1cbiIsIi5qYWwtYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGphbC1ncmlkKCduYXYnKTtcbiAgICBiYWNrZ3JvdW5kOiBmYWRlLW91dCgkYmxhY2ssIDAuOSk7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIGxpIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbmF2IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEpO1xuICAgIH1cblxuICAgIC5qYWwtYmxvY2stLWZpeGVkLXRvLXRvcC1mb3ItbGFyZ2UgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRqYWxjb24tbGlnaHQtYmVpZ2U7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBmYWRlLW91dCgkYmxhY2ssIDAuOSk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYmVpZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkamFsY29uLWxpZ2h0LWJlaWdlO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxufVxuIiwiLmphbC1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICZfX2hyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7bWFwLWdldCgkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIHNtYWxsKSAqIDJ9KTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7JGdsb2JhbC13aWR0aH0gLSAje21hcC1nZXQoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCBtZWRpdW0pICogMn0pO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje21hcC1nZXQoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCBtZWRpdW0pICogMn0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZGFya2VyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIH1cblxuICAgICYtLWRhcmtlc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYtLWJlaWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGphbGNvbi1saWdodC1iZWlnZTtcbiAgICB9XG5cbiAgICAmLS1ibGFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmLS10aGVtZS1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi0tdGhlbWUtc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbiAgICB9XG5cbiAgICAmLS1maXhlZC10by10b3Age1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmLS1maXhlZC10by10b3AtZm9yLWxhcmdlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tcGFkZGluZy10b3Age1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgc21hbGwpICogMywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3ApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgbWVkaXVtKSAqIDQsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXBhZGRpbmctYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIHNtYWxsKSAqIDMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogYm90dG9tKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIG1lZGl1bSkgKiA0LCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wYWRkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIHNtYWxsKSAqIDMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6IG1hcC1nZXQoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCBtZWRpdW0pICogNCwgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXBhZGRpbmctZm9yLW1lZGl1bSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgbWVkaXVtKSAqIDQsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zaG93LWZvci1tZWRpdW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRqYWwtY2FyZC1iYXNlLXNpemU6IDFyZW07XG4kamFsLWNhcmQtbGluZS1oZWlnaHQ6IDEuNzU7XG4kamFsLWNhcmQtdGl0bGUtc2l6ZTogMS41cmVtO1xuJGphbC1jYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjMzO1xuXG4uamFsLWNhcmQge1xuICAgIGhyIHtcbiAgICAgICAgQGluY2x1ZGUgamFsLWNvbnRlbnQtaHIoNjUlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjI1ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdXBlci10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGphbC1jb250ZW50LWhlYWRpbmc7XG5cbiAgICAgICAgLmphbC1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS4xMjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcigpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzcwKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBsaW5lYXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGxpZ2h0LWdyYXksIDUlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBbZGF0YS13aGF0aW50ZW50PSdtb3VzZSddICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCRibGFjaywgMC45KTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltocmVmXSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qYWwtZ3JpZC0tZnVsbC13aWR0aC1mb3Itc21hbGwtb25seSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQsXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxMDAlLCAkZ3V0dGVyczogMCk7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIHNtYWxsKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGNhcmQtcGFkZGluZyAkY2FyZC1wYWRkaW5nICN7MiAqICRjYXJkLXBhZGRpbmcgICsgMXJlbX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgbXVsdGlsaW5lLXRydW5jYXRlKCRqYWwtY2FyZC10aXRsZS1zaXplLCAkamFsLWNhcmQtdGl0bGUtbGluZS1oZWlnaHQsIDIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXVsdGlsaW5lLXRydW5jYXRlKCRqYWwtY2FyZC1iYXNlLXNpemUsICRqYWwtY2FyZC1saW5lLWhlaWdodCwgNik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgYm90dG9tOiAkY2FyZC1wYWRkaW5nO1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgPic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jdGEjeycgJyArICZ9IHtcbiAgICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBsaW5lYXI7XG4gICAgICAgICAgICBjb2xvcjogZmFkZS1vdXQoJGphbGNvbi1lZ2ctc2hlbGwsIDAuMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSgkamFsLWNhcmQtYmFzZS1zaXplLCAkamFsLWNhcmQtbGluZS1oZWlnaHQsIDMpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1NTApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtdWx0aWxpbmUtdHJ1bmNhdGUoJGphbC1jYXJkLWJhc2Utc2l6ZSwgJGphbC1jYXJkLWxpbmUtaGVpZ2h0LCAyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRqYWwtY2FyZC10aXRsZS1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkamFsLWNhcmQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19kZXNjcmlwdGlvbixcbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nIC8gMjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGNhcmQtcGFkZGluZyAvIDIgJGNhcmQtcGFkZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhvcml6b250YWwtZm9yLTU1MCN7JyAnICsgJn0ge1xuICAgICAgICAmX19zdXBlci10aXRsZSB7XG4gICAgICAgICAgICAmOmZpcnN0LWxpbmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTUwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQsXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTUwKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAyLCAkZ3V0dGVyczogMCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDU1MCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1NTApIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1NTApIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXZlcnRpY2FsLWZvci14bGFyZ2UjeycgJyArICZ9IHtcbiAgICAgICAgJl9fc3VwZXItdGl0bGUge1xuICAgICAgICAgICAgJjpmaXJzdC1saW5lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3b3JkLXNwYWNpbmc6IHJlbS1jYWxjKDM3MCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCxcbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDEsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zaGFkb3ctZm9yLW1lZGl1bSN7JyAnICsgJn0ge1xuICAgICAgICAmX193cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1icm9jaHVyZSB7XG4gICAgICAgIC5qYWwtY2FyZF9fd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTkwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2MDApIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDI3MCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDM3MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuamFsLWNhcmRfX2hlYWRpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXVsdGlsaW5lLXRydW5jYXRlKDEuMTI1cmVtLCAkamFsLWNhcmQtdGl0bGUtbGluZS1oZWlnaHQsIDIpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLmphbC1zdGVwcyB7XG4gICAgQGluY2x1ZGUgamFsLWdyaWQoKCdoZWFkZXInLCAnZ3JpZCcsICduYXYnKSk7XG4gICAgQGluY2x1ZGUgamFsLWNvbnRlbnQoJGJvZHktY2xhc3M6ICduYXYnKTtcbiAgICBAaW5jbHVkZSBqYWwtY2Fyb3VzZWwtbmV4dC1wcmV2aW91cygkdG9wOiBhdXRvLCAkYm90dG9tOiAtMWVtKTtcblxuICAgICZfX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IHNocmluaywgJGd1dHRlcnM6IDApO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjhlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5nIHtcbiAgICAgICAgJiN7JismfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNzVlbTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMC44ZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNsaWNrLWFjdGl2ZSA+ICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ncmlkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiAtMS42ZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDVlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXN0ZXAtcG9zaXRpb24pO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25leHQsXG4gICAgJl9fcHJldiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBqYWwtYnV0dG9uLXN0eWxlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMgPiBzcGFuLFxuICAgICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGJsYWNrLCAwLjk4KTtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25leHQge1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAmX19wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIC5zbGljay1jdXJyZW50IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbn1cbiIsIi5qYWwtc3RlcCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDoganVzdGlmeSk7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiA1IG9mIDEyLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMy43IG9mIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvKCRjb250ZW50OiBhdHRyKGRhdGEtc3RlcCkpO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg3MCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCR3aGl0ZSwgMC4xKTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkY2FyZC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAxLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiA3IG9mIDEyLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogOC4zIG9mIDEyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5qYWwtYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcblxuICAgID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEwMCUsICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDI1JSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5qYWwtZm9ybSB7XG4gICAgQGluY2x1ZGUgamFsLWdyaWQoJGl0ZW1zOiAoJ2Zvcm0nLCAncGhvbmUnLCAnaGVhZGVyJywgJ2JvZHknKSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbGVnZW5kIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgJl9fZm9ybSxcbiAgICAmX19waG9uZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICB9XG5cbiAgICAmX19wb3N0LXN1Ym1pdCB7XG4gICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICAgIH1cblxuICAgICZfX3Bvc3Qtc3VibWl0LW1lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgYm94LXNoYWRvdzogJGphbGNvbi1ib3gtc2hhZG93O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgLyAyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgIH1cblxuICAgICZfX3Byb2R1Y3QtbGFiZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6ICRjYXJkLXBhZGRpbmcgLyAyICRjYXJkLXBhZGRpbmc7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJl9fY2xlYXJmaXgge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgc21hbGwpLCAkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgICZfX2Z1bGwtcm93LFxuICAgICZfX2hhbGYtcm93LFxuICAgICZfX3RoaXJkLXJvdyxcbiAgICAmX19zaHJpbmstcm93LFxuICAgICZfX2F1dG8tcm93LFxuICAgICZfX3R3by10aGlyZHMtcm93LFxuICAgICZfXzQ1LXBlcmNlbnQtcm93LFxuICAgICZfXzU1LXBlcmNlbnQtcm93IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAxLCAkYnJlYWtwb2ludDogc21hbGwsICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQpO1xuICAgIH1cblxuICAgICZfX2Z1bGwtcm93IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oYWxmLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDIsICRicmVha3BvaW50OiBzbWFsbClcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RoaXJkLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDMpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190d28tdGhpcmRzLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAyIG9mIDMsICAkYnJlYWtwb2ludDogc21hbGwpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hdXRvLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBhdXRvLCAgJGJyZWFrcG9pbnQ6IHNtYWxsKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2hyaW5rLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBzaHJpbmssICAkYnJlYWtwb2ludDogc21hbGwpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX180NS1wZXJjZW50LXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDQ1JSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfXzU1LXBlcmNlbnQtcm93IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNTUlLCAgJGJyZWFrcG9pbnQ6IHNtYWxsKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGhvbmUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvbXBsZXRlIHtcbiAgICAgICAgLmphbC1mb3JtX19wcmUtc3VibWl0LFxuICAgICAgICAuamFsLWZvcm1fX2ludHJvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuamFsLWZvcm1fX3Bvc3Qtc3VibWl0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qYWwtZm9ybV9fcG9zdC1zdWJtaXQtbWVzc2FnZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogY3VzdG9tLTE7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkamFsY29uLXRyYW5zaXRpb24tZWFzZS1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uZXdzbGV0dGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkZGFyay1ncmF5LCAkZGFyay1ncmF5IDEycHgsIGRhcmtlbigkZGFyay1ncmF5LCAwLjUlKSAxMnB4LCBkYXJrZW4oJGRhcmstZ3JheSwgMC41JSkgMjRweCk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMTEwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkaHItYm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1mb3JtX193cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oanVzdGlmeSwgYm90dG9tKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qYWwtZm9ybV9fZm9ybSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg3MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmphbC1mb3JtX19waG9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgzMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY29udGFjdCB7XG4gICAgICAgIC5qYWwtZm9ybSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBqYWwtY29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qYWwtZm9ybV9fZm9ybSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBmdWxsLCAkZ3V0dGVyczogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuamFsLWZvcm1fX3ByZS1zdWJtaXQge1xuICAgICAgICAgICAgPiBmaWVsZHNldCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtKG1hcC1nZXQoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCBzbWFsbCkpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLShtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgc21hbGwpKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAgbWFwLWdldCgkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIHNtYWxsKSAgIG1hcC1nZXQoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCBzbWFsbCkgIDAgO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAvIDI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAgJGNhcmQtcGFkZGluZyAkY2FyZC1wYWRkaW5nICRjYXJkLXBhZGRpbmcgLSBtYXAtZ2V0KCRncmlkLXBhZGRpbmctZ3V0dGVycywgc21hbGwpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tZXJyb3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGFsZXJ0LWNvbG9yLCA0MCUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpub3QoW2RhdGEtcGVyc2lzdF0pIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGxpbmVhciwgdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTEsIDAuOTIsIDAuMDUsIDAuOTkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgICBAZXh0ZW5kICVoNDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkc2V0LFxuICAgICAgICBsZWdlbmQge1xuICAgICAgICAgICAgJlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgICAgICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgICAgICAgICAgICAgKyBbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXG4gICAgICAgICAgICAgICAgICAgICsgW2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBbaWQ9J2pzLXByb3BlcnR5LXR5cGUnXSxcbiAgICAgICAgW2lkPSdqcy1wcm9qZWN0LXR5cGUnXSB7XG4gICAgICAgICAgICAmW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBbbmFtZT0nUG9zdGFsQ29kZSddIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMjIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIFt0eXBlPSd0ZXh0J10sXG4gICAgICAgIFt0eXBlPSd0ZWwnXSxcbiAgICAgICAgW3R5cGU9J2VtYWlsJ10sXG4gICAgICAgIFt0eXBlPSdzdWJtaXQnXSxcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCBzbWFsbCk7XG5cbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmphbC1zb2NpYWwtbGlua3Mge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgbWlkZGxlKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBhdXRvLCAkZ3V0dGVyczogMC41ZW0pO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDUpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICB9XG59XG4iLCIuamFsLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXJlc2V0KCRjb2xvcjogJHByaW1hcnktY29sb3IsICRiYWNrZ3JvdW5kLWNvbG9yOiAkamFsY29uLWxpZ2h0LWJlaWdlKTtcbiAgICBAaW5jbHVkZSBqYWwtZ3JpZCgpO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuXG4gICAgYSB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgb3BhY2l0eSBsaW5lYXI7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAyICogJGdsb2JhbC1wYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGp1c3RpZnksIHRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycztcbiAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGphbGNvbi1lZ2ctc2hlbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hd2FyZHMsXG4gICAgJl9fbWVudXMsXG4gICAgJl9fYnJhbmQsXG4gICAgJl9fbG9nbyxcbiAgICAmX19jcmVkaXQsXG4gICAgJl9fc2l0ZS1saW5rcyAgIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAxLCAkYnJlYWtwb2ludDogc21hbGwpO1xuICAgIH1cblxuICAgICZfX2F3YXJkcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKHNocmluayk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXdhcmRzLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pLCAkbmVnYXRpdmU6IHRydWUpO1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAyICogJGdsb2JhbC1wYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQsIG1pZGRsZSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg0MDApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBtaWRkbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXdhcmQge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKHNocmluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51cyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0byk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51cy13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgdG9wKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDUwMCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIHRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihsZWZ0LCB0b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3ApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIHRvcCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDUwMCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAyLCAkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWVkaXVtKSAqIDIpO1xuXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAyKVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudS1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudS1saW5rIHtcbiAgICAgICAgJiN7Jn0ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJl9fYnJhbmQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChzaHJpbmspO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmFuZC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIHRvcCk7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjczKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIHRvcCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdsb2JhbC1wYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKHNocmluaywgJGd1dHRlcnM6IDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTg1KTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDYxKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjczKTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg5MCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc29jaWFsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAxLCAkZ3V0dGVyczogMCk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgICAgY29sb3I6ICRqYWxjb24tZ3JheTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NyZWRpdCxcbiAgICAmX19zaXRlLWxpbmtzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoc2hyaW5rKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NyZWRpdCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRnbG9iYWwtcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3NpdGUtbGlua3Mge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ2xvYmFsLXBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIG1pZGRsZSk7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuamFsLXNlYXJjaC1yZXN1bHRzIHtcbiAgICBAaW5jbHVkZSBqYWwtZ3JpZCgkaXRlbXM6ICdib2R5Jyk7XG5cbiAgICAmX19yZXN1bHQtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgfVxufVxuIl19 */
