@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Overpass:400,400i,600,900");
/**
 * Foundation for Sites by ZURB
 * Version 6.4.4-rc1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .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 {
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 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 {
  margin: 0.67em 0;
  font-size: 2em; }

/* 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 {
  -webkit-box-sizing: content-box;
          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 {
  /* 1 */
  -webkit-text-decoration-skip: objects;
  background-color: transparent;
  /* 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 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

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

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

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

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

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

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

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  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 {
  /* 1 */
  margin: 0;
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 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 {
    padding: 0;
    border-style: none; }
  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"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

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

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

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  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=40em&large=64em&xlarge=75em&xxlarge=90em&wide=120em"; }

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

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

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
  background: #fefefe;
  color: #0a0a0a;
  font-family: "Overpass", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.52947; }

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

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

select {
  -webkit-box-sizing: border-box;
          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 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  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 {
  max-width: 1200px;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem; }
  .grid-container.fluid {
    max-width: 100%;
    margin: 0 auto;
    padding-right: 1rem;
    padding-left: 1rem; }
  .grid-container.full {
    max-width: 100%;
    margin: 0 auto;
    padding-right: 0;
    padding-left: 0; }

.grid-x {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
  min-width: 0px;
  min-height: 0px; }
  .cell.auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -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 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .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 {
    -webkit-flex-basis: auto;
        -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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

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

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

@media screen and (min-width: 120em) {
  .grid-x > .wide-shrink, .grid-x > .wide-full, .grid-x > .wide-1, .grid-x > .wide-2, .grid-x > .wide-3, .grid-x > .wide-4, .grid-x > .wide-5, .grid-x > .wide-6, .grid-x > .wide-7, .grid-x > .wide-8, .grid-x > .wide-9, .grid-x > .wide-10, .grid-x > .wide-11, .grid-x > .wide-12 {
    -webkit-flex-basis: auto;
        -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: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -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 {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -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%; } }

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

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

@media screen and (min-width: 120em) {
  .grid-x > .wide-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .wide-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .wide-1 {
    width: 8.33333%; }
  .grid-x > .wide-2 {
    width: 16.66667%; }
  .grid-x > .wide-3 {
    width: 25%; }
  .grid-x > .wide-4 {
    width: 33.33333%; }
  .grid-x > .wide-5 {
    width: 41.66667%; }
  .grid-x > .wide-6 {
    width: 50%; }
  .grid-x > .wide-7 {
    width: 58.33333%; }
  .grid-x > .wide-8 {
    width: 66.66667%; }
  .grid-x > .wide-9 {
    width: 75%; }
  .grid-x > .wide-10 {
    width: 83.33333%; }
  .grid-x > .wide-11 {
    width: 91.66667%; }
  .grid-x > .wide-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-right: -1rem;
  margin-left: -1rem; }
  .grid-margin-x > .cell {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem; }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 2rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 2rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 2rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 2rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 2rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 2rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 2rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 2rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 2rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 2rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 2rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 2rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 2rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 2rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 2rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 2rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 2rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 2rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 2rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 2rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 2rem); } }
  @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% - 2rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 2rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 2rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 2rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 2rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 2rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 2rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 2rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 2rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 2rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 2rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 2rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 2rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 2rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 2rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 2rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 2rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(8.33333% - 2rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(16.66667% - 2rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(33.33333% - 2rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(41.66667% - 2rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(58.33333% - 2rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(66.66667% - 2rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(83.33333% - 2rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(91.66667% - 2rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(100% - 2rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-x > .wide-auto {
      width: auto; }
    .grid-margin-x > .wide-shrink {
      width: auto; }
    .grid-margin-x > .wide-1 {
      width: calc(8.33333% - 2rem); }
    .grid-margin-x > .wide-2 {
      width: calc(16.66667% - 2rem); }
    .grid-margin-x > .wide-3 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .wide-4 {
      width: calc(33.33333% - 2rem); }
    .grid-margin-x > .wide-5 {
      width: calc(41.66667% - 2rem); }
    .grid-margin-x > .wide-6 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .wide-7 {
      width: calc(58.33333% - 2rem); }
    .grid-margin-x > .wide-8 {
      width: calc(66.66667% - 2rem); }
    .grid-margin-x > .wide-9 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .wide-10 {
      width: calc(83.33333% - 2rem); }
    .grid-margin-x > .wide-11 {
      width: calc(91.66667% - 2rem); }
    .grid-margin-x > .wide-12 {
      width: calc(100% - 2rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -1rem;
  margin-left: -1rem; }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -1rem;
  margin-left: -1rem; }

.grid-padding-x > .cell {
  padding-right: 1rem;
  padding-left: 1rem; }

.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: 40em) {
  .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%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: 40em) {
    .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%; } }
  @media screen and (min-width: 75em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 90em) {
    .small-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xxlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 120em) {
    .small-margin-collapse > .wide-1 {
      width: 8.33333%; }
    .small-margin-collapse > .wide-2 {
      width: 16.66667%; }
    .small-margin-collapse > .wide-3 {
      width: 25%; }
    .small-margin-collapse > .wide-4 {
      width: 33.33333%; }
    .small-margin-collapse > .wide-5 {
      width: 41.66667%; }
    .small-margin-collapse > .wide-6 {
      width: 50%; }
    .small-margin-collapse > .wide-7 {
      width: 58.33333%; }
    .small-margin-collapse > .wide-8 {
      width: 66.66667%; }
    .small-margin-collapse > .wide-9 {
      width: 75%; }
    .small-margin-collapse > .wide-10 {
      width: 83.33333%; }
    .small-margin-collapse > .wide-11 {
      width: 91.66667%; }
    .small-margin-collapse > .wide-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: 40em) {
  .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: 40em) {
  .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: 40em) {
  .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 screen and (min-width: 75em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

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

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

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

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

@media screen and (min-width: 120em) {
  .large-margin-collapse > .wide-1 {
    width: 8.33333%; }
  .large-margin-collapse > .wide-2 {
    width: 16.66667%; }
  .large-margin-collapse > .wide-3 {
    width: 25%; }
  .large-margin-collapse > .wide-4 {
    width: 33.33333%; }
  .large-margin-collapse > .wide-5 {
    width: 41.66667%; }
  .large-margin-collapse > .wide-6 {
    width: 50%; }
  .large-margin-collapse > .wide-7 {
    width: 58.33333%; }
  .large-margin-collapse > .wide-8 {
    width: 66.66667%; }
  .large-margin-collapse > .wide-9 {
    width: 75%; }
  .large-margin-collapse > .wide-10 {
    width: 83.33333%; }
  .large-margin-collapse > .wide-11 {
    width: 91.66667%; }
  .large-margin-collapse > .wide-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; } }

@media screen and (min-width: 75em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

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

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

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

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

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

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

@media screen and (min-width: 75em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

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

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

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

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

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

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

@media screen and (min-width: 90em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .wide-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

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

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

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

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

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

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

@media screen and (min-width: 120em) {
  .wide-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .wide-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% + 1rem); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto;
    max-width: none; }
  .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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .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 {
      -webkit-flex-basis: auto;
          -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 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 75em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 120em) {
    .grid-y > .wide-shrink, .grid-y > .wide-full, .grid-y > .wide-1, .grid-y > .wide-2, .grid-y > .wide-3, .grid-y > .wide-4, .grid-y > .wide-5, .grid-y > .wide-6, .grid-y > .wide-7, .grid-y > .wide-8, .grid-y > .wide-9, .grid-y > .wide-10, .grid-y > .wide-11, .grid-y > .wide-12 {
      -webkit-flex-basis: auto;
          -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: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -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 {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -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%; } }
  @media screen and (min-width: 75em) {
    .grid-y > .xlarge-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 120em) {
    .grid-y > .wide-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .wide-shrink {
      height: auto; }
    .grid-y > .wide-1 {
      height: 8.33333%; }
    .grid-y > .wide-2 {
      height: 16.66667%; }
    .grid-y > .wide-3 {
      height: 25%; }
    .grid-y > .wide-4 {
      height: 33.33333%; }
    .grid-y > .wide-5 {
      height: 41.66667%; }
    .grid-y > .wide-6 {
      height: 50%; }
    .grid-y > .wide-7 {
      height: 58.33333%; }
    .grid-y > .wide-8 {
      height: 66.66667%; }
    .grid-y > .wide-9 {
      height: 75%; }
    .grid-y > .wide-10 {
      height: 83.33333%; }
    .grid-y > .wide-11 {
      height: 91.66667%; }
    .grid-y > .wide-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -1rem;
  margin-bottom: -1rem; }

.grid-padding-y > .cell {
  padding-top: 1rem;
  padding-bottom: 1rem; }

.grid-margin-y {
  margin-top: -1rem;
  margin-bottom: -1rem; }
  .grid-margin-y > .cell {
    height: calc(100% - 2rem);
    margin-top: 1rem;
    margin-bottom: 1rem; }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 2rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 2rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 2rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 2rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 2rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 2rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 2rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 2rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2rem); } }
  @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% - 2rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-y > .wide-auto {
      height: auto; }
    .grid-margin-y > .wide-shrink {
      height: auto; }
    .grid-margin-y > .wide-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .wide-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .wide-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .wide-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .wide-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .wide-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .wide-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .wide-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .wide-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .wide-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .wide-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .wide-12 {
      height: calc(100% - 2rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 75em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 90em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 120em) {
  .cell .grid-y.wide-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -1rem;
  margin-bottom: -1rem; }
  .grid-margin-y > .cell {
    height: calc(100% - 2rem);
    margin-top: 1rem;
    margin-bottom: 1rem; }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 2rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 2rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 2rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 2rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 2rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 2rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 2rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 2rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2rem); } }
  @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% - 2rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-y > .wide-auto {
      height: auto; }
    .grid-margin-y > .wide-shrink {
      height: auto; }
    .grid-margin-y > .wide-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .wide-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .wide-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .wide-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .wide-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .wide-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .wide-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .wide-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .wide-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .wide-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .wide-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .wide-12 {
      height: calc(100% - 2rem); } }

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

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

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

@media screen and (min-width: 75em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 2rem); } }

@media screen and (min-width: 90em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 2rem); } }

@media screen and (min-width: 120em) {
  .grid-margin-y.wide-grid-frame {
    height: calc(100vh + 2rem); } }

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.52947;
  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 {
  color: inherit;
  font-family: "Overpass", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-style: normal;
  font-weight: bold;
  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 {
    color: #4a4a4a;
    line-height: 0; }

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

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

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

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

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

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

@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 3.375rem; }
  h2, .h2 {
    font-size: 1.75rem; }
  h3, .h3 {
    font-size: 1.375rem; }
  h4, .h4 {
    font-size: 1.25rem; } }

@media screen and (min-width: 90em) {
  h1, .h1 {
    font-size: 4.0625rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 1.5rem; } }

a {
  color: #ed1c2e;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #0a0a0a; }
  a img {
    border: 0; }

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

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

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-bottom: 0;
  margin-left: 1.25rem; }

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: 1px solid #4a4a4a; }
  blockquote, blockquote p {
    color: #2a2a2a;
    line-height: 1.52947; }

cite {
  display: block;
  color: #2a2a2a;
  font-size: 0.8125rem; }
  cite:before {
    content: "— "; }

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

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #4a4a4a;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal; }

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

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

.lead {
  font-size: 125%;
  line-height: 1.52947; }

.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: 40em) {
  .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; } }

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 120em) {
  .wide-text-left {
    text-align: left; }
  .wide-text-right {
    text-align: right; }
  .wide-text-center {
    text-align: center; }
  .wide-text-justify {
    text-align: justify; } }

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    -webkit-box-shadow: none !important;
            box-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 #2a2a2a;
    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, .gdpr-framework-privacy-tools .button,
#gdpr-submit {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: #ed1c2e;
  color: #fefefe;
  font-family: inherit;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse']
  #gdpr-submit {
    outline: 0; }
  .button:hover,
  #gdpr-submit:hover, .button:focus,
  #gdpr-submit:focus {
    background-color: #4a4a4a;
    color: #fefefe; }
  .button.tiny,
  .tiny#gdpr-submit {
    font-size: 0.6rem; }
  .button.small,
  .small#gdpr-submit {
    font-size: 0.75rem; }
  .button.large,
  .large#gdpr-submit {
    font-size: 1.25rem; }
  .button.expanded,
  .expanded#gdpr-submit {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary,
  .primary#gdpr-submit {
    background-color: #ed1c2e;
    color: #0a0a0a; }
    .button.primary:hover,
    .primary#gdpr-submit:hover, .button.primary:focus,
    .primary#gdpr-submit:focus {
      background-color: #c4101f;
      color: #0a0a0a; }
  .button.secondary,
  .secondary#gdpr-submit {
    background-color: #4b3f34;
    color: #fefefe; }
    .button.secondary:hover,
    .secondary#gdpr-submit:hover, .button.secondary:focus,
    .secondary#gdpr-submit:focus {
      background-color: #3c322a;
      color: #fefefe; }
  .button.success,
  .success#gdpr-submit {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover,
    .success#gdpr-submit:hover, .button.success:focus,
    .success#gdpr-submit:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning,
  .warning#gdpr-submit {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover,
    .warning#gdpr-submit:hover, .button.warning:focus,
    .warning#gdpr-submit:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert,
  .alert#gdpr-submit {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover,
    .alert#gdpr-submit:hover, .button.alert:focus,
    .alert#gdpr-submit:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled,
  .disabled#gdpr-submit, .button[disabled],
  [disabled]#gdpr-submit {
    cursor: not-allowed;
    opacity: 0.25; }
    .button.disabled,
    .disabled#gdpr-submit, .button.disabled:hover,
    .disabled#gdpr-submit:hover, .button.disabled:focus,
    .disabled#gdpr-submit:focus, .button[disabled],
    [disabled]#gdpr-submit, .button[disabled]:hover,
    [disabled]#gdpr-submit:hover, .button[disabled]:focus,
    [disabled]#gdpr-submit:focus {
      background-color: #ed1c2e;
      color: #fefefe; }
    .button.disabled.primary,
    .disabled.primary#gdpr-submit, .button[disabled].primary,
    [disabled].primary#gdpr-submit {
      cursor: not-allowed;
      opacity: 0.25; }
      .button.disabled.primary,
      .disabled.primary#gdpr-submit, .button.disabled.primary:hover,
      .disabled.primary#gdpr-submit:hover, .button.disabled.primary:focus,
      .disabled.primary#gdpr-submit:focus, .button[disabled].primary,
      [disabled].primary#gdpr-submit, .button[disabled].primary:hover,
      [disabled].primary#gdpr-submit:hover, .button[disabled].primary:focus,
      [disabled].primary#gdpr-submit:focus {
        background-color: #ed1c2e;
        color: #0a0a0a; }
    .button.disabled.secondary,
    .disabled.secondary#gdpr-submit, .button[disabled].secondary,
    [disabled].secondary#gdpr-submit {
      cursor: not-allowed;
      opacity: 0.25; }
      .button.disabled.secondary,
      .disabled.secondary#gdpr-submit, .button.disabled.secondary:hover,
      .disabled.secondary#gdpr-submit:hover, .button.disabled.secondary:focus,
      .disabled.secondary#gdpr-submit:focus, .button[disabled].secondary,
      [disabled].secondary#gdpr-submit, .button[disabled].secondary:hover,
      [disabled].secondary#gdpr-submit:hover, .button[disabled].secondary:focus,
      [disabled].secondary#gdpr-submit:focus {
        background-color: #4b3f34;
        color: #fefefe; }
    .button.disabled.success,
    .disabled.success#gdpr-submit, .button[disabled].success,
    [disabled].success#gdpr-submit {
      cursor: not-allowed;
      opacity: 0.25; }
      .button.disabled.success,
      .disabled.success#gdpr-submit, .button.disabled.success:hover,
      .disabled.success#gdpr-submit:hover, .button.disabled.success:focus,
      .disabled.success#gdpr-submit:focus, .button[disabled].success,
      [disabled].success#gdpr-submit, .button[disabled].success:hover,
      [disabled].success#gdpr-submit:hover, .button[disabled].success:focus,
      [disabled].success#gdpr-submit:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning,
    .disabled.warning#gdpr-submit, .button[disabled].warning,
    [disabled].warning#gdpr-submit {
      cursor: not-allowed;
      opacity: 0.25; }
      .button.disabled.warning,
      .disabled.warning#gdpr-submit, .button.disabled.warning:hover,
      .disabled.warning#gdpr-submit:hover, .button.disabled.warning:focus,
      .disabled.warning#gdpr-submit:focus, .button[disabled].warning,
      [disabled].warning#gdpr-submit, .button[disabled].warning:hover,
      [disabled].warning#gdpr-submit:hover, .button[disabled].warning:focus,
      [disabled].warning#gdpr-submit:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert,
    .disabled.alert#gdpr-submit, .button[disabled].alert,
    [disabled].alert#gdpr-submit {
      cursor: not-allowed;
      opacity: 0.25; }
      .button.disabled.alert,
      .disabled.alert#gdpr-submit, .button.disabled.alert:hover,
      .disabled.alert#gdpr-submit:hover, .button.disabled.alert:focus,
      .disabled.alert#gdpr-submit:focus, .button[disabled].alert,
      [disabled].alert#gdpr-submit, .button[disabled].alert:hover,
      [disabled].alert#gdpr-submit:hover, .button[disabled].alert:focus,
      [disabled].alert#gdpr-submit:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow,
  .hollow#gdpr-submit {
    border: 1px solid #ed1c2e;
    color: #ed1c2e; }
    .button.hollow,
    .hollow#gdpr-submit, .button.hollow:hover,
    .hollow#gdpr-submit:hover, .button.hollow:focus,
    .hollow#gdpr-submit:focus {
      background-color: transparent; }
    .button.hollow.disabled,
    .hollow.disabled#gdpr-submit, .button.hollow.disabled:hover,
    .hollow.disabled#gdpr-submit:hover, .button.hollow.disabled:focus,
    .hollow.disabled#gdpr-submit:focus, .button.hollow[disabled],
    .hollow[disabled]#gdpr-submit, .button.hollow[disabled]:hover,
    .hollow[disabled]#gdpr-submit:hover, .button.hollow[disabled]:focus,
    .hollow[disabled]#gdpr-submit:focus {
      background-color: transparent; }
    .button.hollow:hover,
    .hollow#gdpr-submit:hover, .button.hollow:focus,
    .hollow#gdpr-submit:focus {
      border-color: #7b0a13;
      color: #7b0a13; }
      .button.hollow:hover.disabled,
      .hollow#gdpr-submit:hover.disabled, .button.hollow:hover[disabled],
      .hollow#gdpr-submit:hover[disabled], .button.hollow:focus.disabled,
      .hollow#gdpr-submit:focus.disabled, .button.hollow:focus[disabled],
      .hollow#gdpr-submit:focus[disabled] {
        border: 1px solid #ed1c2e;
        color: #ed1c2e; }
    .button.hollow.primary,
    .hollow.primary#gdpr-submit {
      border: 1px solid #ed1c2e;
      color: #ed1c2e; }
      .button.hollow.primary:hover,
      .hollow.primary#gdpr-submit:hover, .button.hollow.primary:focus,
      .hollow.primary#gdpr-submit:focus {
        border-color: #7b0a13;
        color: #7b0a13; }
        .button.hollow.primary:hover.disabled,
        .hollow.primary#gdpr-submit:hover.disabled, .button.hollow.primary:hover[disabled],
        .hollow.primary#gdpr-submit:hover[disabled], .button.hollow.primary:focus.disabled,
        .hollow.primary#gdpr-submit:focus.disabled, .button.hollow.primary:focus[disabled],
        .hollow.primary#gdpr-submit:focus[disabled] {
          border: 1px solid #ed1c2e;
          color: #ed1c2e; }
    .button.hollow.secondary,
    .hollow.secondary#gdpr-submit {
      border: 1px solid #4b3f34;
      color: #4b3f34; }
      .button.hollow.secondary:hover,
      .hollow.secondary#gdpr-submit:hover, .button.hollow.secondary:focus,
      .hollow.secondary#gdpr-submit:focus {
        border-color: #26201a;
        color: #26201a; }
        .button.hollow.secondary:hover.disabled,
        .hollow.secondary#gdpr-submit:hover.disabled, .button.hollow.secondary:hover[disabled],
        .hollow.secondary#gdpr-submit:hover[disabled], .button.hollow.secondary:focus.disabled,
        .hollow.secondary#gdpr-submit:focus.disabled, .button.hollow.secondary:focus[disabled],
        .hollow.secondary#gdpr-submit:focus[disabled] {
          border: 1px solid #4b3f34;
          color: #4b3f34; }
    .button.hollow.success,
    .hollow.success#gdpr-submit {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover,
      .hollow.success#gdpr-submit:hover, .button.hollow.success:focus,
      .hollow.success#gdpr-submit:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled,
        .hollow.success#gdpr-submit:hover.disabled, .button.hollow.success:hover[disabled],
        .hollow.success#gdpr-submit:hover[disabled], .button.hollow.success:focus.disabled,
        .hollow.success#gdpr-submit:focus.disabled, .button.hollow.success:focus[disabled],
        .hollow.success#gdpr-submit:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning,
    .hollow.warning#gdpr-submit {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover,
      .hollow.warning#gdpr-submit:hover, .button.hollow.warning:focus,
      .hollow.warning#gdpr-submit:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled,
        .hollow.warning#gdpr-submit:hover.disabled, .button.hollow.warning:hover[disabled],
        .hollow.warning#gdpr-submit:hover[disabled], .button.hollow.warning:focus.disabled,
        .hollow.warning#gdpr-submit:focus.disabled, .button.hollow.warning:focus[disabled],
        .hollow.warning#gdpr-submit:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert,
    .hollow.alert#gdpr-submit {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover,
      .hollow.alert#gdpr-submit:hover, .button.hollow.alert:focus,
      .hollow.alert#gdpr-submit:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled,
        .hollow.alert#gdpr-submit:hover.disabled, .button.hollow.alert:hover[disabled],
        .hollow.alert#gdpr-submit:hover[disabled], .button.hollow.alert:focus.disabled,
        .hollow.alert#gdpr-submit:focus.disabled, .button.hollow.alert:focus[disabled],
        .hollow.alert#gdpr-submit:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear,
  .clear#gdpr-submit {
    border: 1px solid #ed1c2e;
    color: #ed1c2e; }
    .button.clear,
    .clear#gdpr-submit, .button.clear:hover,
    .clear#gdpr-submit:hover, .button.clear:focus,
    .clear#gdpr-submit:focus {
      background-color: transparent; }
    .button.clear.disabled,
    .clear.disabled#gdpr-submit, .button.clear.disabled:hover,
    .clear.disabled#gdpr-submit:hover, .button.clear.disabled:focus,
    .clear.disabled#gdpr-submit:focus, .button.clear[disabled],
    .clear[disabled]#gdpr-submit, .button.clear[disabled]:hover,
    .clear[disabled]#gdpr-submit:hover, .button.clear[disabled]:focus,
    .clear[disabled]#gdpr-submit:focus {
      background-color: transparent; }
    .button.clear:hover,
    .clear#gdpr-submit:hover, .button.clear:focus,
    .clear#gdpr-submit:focus {
      border-color: #7b0a13;
      color: #7b0a13; }
      .button.clear:hover.disabled,
      .clear#gdpr-submit:hover.disabled, .button.clear:hover[disabled],
      .clear#gdpr-submit:hover[disabled], .button.clear:focus.disabled,
      .clear#gdpr-submit:focus.disabled, .button.clear:focus[disabled],
      .clear#gdpr-submit:focus[disabled] {
        border: 1px solid #ed1c2e;
        color: #ed1c2e; }
    .button.clear,
    .clear#gdpr-submit, .button.clear.disabled,
    .clear.disabled#gdpr-submit, .button.clear[disabled],
    .clear[disabled]#gdpr-submit, .button.clear:hover,
    .clear#gdpr-submit:hover, .button.clear:hover.disabled,
    .clear#gdpr-submit:hover.disabled, .button.clear:hover[disabled],
    .clear#gdpr-submit:hover[disabled], .button.clear:focus,
    .clear#gdpr-submit:focus, .button.clear:focus.disabled,
    .clear#gdpr-submit:focus.disabled, .button.clear:focus[disabled],
    .clear#gdpr-submit:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary,
    .clear.primary#gdpr-submit {
      border: 1px solid #ed1c2e;
      color: #ed1c2e; }
      .button.clear.primary:hover,
      .clear.primary#gdpr-submit:hover, .button.clear.primary:focus,
      .clear.primary#gdpr-submit:focus {
        border-color: #7b0a13;
        color: #7b0a13; }
        .button.clear.primary:hover.disabled,
        .clear.primary#gdpr-submit:hover.disabled, .button.clear.primary:hover[disabled],
        .clear.primary#gdpr-submit:hover[disabled], .button.clear.primary:focus.disabled,
        .clear.primary#gdpr-submit:focus.disabled, .button.clear.primary:focus[disabled],
        .clear.primary#gdpr-submit:focus[disabled] {
          border: 1px solid #ed1c2e;
          color: #ed1c2e; }
      .button.clear.primary,
      .clear.primary#gdpr-submit, .button.clear.primary.disabled,
      .clear.primary.disabled#gdpr-submit, .button.clear.primary[disabled],
      .clear.primary[disabled]#gdpr-submit, .button.clear.primary:hover,
      .clear.primary#gdpr-submit:hover, .button.clear.primary:hover.disabled,
      .clear.primary#gdpr-submit:hover.disabled, .button.clear.primary:hover[disabled],
      .clear.primary#gdpr-submit:hover[disabled], .button.clear.primary:focus,
      .clear.primary#gdpr-submit:focus, .button.clear.primary:focus.disabled,
      .clear.primary#gdpr-submit:focus.disabled, .button.clear.primary:focus[disabled],
      .clear.primary#gdpr-submit:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary,
    .clear.secondary#gdpr-submit {
      border: 1px solid #4b3f34;
      color: #4b3f34; }
      .button.clear.secondary:hover,
      .clear.secondary#gdpr-submit:hover, .button.clear.secondary:focus,
      .clear.secondary#gdpr-submit:focus {
        border-color: #26201a;
        color: #26201a; }
        .button.clear.secondary:hover.disabled,
        .clear.secondary#gdpr-submit:hover.disabled, .button.clear.secondary:hover[disabled],
        .clear.secondary#gdpr-submit:hover[disabled], .button.clear.secondary:focus.disabled,
        .clear.secondary#gdpr-submit:focus.disabled, .button.clear.secondary:focus[disabled],
        .clear.secondary#gdpr-submit:focus[disabled] {
          border: 1px solid #4b3f34;
          color: #4b3f34; }
      .button.clear.secondary,
      .clear.secondary#gdpr-submit, .button.clear.secondary.disabled,
      .clear.secondary.disabled#gdpr-submit, .button.clear.secondary[disabled],
      .clear.secondary[disabled]#gdpr-submit, .button.clear.secondary:hover,
      .clear.secondary#gdpr-submit:hover, .button.clear.secondary:hover.disabled,
      .clear.secondary#gdpr-submit:hover.disabled, .button.clear.secondary:hover[disabled],
      .clear.secondary#gdpr-submit:hover[disabled], .button.clear.secondary:focus,
      .clear.secondary#gdpr-submit:focus, .button.clear.secondary:focus.disabled,
      .clear.secondary#gdpr-submit:focus.disabled, .button.clear.secondary:focus[disabled],
      .clear.secondary#gdpr-submit:focus[disabled] {
        border-color: transparent; }
    .button.clear.success,
    .clear.success#gdpr-submit {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover,
      .clear.success#gdpr-submit:hover, .button.clear.success:focus,
      .clear.success#gdpr-submit:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled,
        .clear.success#gdpr-submit:hover.disabled, .button.clear.success:hover[disabled],
        .clear.success#gdpr-submit:hover[disabled], .button.clear.success:focus.disabled,
        .clear.success#gdpr-submit:focus.disabled, .button.clear.success:focus[disabled],
        .clear.success#gdpr-submit:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success,
      .clear.success#gdpr-submit, .button.clear.success.disabled,
      .clear.success.disabled#gdpr-submit, .button.clear.success[disabled],
      .clear.success[disabled]#gdpr-submit, .button.clear.success:hover,
      .clear.success#gdpr-submit:hover, .button.clear.success:hover.disabled,
      .clear.success#gdpr-submit:hover.disabled, .button.clear.success:hover[disabled],
      .clear.success#gdpr-submit:hover[disabled], .button.clear.success:focus,
      .clear.success#gdpr-submit:focus, .button.clear.success:focus.disabled,
      .clear.success#gdpr-submit:focus.disabled, .button.clear.success:focus[disabled],
      .clear.success#gdpr-submit:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning,
    .clear.warning#gdpr-submit {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover,
      .clear.warning#gdpr-submit:hover, .button.clear.warning:focus,
      .clear.warning#gdpr-submit:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled,
        .clear.warning#gdpr-submit:hover.disabled, .button.clear.warning:hover[disabled],
        .clear.warning#gdpr-submit:hover[disabled], .button.clear.warning:focus.disabled,
        .clear.warning#gdpr-submit:focus.disabled, .button.clear.warning:focus[disabled],
        .clear.warning#gdpr-submit:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning,
      .clear.warning#gdpr-submit, .button.clear.warning.disabled,
      .clear.warning.disabled#gdpr-submit, .button.clear.warning[disabled],
      .clear.warning[disabled]#gdpr-submit, .button.clear.warning:hover,
      .clear.warning#gdpr-submit:hover, .button.clear.warning:hover.disabled,
      .clear.warning#gdpr-submit:hover.disabled, .button.clear.warning:hover[disabled],
      .clear.warning#gdpr-submit:hover[disabled], .button.clear.warning:focus,
      .clear.warning#gdpr-submit:focus, .button.clear.warning:focus.disabled,
      .clear.warning#gdpr-submit:focus.disabled, .button.clear.warning:focus[disabled],
      .clear.warning#gdpr-submit:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert,
    .clear.alert#gdpr-submit {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover,
      .clear.alert#gdpr-submit:hover, .button.clear.alert:focus,
      .clear.alert#gdpr-submit:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled,
        .clear.alert#gdpr-submit:hover.disabled, .button.clear.alert:hover[disabled],
        .clear.alert#gdpr-submit:hover[disabled], .button.clear.alert:focus.disabled,
        .clear.alert#gdpr-submit:focus.disabled, .button.clear.alert:focus[disabled],
        .clear.alert#gdpr-submit:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert,
      .clear.alert#gdpr-submit, .button.clear.alert.disabled,
      .clear.alert.disabled#gdpr-submit, .button.clear.alert[disabled],
      .clear.alert[disabled]#gdpr-submit, .button.clear.alert:hover,
      .clear.alert#gdpr-submit:hover, .button.clear.alert:hover.disabled,
      .clear.alert#gdpr-submit:hover.disabled, .button.clear.alert:hover[disabled],
      .clear.alert#gdpr-submit:hover[disabled], .button.clear.alert:focus,
      .clear.alert#gdpr-submit:focus, .button.clear.alert:focus.disabled,
      .clear.alert#gdpr-submit:focus.disabled, .button.clear.alert:focus[disabled],
      .clear.alert#gdpr-submit:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after,
  .dropdown#gdpr-submit::after {
    display: block;
    display: inline-block;
    position: relative;
    top: 0.4em;
    width: 0;
    height: 0;
    margin-left: 1em;
    float: right;
    border: inset 0.4em;
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    content: ''; }
  .button.dropdown.hollow::after,
  .dropdown.hollow#gdpr-submit::after {
    border-top-color: #ed1c2e; }
  .button.dropdown.hollow.primary::after,
  .dropdown.hollow.primary#gdpr-submit::after {
    border-top-color: #ed1c2e; }
  .button.dropdown.hollow.secondary::after,
  .dropdown.hollow.secondary#gdpr-submit::after {
    border-top-color: #4b3f34; }
  .button.dropdown.hollow.success::after,
  .dropdown.hollow.success#gdpr-submit::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after,
  .dropdown.hollow.warning#gdpr-submit::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after,
  .dropdown.hollow.alert#gdpr-submit::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after,
  .arrow-only#gdpr-submit::after {
    top: -0.1em;
    margin-left: 0;
    float: none; }

a.button:hover,
a#gdpr-submit:hover, a.button:focus,
a#gdpr-submit: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 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  height: 2.46697rem;
  margin: 0 0 1rem;
  padding: 0.5rem 1rem;
  border: 1px solid rgba(74, 74, 74, 0.3);
  border-radius: 0.25rem;
  background-color: #fefefe;
  color: #0a0a0a;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.52947;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  [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 {
    border: 1px solid #2a2a2a;
    outline: none;
    background-color: #fefefe;
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

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

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #4a4a4a; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #4a4a4a; }

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #4a4a4a; }

input::placeholder,
textarea::placeholder {
  color: #4a4a4a; }

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

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

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

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

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

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

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

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

.help-text {
  margin-top: -0.5rem;
  color: #0a0a0a;
  font-size: 0.8125rem;
  font-style: italic; }

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0.25rem 0 0 0.25rem; }
  .input-group > :last-child > * {
    border-radius: 0 0.25rem 0.25rem 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 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 1rem;
  border: 1px solid #4a4a4a;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

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

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

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

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

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 2.46697rem;
  margin: 0 0 1rem;
  padding: 0.5rem 1rem;
  padding-right: 1.5rem;
  border: 1px solid rgba(74, 74, 74, 0.3);
  border-radius: 0.25rem;
  background-color: #fefefe;
  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%2842, 42, 42%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  color: #0a0a0a;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.52947;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s 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 {
    border: 1px solid #2a2a2a;
    outline: none;
    background-color: #fefefe;
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    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: #f9ecea; }
  .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)::-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.5rem;
  margin-bottom: 1rem;
  color: #cc4b37;
  font-size: 0.75rem;
  font-weight: bold; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  display: block;
  position: relative;
  padding: 1rem;
  border: 0;
  border-bottom: 0;
  color: #ed1c2e;
  font-size: 1.125rem;
  line-height: 1; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 0;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #fefefe; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 0;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0a0a0a; }
  :last-child > .accordion-content:last-child {
    border-bottom: 0; }

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

.drilldown a {
  padding: 0.7rem 1rem;
  background: #2a2a2a; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  width: 100%;
  background: #2a2a2a;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  z-index: -1; }
  .drilldown .is-drilldown-submenu.is-active {
    display: block;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    z-index: 1; }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

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

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

.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;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: rgba(42, 42, 42, 0.8);
  opacity: 0;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  visibility: hidden;
  z-index: 11; }
  .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;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #2a2a2a;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  z-index: 12; }
  [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 {
      -webkit-box-shadow: none;
              box-shadow: none; }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #2a2a2a;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  z-index: 12; }
  [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 {
      -webkit-box-shadow: none;
              box-shadow: none; }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

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

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

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

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

.off-canvas-content {
  -webkit-transform: none;
          transform: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

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

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

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 100%; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 100%; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 100%; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 100%; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 100%; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 100%; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 100%; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 100%; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 100%; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 100%; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 100%; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 100%; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 100%; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 100%; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 100%; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 100%; } }

@media screen and (min-width: 120em) {
  .position-left.reveal-for-wide {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-left.reveal-for-wide .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-wide {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 100%; }
    .position-left.reveal-for-wide ~ .off-canvas-content {
      margin-left: 100%; }
  .position-right.reveal-for-wide {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-right.reveal-for-wide .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-wide {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 100%; }
    .position-right.reveal-for-wide ~ .off-canvas-content {
      margin-right: 100%; }
  .position-top.reveal-for-wide {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-top.reveal-for-wide .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-wide {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 100%; }
    .position-top.reveal-for-wide ~ .off-canvas-content {
      margin-top: 100%; }
  .position-bottom.reveal-for-wide {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
    z-index: 12; }
    .position-bottom.reveal-for-wide .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-wide {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 100%; }
    .position-bottom.reveal-for-wide ~ .off-canvas-content {
      margin-bottom: 100%; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    position: static;
    width: inherit;
    height: auto;
    overflow: inherit;
    background: inherit;
    -webkit-transition: inherit;
    transition: inherit;
    visibility: visible; }
    .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 {
      -webkit-transform: none;
              transform: none;
      -webkit-box-shadow: none;
              box-shadow: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    position: static;
    width: inherit;
    height: auto;
    overflow: inherit;
    background: inherit;
    -webkit-transition: inherit;
    transition: inherit;
    visibility: visible; }
    .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 {
      -webkit-transform: none;
              transform: none;
      -webkit-box-shadow: none;
              box-shadow: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

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

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

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

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: scroll; }
  html.is-reveal-open body {
    overflow: hidden; }

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

.reveal {
  display: none;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background-color: #fefefe;
  z-index: 1006; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 1200px; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 1200px; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 1200px; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 1200px; } }
  .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: 39.9375em) {
    .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; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
  border-collapse: collapse; }
  thead, tbody, tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #0a0a0a; }
  tfoot {
    background: #f1f1f1;
    color: #0a0a0a; }
  thead tr, tfoot tr {
    background: transparent; }
  thead th, thead td, tfoot th, tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th, tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.align-left {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

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

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

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

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

.align-left.vertical.menu > li > a {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

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

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

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

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

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

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

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

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

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

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

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

.small-order-1 {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

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

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 120em) {
  .wide-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .wide-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .wide-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .wide-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .wide-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .wide-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

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

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

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

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

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

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

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

@media screen and (min-width: 75em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 90em) {
  .xxlarge-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xxlarge-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 120em) {
  .wide-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .wide-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .wide-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .wide-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .wide-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .wide-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .wide-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .wide-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

html .gform_wrapper.gravity-theme .gform_required_legend, .reveal--slider img,
.u-screen-reader {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0; }


.u-clearfix::before,
.u-clearfix::after {
  display: table;
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  content: ' '; }


.u-clearfix::after {
  clear: both; }

.wysiwyg a[href*='//']:not([href*='.dev']):not([href*='imascominerals.com']):after,
.u-external-link:after {
  display: inline-block;
  margin-bottom: 2px;
  margin-left: 2px;
  content: "" url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMDNEQTZEMTRBQkQxMUU2OTE4QUI0MjgzMTVDQUJGNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMDNEQTZEMjRBQkQxMUU2OTE4QUI0MjgzMTVDQUJGNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMwM0RBNkNGNEFCRDExRTY5MThBQjQyODMxNUNBQkY2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjMwM0RBNkQwNEFCRDExRTY5MThBQjQyODMxNUNBQkY2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uYCQ0AAAAJ9JREFUeNqUko0JxCAMhU3pFM7hGK5h11C3UOdwC3UNHcPjCRVqe8c1EIXw5ecZqffO3tiOg4guQa31YxVjDLG1A2DnXF8NcbDbWsVaS601VPs+klLqNoKU8jFhdgghDOecD1gIwXLOt07bIuoCxxhH3Hv/nAC4lDLhWuvUhHtAUA4Np6WUzhfpqzaw+yoK48B/Lg52HMdfm6a3X+MjwABDEXHszyD2sAAAAABJRU5ErkJggg==");
  vertical-align: middle; }

.reveal--slider figure, .hero-slider__item > figure, .intro-links__photo figure, .post__image figure, .product .video-link figure, .video-grid__item figure, .content-block__background,
.u-bg-cover {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.front-feature__image figure,
.u-bg-contain {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain; }

.hny-svg,
.u-bg-100 {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%; }

@media screen and (min-width: 75em) {
  html {
    font-size: 120%; } }

a {
  font-weight: bold;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

ul {
  margin-left: 0;
  list-style: none; }

address {
  font-style: normal; }

p.small {
  color: #898989;
  font-size: 80%;
  font-style: italic;
  line-height: 1.4; }

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

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

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

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

.slick-slide {
  display: none;
  height: 100%;
  min-height: 1px;
  float: left; }
  [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; }

.accordion-item {
  border: 1px solid #e6e6e6;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .accordion-item.is-active, .accordion-item:focus, .accordion-item:hover {
    border-color: #4a4a4a; }
    .accordion-item.is-active .accordion-title, .accordion-item:focus .accordion-title, .accordion-item:hover .accordion-title {
      color: #0a0a0a; }
      .accordion-item.is-active .accordion-title .hny-svg, .accordion-item:focus .accordion-title .hny-svg, .accordion-item:hover .accordion-title .hny-svg {
        fill: #0a0a0a; }
  .accordion-item + .accordion-item {
    margin-top: 0.5rem; }

.accordion-title {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.52947; }
  .accordion-title > div {
    position: relative;
    padding-left: 1.75rem; }
  .accordion-title .hny-svg {
    fill: #ed1c2e;
    position: absolute;
    top: 0.125rem;
    left: 0;
    width: 24px;
    height: 24px;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

.accordion-content {
  padding-top: 0;
  padding-left: 2.5rem;
  font-size: 0.875rem; }
  .accordion-content p:last-child {
    margin-bottom: 0; }

#wpadminbar {
  display: none !important;
  position: fixed !important; }
  @media print, screen and (min-width: 64em) {
    #wpadminbar {
      display: block !important; } }

.bullet-list {
  margin: 0;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .bullet-list {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .bullet-list li {
    line-height: 1.3; }
    .bullet-list li + li:before {
      display: block;
      margin-top: 0.125em;
      font-size: 1.25em;
      line-height: 0.75;
      content: '•';
      vertical-align: middle; }
      @media print, screen and (min-width: 40em) {
        .bullet-list li + li:before {
          display: inline-block;
          margin: 0 0.75rem; } }

button:not(.gm-ui-hover-effect):not(.gm-control-active):not(.slick-arrow):not(.site-search__submit):not([data-close]):not(.dealers__search-submit),
.button:not(.gm-ui-hover-effect):not(.gm-control-active):not(.slick-arrow):not(.site-search__submit):not([data-close]):not(.dealers__search-submit),
#gdpr-submit:not(.gm-ui-hover-effect):not(.gm-control-active):not(.slick-arrow):not(.site-search__submit):not([data-close]):not(.dealers__search-submit) {
  margin-bottom: 0;
  border: 2px solid #fefefe;
  font-family: "Overpass", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  -webkit-box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
          box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  button:not(.gm-ui-hover-effect):not(.gm-control-active):not(.slick-arrow):not(.site-search__submit):not([data-close]):not(.dealers__search-submit):focus, button:not(.gm-ui-hover-effect):not(.gm-control-active):not(.slick-arrow):not(.site-search__submit):not([data-close]):not(.dealers__search-submit):hover,
  .button:not(.gm-ui-hover-effect):not(.gm-control-active):not(.slick-arrow):not(.site-search__submit):not([data-close]):not(.dealers__search-submit):focus,
  #gdpr-submit:not(.gm-ui-hover-effect):not(.gm-control-active):not(.slick-arrow):not(.site-search__submit):not([data-close]):not(.dealers__search-submit):focus,
  .button:not(.gm-ui-hover-effect):not(.gm-control-active):not(.slick-arrow):not(.site-search__submit):not([data-close]):not(.dealers__search-submit):hover,
  #gdpr-submit:not(.gm-ui-hover-effect):not(.gm-control-active):not(.slick-arrow):not(.site-search__submit):not([data-close]):not(.dealers__search-submit):hover {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
    -webkit-box-shadow: 0 7px 14px rgba(10, 10, 10, 0.1), 0 3px 6px rgba(10, 10, 10, 0.08);
            box-shadow: 0 7px 14px rgba(10, 10, 10, 0.1), 0 3px 6px rgba(10, 10, 10, 0.08); }

button.secondary,
.button.secondary,
.secondary#gdpr-submit {
  background: #2a2a2a; }
  button.secondary:focus, button.secondary:hover,
  .button.secondary:focus,
  .secondary#gdpr-submit:focus,
  .button.secondary:hover,
  .secondary#gdpr-submit:hover {
    background: #4a4a4a; }

button .hny-svg,
button span,
.button .hny-svg,
#gdpr-submit .hny-svg,
.button span, .gdpr-framework-privacy-tools .button span,
#gdpr-submit span {
  display: inline;
  vertical-align: middle; }

button .hny-svg,
.button .hny-svg,
#gdpr-submit .hny-svg {
  fill: #fefefe;
  -webkit-transition: inherit;
  transition: inherit; }
  button .hny-svg + span,
  .button .hny-svg + span,
  #gdpr-submit .hny-svg + span {
    margin-left: 0.125rem; }

button span,
.button span, .gdpr-framework-privacy-tools .button span,
#gdpr-submit span {
  display: inline-block;
  position: relative;
  top: 0.1375em; }
  button span + .hny-svg,
  .button span + .hny-svg,
  #gdpr-submit span + .hny-svg {
    margin-left: 0.125rem; }

button .hny-svg,
.button .hny-svg,
#gdpr-submit .hny-svg {
  width: 30px;
  height: 30px; }
  button .hny-svg--chevron-right,
  .button .hny-svg--chevron-right,
  #gdpr-submit .hny-svg--chevron-right {
    width: 0.675em;
    height: 0.675em; }

button + p,
.button + p, .gdpr-framework-privacy-tools .button + p,
#gdpr-submit + p {
  margin-top: 0.5rem; }

button.small .hny-svg,
.button.small .hny-svg,
.small#gdpr-submit .hny-svg {
  width: 16px;
  height: 16px; }

.checklist li {
  position: relative;
  padding-left: 1.75rem; }
  .checklist li .hny-svg {
    fill: #ed1c2e;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.375rem;
    height: 1.375rem; }
  .checklist li + li {
    margin-top: .5rem; }

.is-drilldown {
  max-width: none !important;
  overflow: visible; }
  .is-drilldown * {
    overflow: hidden; }

select {
  padding-top: 0;
  padding-bottom: 0; }

.hny .gform_wrapper {
  margin-top: 0; }
  .hny .gform_wrapper .gfield_error .gfield_label,
  .hny .gform_wrapper .gfield_required {
    color: #cc4b37; }
  .hny .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
    padding: 0.5rem !important; }
  .hny .gform_wrapper select {
    padding: 0.5rem 1.5rem 0.5rem 0.5rem !important; }
  .hny .gform_wrapper .gfield_list td.gfield_list_cell input,
  .hny .gform_wrapper .gfield_list td.gfield_list_cell select {
    margin-bottom: 0; }
  .hny .gform_wrapper .top_label div.ginput_container {
    margin-top: 0 !important; }
  .hny .gform_wrapper div.validation_error {
    display: none; }
  .hny .gform_wrapper li.gfield {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
    .hny .gform_wrapper li.gfield:not(.gf_left_half) {
      padding: 0 !important; }
    .hny .gform_wrapper li.gfield label {
      margin: 0 !important;
      font-size: 0.75rem;
      font-weight: normal;
      text-transform: uppercase; }
      .hny .gform_wrapper li.gfield label:empty {
        display: none; }
    .hny .gform_wrapper li.gfield select,
    .hny .gform_wrapper li.gfield textarea,
    .hny .gform_wrapper li.gfield input {
      margin-top: 0 !important; }
      .hny .gform_wrapper li.gfield select + label,
      .hny .gform_wrapper li.gfield textarea + label,
      .hny .gform_wrapper li.gfield input + label {
        font-size: 0.875rem; }
    .hny .gform_wrapper li.gfield.gfield_error {
      padding-top: 0;
      padding-bottom: 0;
      border: none;
      background: none; }
      .hny .gform_wrapper li.gfield.gfield_error select,
      .hny .gform_wrapper li.gfield.gfield_error textarea,
      .hny .gform_wrapper li.gfield.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
        margin-bottom: 0;
        border-color: #cc4b37; }
  .hny .gform_wrapper .field_description_below .gfield_description {
    padding-top: 0; }
    .hny .gform_wrapper .field_description_below .gfield_description.validation_message {
      color: #4a4a4a;
      font-size: 0.625rem;
      font-style: italic;
      font-weight: normal; }
  .hny .gform_wrapper .gform_footer {
    margin-top: 0;
    padding: 0; }
  .hny .gform_wrapper .gform_footer input.button, .hny .gform_wrapper .gform_footer
  input#gdpr-submit,
  .hny .gform_wrapper .gform_footer input[type='submit'] {
    margin: 0;
    padding: 0.85em 1em !important; }
  .hny .gform_wrapper ul.gfield_checkbox {
    margin-bottom: 1rem; }
    .hny .gform_wrapper ul.gfield_checkbox li input[type='checkbox'] {
      vertical-align: 12px; }
    .hny .gform_wrapper ul.gfield_checkbox li label {
      font-size: 0.75rem;
      text-transform: none; }

html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"] {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: #ed1c2e;
  color: #fefefe;
  font-family: inherit;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle; }
  [data-whatinput='mouse'] html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"] {
    outline: 0; }
  html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"]:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"]:focus {
    background-color: #4a4a4a;
    color: #fefefe; }

html .gform_wrapper.gravity-theme .form_saved_message .resume_form_link_wrapper {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-size: 125%; }
  html .gform_wrapper.gravity-theme .form_saved_message .resume_form_link_wrapper ~ p {
    font-size: 0.875rem; }

html .gform_wrapper.gravity-theme .gform_save_link.button, html .gform_wrapper.gravity-theme
.gform_save_link#gdpr-submit {
  color: #ed1c2e; }
  html .gform_wrapper.gravity-theme .gform_save_link.button:focus, html .gform_wrapper.gravity-theme
  .gform_save_link#gdpr-submit:focus, html .gform_wrapper.gravity-theme .gform_save_link.button:hover, html .gform_wrapper.gravity-theme
  .gform_save_link#gdpr-submit:hover {
    color: #c4101f; }

html .gform_wrapper.gravity-theme .gform_save_link, html .gform_wrapper.gravity-theme .gform_save_link.button, html .gform_wrapper.gravity-theme
.gform_save_link#gdpr-submit {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  height: auto;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  background: none;
  line-height: 1.52947;
  text-decoration: underline; }
  html .gform_wrapper.gravity-theme .gform_save_link:before, html .gform_wrapper.gravity-theme .gform_save_link:after, html .gform_wrapper.gravity-theme .gform_save_link.button:before, html .gform_wrapper.gravity-theme
  .gform_save_link#gdpr-submit:before, html .gform_wrapper.gravity-theme .gform_save_link.button:after, html .gform_wrapper.gravity-theme
  .gform_save_link#gdpr-submit:after {
    content: none; }
  html .gform_wrapper.gravity-theme .gform_save_link svg, html .gform_wrapper.gravity-theme .gform_save_link.button svg, html .gform_wrapper.gravity-theme
  .gform_save_link#gdpr-submit svg {
    display: none; }
  @media screen and (max-width: 39.9375em) {
    html .gform_wrapper.gravity-theme .gform_save_link, html .gform_wrapper.gravity-theme .gform_save_link.button, html .gform_wrapper.gravity-theme
    .gform_save_link#gdpr-submit {
      -webkit-box-flex: 1;
      -webkit-flex: 1 0 auto;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      -webkit-box-ordinal-group: 101;
      -webkit-order: 100;
          -ms-flex-order: 100;
              order: 100;
      width: 100%;
      margin: 0.5rem 0 0;
      font-size: 0.75rem; } }

html .gform_wrapper.gravity-theme .gfield_signature_container {
  width: 100vw !important; }
  html .gform_wrapper.gravity-theme .gfield_signature_container + div {
    position: absolute !important;
    visibility: hidden !important; }

html .gform_wrapper.gravity-theme .gform_validation_errors {
  margin-top: 0;
  margin-bottom: 1rem;
  padding: 1rem; }
  html .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
    margin: 0;
    color: #cc4b37;
    font-family: "Overpass", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: inherit;
    line-height: 1.52947;
    text-transform: none; }
    html .gform_wrapper.gravity-theme .gform_validation_errors > h2 .gform-icon {
      display: none; }
  html .gform_wrapper.gravity-theme .gform_validation_errors, html .gform_wrapper.gravity-theme .gform_validation_errors:focus {
    outline: none; }

html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .instruction,
html .gform_wrapper.gravity-theme .gfield_validation_message {
  margin-top: 0.5rem;
  padding: 0.5rem; }

html .gform_wrapper.gravity-theme .gform_validation_errors,
html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .instruction,
html .gform_wrapper.gravity-theme .gfield_validation_message {
  border: 0;
  border-radius: 0.25rem;
  background: #fbf1ef;
  color: #cc4b37;
  font-weight: normal;
  letter-spacing: inherit;
  -webkit-box-shadow: none;
          box-shadow: none; }

html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .gfield_validation_message,
html .gform_wrapper.gravity-theme .description,
html .gform_wrapper.gravity-theme .gfield_description,
html .gform_wrapper.gravity-theme .instruction {
  font-size: 0.8125rem; }

html .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label,
html .gform_wrapper.gravity-theme .gfield_error label,
html .gform_wrapper.gravity-theme .gfield_error legend {
  color: #cc4b37; }

html .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
  border-color: #cc4b37; }

html .gform_wrapper.gravity-theme [aria-invalid="true"] + label,
html .gform_wrapper.gravity-theme label + [aria-invalid="true"] {
  color: #cc4b37; }

html .gform_wrapper.gravity-theme .gfield select {
  padding-right: 1.5rem; }

html .gform_wrapper.gravity-theme .gfield.field_sublabel_above .ginput_complex label {
  padding-top: 0;
  padding-bottom: 0.25rem; }

html .gform_wrapper.gravity-theme .gfield .ginput_complex label {
  padding-top: 0.25rem;
  font-size: 0.875rem;
  font-weight: normal; }

html .gform_wrapper.gravity-theme .gfield .gfield_label {
  margin-bottom: 0.25rem;
  color: #0a0a0a;
  font-size: 0.875rem;
  font-weight: normal; }

html .gform_wrapper.gravity-theme .gfield .ginput_container_consent,
html .gform_wrapper.gravity-theme .gfield .gchoice {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline; }
  html .gform_wrapper.gravity-theme .gfield .ginput_container_consent input,
  html .gform_wrapper.gravity-theme .gfield .gchoice input {
    margin: 0 0.5em 0 0; }
    html .gform_wrapper.gravity-theme .gfield .ginput_container_consent input + label,
    html .gform_wrapper.gravity-theme .gfield .gchoice input + label {
      max-width: none;
      margin-right: 0;
      margin-left: 0;
      font-size: 0.875rem;
      font-weight: normal;
      line-height: 1.8; }

html .gform_wrapper.gravity-theme .gform_footer,
html .gform_wrapper.gravity-theme .gform_page_footer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 0;
  padding: 0; }
  html .gform_wrapper.gravity-theme .gform_footer .button, html .gform_wrapper.gravity-theme .gform_footer
  #gdpr-submit,
  html .gform_wrapper.gravity-theme .gform_page_footer .button,
  html .gform_wrapper.gravity-theme .gform_page_footer
  #gdpr-submit {
    margin-bottom: 0;
    white-space: nowrap; }
    @media print, screen and (min-width: 40em) {
      html .gform_wrapper.gravity-theme .gform_footer .button:first-child.gform_next_button, html .gform_wrapper.gravity-theme .gform_footer
      #gdpr-submit:first-child.gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .button:first-child.gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer
      #gdpr-submit:first-child.gform_next_button {
        margin-left: 0.5rem; } }
    html .gform_wrapper.gravity-theme .gform_footer .button:not(.gform_save_link), html .gform_wrapper.gravity-theme .gform_footer
    #gdpr-submit:not(.gform_save_link),
    html .gform_wrapper.gravity-theme .gform_page_footer .button:not(.gform_save_link),
    html .gform_wrapper.gravity-theme .gform_page_footer
    #gdpr-submit:not(.gform_save_link) {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1;
          -ms-flex: 1 1;
              flex: 1 1; }
      @media print, screen and (min-width: 40em) {
        html .gform_wrapper.gravity-theme .gform_footer .button:not(.gform_save_link), html .gform_wrapper.gravity-theme .gform_footer
        #gdpr-submit:not(.gform_save_link),
        html .gform_wrapper.gravity-theme .gform_page_footer .button:not(.gform_save_link),
        html .gform_wrapper.gravity-theme .gform_page_footer
        #gdpr-submit:not(.gform_save_link) {
          -webkit-box-flex: 0;
          -webkit-flex: 0 1 auto;
              -ms-flex: 0 1 auto;
                  flex: 0 1 auto; } }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_button, html .gform_wrapper.gravity-theme .gform_footer
    .gform_button#gdpr-submit, html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button, html .gform_wrapper.gravity-theme .gform_footer
    .gform_next_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_button,
    html .gform_wrapper.gravity-theme .gform_page_footer
    .gform_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_page_footer
    .gform_next_button#gdpr-submit {
      margin-right: 0; }
    html .gform_wrapper.gravity-theme .gform_footer .button[type="submit"], html .gform_wrapper.gravity-theme .gform_footer
    [type="submit"]#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button[type="submit"],
    html .gform_wrapper.gravity-theme .gform_page_footer
    [type="submit"]#gdpr-submit {
      -webkit-box-ordinal-group: 4;
      -webkit-order: 3;
          -ms-flex-order: 3;
              order: 3; }
      @media print, screen and (min-width: 40em) {
        html .gform_wrapper.gravity-theme .gform_footer .button[type="submit"] + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools [type="submit"].button + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer
        [type="submit"]#gdpr-submit + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer .button[type="submit"] + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools [type="submit"].button + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer
        [type="submit"]#gdpr-submit + .gform_save_link {
          margin-right: 0.5rem; } }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button, html .gform_wrapper.gravity-theme .gform_footer
    .gform_next_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_page_footer
    .gform_next_button#gdpr-submit {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .gform_next_button.button + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer
      .gform_next_button#gdpr-submit + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .gform_next_button.button + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer
      .gform_next_button#gdpr-submit + .gform_save_link {
        margin-left: 0; }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button, html .gform_wrapper.gravity-theme .gform_footer
    .gform_previous_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button,
    html .gform_wrapper.gravity-theme .gform_page_footer
    .gform_previous_button#gdpr-submit {
      -webkit-box-ordinal-group: 0;
      -webkit-order: -1;
          -ms-flex-order: -1;
              order: -1;
      margin-right: auto;
      margin-bottom: 0; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button ~ .gform_next_button, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_next_button, html .gform_wrapper.gravity-theme .gform_footer
      .gform_previous_button#gdpr-submit ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer
      .gform_previous_button#gdpr-submit ~ .gform_next_button {
        margin-left: 0.5rem; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button ~ .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer
      .gform_previous_button#gdpr-submit ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer
      .gform_previous_button#gdpr-submit ~ .gform_save_link {
        margin-left: auto; }

html .gform_wrapper.gravity-theme .gform-loader {
  margin-right: 0.5rem; }

h1,
h2 {
  font-family: "Overpass", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }

h1,
h2,
h3,
h4,
h5,
h6 {
  text-transform: uppercase; }

h4 {
  margin-bottom: 1rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(10, 10, 10, 0.125); }

.hny-svg {
  display: inline-block;
  width: 0.8em;
  height: 1em; }

svg.hny-svg path {
  fill: inherit; }

.has-hero .l-masthead {
  position: relative; }

.l-hero {
  overflow: hidden; }

@media print, screen and (min-width: 40em) {
  .l-main__wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; } }

.not-front .l-content {
  background: #fefefe; }

@media print, screen and (min-width: 40em) {
  .l-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden; } }

@media print, screen and (min-width: 40em) {
  .l-content__wrapper {
    overflow: hidden; } }

.l-split {
  padding-top: 2rem;
  padding-bottom: 6rem; }
  @media print, screen and (min-width: 40em) {
    .l-split {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
      -webkit-flex: 1 0 auto;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      padding-top: 0;
      padding-bottom: 0; } }
  .l-split h1,
  .l-split h2,
  .l-split h3,
  .l-split h4,
  .l-split h5,
  .l-split h6 {
    color: #ed1c2e; }
  @media print, screen and (min-width: 40em) {
    .l-split > .grid-x {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; } }
  .l-split .l-primary {
    padding-bottom: 2rem; }
    @media print, screen and (min-width: 40em) {
      .l-split .l-primary {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; } }
  @media print, screen and (min-width: 40em) {
    .l-split .l-sidebar {
      -webkit-box-ordinal-group: 1;
      -webkit-order: 0;
          -ms-flex-order: 0;
              order: 0; } }
  @media print, screen and (min-width: 40em) {
    .l-split .l-sidebar__wrapper.sticky {
      padding-top: 1rem; } }
  @media print, screen and (min-width: 40em) {
    .l-split .l-sidebar,
    .l-split .l-primary {
      padding: 2rem 0 6rem; } }
  @media print, screen and (min-width: 40em) {
    .l-split .l-primary {
      position: relative;
      padding-left: 2rem;
      border-left: 1px solid #e6e6e6;
      -webkit-box-shadow: -9px 10px 7px 0px rgba(10, 10, 10, 0.1);
              box-shadow: -9px 10px 7px 0px rgba(10, 10, 10, 0.1);
      z-index: 1; } }
  @media print, screen and (min-width: 40em) {
    .l-split .l-primary__wrapper {
      padding-left: 1rem; } }

.l-block {
  padding-top: 2rem;
  padding-bottom: 2rem;
  overflow: hidden; }
  .front-intro .l-block {
    padding-top: 3rem; }
  @media screen and (min-width: 75em) {
    .l-block {
      padding-top: 3rem;
      padding-bottom: 3rem; }
      .front-intro .l-block {
        padding-top: 5rem;
        padding-bottom: 5rem; } }
  .l-block--light-gray h1,
  .l-block--light-gray h2, .l-block--white h1,
  .l-block--white h2 {
    color: #0a0a0a; }
  .l-block--light-gray h3,
  .l-block--light-gray h4,
  .l-block--light-gray h5,
  .l-block--light-gray h6, .l-block--white h3,
  .l-block--white h4,
  .l-block--white h5,
  .l-block--white h6 {
    color: #ed1c2e; }
  .l-block--stucco-gray, .l-block--stucco-brown {
    color: #fefefe; }
    .l-block--stucco-gray h1,
    .l-block--stucco-gray h2, .l-block--stucco-brown h1,
    .l-block--stucco-brown h2 {
      color: #e6e6e6; }
    .l-block--stucco-gray h3,
    .l-block--stucco-gray h4,
    .l-block--stucco-gray h5,
    .l-block--stucco-gray h6, .l-block--stucco-brown h3,
    .l-block--stucco-brown h4,
    .l-block--stucco-brown h5,
    .l-block--stucco-brown h6 {
      color: inherit; }
  .l-block--dark-red, .l-block--dark-gray, .l-block--red, .l-block--brown {
    color: #fefefe; }
    .l-block--dark-red h1,
    .l-block--dark-red h2,
    .l-block--dark-red h3,
    .l-block--dark-red h4,
    .l-block--dark-red h5,
    .l-block--dark-red h6, .l-block--dark-gray h1,
    .l-block--dark-gray h2,
    .l-block--dark-gray h3,
    .l-block--dark-gray h4,
    .l-block--dark-gray h5,
    .l-block--dark-gray h6, .l-block--red h1,
    .l-block--red h2,
    .l-block--red h3,
    .l-block--red h4,
    .l-block--red h5,
    .l-block--red h6, .l-block--brown h1,
    .l-block--brown h2,
    .l-block--brown h3,
    .l-block--brown h4,
    .l-block--brown h5,
    .l-block--brown h6 {
      color: inherit; }
    .l-block--dark-red a:focus, .l-block--dark-red a:hover, .l-block--dark-gray a:focus, .l-block--dark-gray a:hover, .l-block--red a:focus, .l-block--red a:hover, .l-block--brown a:focus, .l-block--brown a:hover {
      color: #fefefe; }
  .home .l-block {
    border-top: 1px solid #fefefe; }
  .l-block--white {
    background: #fefefe; }
    .home .l-block--white {
      border-top: 0; }
  .l-block--red {
    background: #ed1c2e; }
  .l-block--dark-red {
    background: #b80f1d; }
  .l-block--brown {
    background: #4b3f34; }
  .l-block--dark-gray {
    background: #2a2a2a; }
  .l-block--light-gray {
    background: #e6e6e6 url("../images/stucco-repeater-white.jpg"); }
  .l-block--stucco-gray {
    background: #2a2a2a url("../images/stucco-repeater-gray.jpg"); }
  .l-block--stucco-brown {
    background: #4b3f34 url("../images/stucco-repeater-brown.jpg"); }

.grid-container {
  width: 100%; }
  .grid-container--wide {
    max-width: 90rem; }
  .grid-container--narrow {
    max-width: 1074px; }

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

.off-canvas {
  overflow-x: hidden; }
  .off-canvas.is-transition-push, .off-canvas.is-transition-overlap {
    z-index: 999999; }
  .off-canvas.is-closed {
    visibility: visible; }
  .off-canvas__heading {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 0.5rem 1rem;
    opacity: 0;
    -webkit-transition: all 1.5s ease-in-out;
    transition: all 1.5s ease-in-out; }
    .is-open .off-canvas__heading {
      opacity: 1; }
  .off-canvas__close {
    line-height: 50px; }
    .off-canvas__close button {
      width: 100%;
      padding: 0;
      border: 0;
      outline: none;
      color: #e6e6e6;
      font-family: "Overpass", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
      font-weight: bold;
      text-align: right;
      text-transform: uppercase;
      cursor: pointer;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      .off-canvas__close button .hny-svg {
        fill: #e6e6e6; }
      .position-right .off-canvas__close button {
        text-align: left; }
      .off-canvas__close button span {
        margin-left: 0; }
      .off-canvas__close button, .off-canvas__close button:focus, .off-canvas__close button:hover {
        -webkit-transform: none;
                transform: none;
        outline: none;
        -webkit-box-shadow: none;
                box-shadow: none; }
      .off-canvas__close button:focus {
        color: #e6e6e6; }
        .off-canvas__close button:focus .hny-svg {
          fill: #e6e6e6; }
      .off-canvas__close button:hover {
        color: #ed1c2e; }
        .off-canvas__close button:hover .hny-svg {
          fill: #ed1c2e; }
    .off-canvas__close span,
    .off-canvas__close .hny-svg {
      display: inline;
      vertical-align: middle; }
    .off-canvas__close .hny-svg {
      fill: #ed1c2e;
      width: 24px;
      height: 24px;
      -webkit-transition: inherit;
      transition: inherit; }
  .off-canvas .mobile-utility__item,
  .off-canvas .mobile-nav__item {
    -webkit-transform: translateX(-25%);
            transform: translateX(-25%);
    opacity: 0;
    -webkit-transition: opacity 1.5s ease-in-out, -webkit-transform 1s ease-in-out;
    transition: opacity 1.5s ease-in-out, -webkit-transform 1s ease-in-out;
    transition: transform 1s ease-in-out, opacity 1.5s ease-in-out;
    transition: transform 1s ease-in-out, opacity 1.5s ease-in-out, -webkit-transform 1s ease-in-out; }
  .off-canvas.is-open .mobile-utility__item,
  .off-canvas.is-open .mobile-nav__item {
    -webkit-transform: none;
            transform: none;
    opacity: 1; }

.js-off-canvas-overlay.is-overlay-fixed {
  z-index: 9998; }

.page-title {
  padding-top: 3rem;
  padding-bottom: 2rem;
  border-top: 2px solid #fefefe;
  border-bottom: 2px solid #fefefe;
  background-color: #2a2a2a;
  color: #fefefe; }
  @media screen and (max-width: 63.9375em) {
    .page-title {
      text-align: center; } }
  .page-title__heading {
    margin-bottom: 0;
    color: #e6e6e6;
    font-size: 1.75rem;
    text-shadow: 0 18px 140px rgba(10, 10, 10, 0.7), 0 5px 15px rgba(10, 10, 10, 0.5); }
    @media screen and (min-width: 90em) {
      .page-title__heading {
        font-size: 2.5rem; } }
  .page-title__content {
    margin-top: 1.5rem; }

.pagination-centered {
  padding: 0 0 6rem;
  text-align: center; }

.pagination {
  display: inline-block;
  margin: 0; }
  .pagination li {
    display: inline-block;
    line-height: 1;
    vertical-align: middle; }
    .pagination li a,
    .pagination li span {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 32px;
      height: 32px;
      color: #0a0a0a;
      font-weight: normal;
      vertical-align: middle; }
      .pagination li a:not(.current):focus, .pagination li a:not(.current):hover,
      .pagination li span:not(.current):focus,
      .pagination li span:not(.current):hover {
        color: #ed1c2e; }
      .pagination li a.next, .pagination li a.prev,
      .pagination li span.next,
      .pagination li span.prev {
        border: 1px solid #ed1c2e; }
        .pagination li a.next:focus, .pagination li a.next:hover, .pagination li a.prev:focus, .pagination li a.prev:hover,
        .pagination li span.next:focus,
        .pagination li span.next:hover,
        .pagination li span.prev:focus,
        .pagination li span.prev:hover {
          background: #ed1c2e; }
          .pagination li a.next:focus .hny-svg, .pagination li a.next:hover .hny-svg, .pagination li a.prev:focus .hny-svg, .pagination li a.prev:hover .hny-svg,
          .pagination li span.next:focus .hny-svg,
          .pagination li span.next:hover .hny-svg,
          .pagination li span.prev:focus .hny-svg,
          .pagination li span.prev:hover .hny-svg {
            fill: #fefefe; }
      .pagination li a.current,
      .pagination li span.current {
        color: #ed1c2e;
        font-weight: bold; }
    .pagination li .hny-svg {
      fill: #ed1c2e;
      width: 15px;
      height: 15px;
      -webkit-transition: inherit;
      transition: inherit; }

@media screen and (max-width: 39.9375em) {
  .reveal-overlay {
    background: #2a2a2a; } }

.close-button {
  cursor: pointer; }

.reveal {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .reveal--slider, .reveal--video, .reveal--image {
    background: none;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .reveal--slider .reveal__content, .reveal--video .reveal__content, .reveal--image .reveal__content {
        padding: 2rem; } }
    .reveal--slider .close-button, .reveal--video .close-button, .reveal--image .close-button {
      width: auto;
      margin-top: 1rem; }
  @media print, screen and (min-width: 40em) {
    .reveal--video, .reveal--info {
      width: 600px; } }
  @media print, screen and (min-width: 64em) {
    .reveal--video, .reveal--info {
      width: 900px; } }
  @media screen and (min-width: 90em) {
    .reveal--video, .reveal--info {
      width: 1000px; } }
  .reveal--video {
    -webkit-box-shadow: none;
            box-shadow: none; }
  @media print, screen and (min-width: 40em) {
    .reveal--video .responsive-embed {
      -webkit-box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
              box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15); } }
  .reveal__caption {
    position: absolute;
    right: -1px;
    bottom: 0;
    left: -1px;
    padding: 0.5rem;
    border-top: 1px solid #fefefe;
    background: rgba(254, 254, 254, 0.85);
    font-size: 0.875rem; }
  .reveal--slider figure {
    position: absolute !important;
    left: 0 !important;
    padding-bottom: 100%; }
  .reveal--slider .slick-slider {
    -webkit-box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
            box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15); }
    .reveal--slider .slick-slider .slick-arrow {
      width: 24px;
      height: 24px; }
    .reveal--slider .slick-slider .slick-prev {
      left: 0; }
      @media print, screen and (min-width: 40em) {
        .reveal--slider .slick-slider .slick-prev {
          left: -2rem; } }
    .reveal--slider .slick-slider .slick-next {
      right: 0; }
      @media print, screen and (min-width: 40em) {
        .reveal--slider .slick-slider .slick-next {
          right: -2rem; } }
  .reveal--image img {
    -webkit-box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
            box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15); }
  .reveal--info {
    -webkit-box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
            box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15); }
    .reveal--info button.close-button {
      position: absolute;
      top: 0;
      right: 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transition: none;
      transition: none; }
      .reveal--info button.close-button:focus, .reveal--info button.close-button:hover {
        -webkit-transform: none;
                transform: none;
        background-color: #fefefe; }
        .reveal--info button.close-button:focus .hny-svg, .reveal--info button.close-button:hover .hny-svg {
          fill: #4a4a4a; }
      .reveal--info button.close-button .hny-svg {
        fill: #ed1c2e;
        width: 40px;
        height: 40px;
        -webkit-transition: inherit;
        transition: inherit; }

.slick-slider,
.slick-slider * {
  outline: none !important; }

[data-slick-slider] [data-slick-slide]:not(:first-child) {
  display: none; }

[data-slick-slider].slick-initialized [data-slick-slide] {
  display: block; }

[data-slick-slider].slick-initialized + .loader {
  display: none; }

.slick-dots {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  margin: 0;
  padding: 0.5rem 0;
  list-style: none;
  text-align: center; }
  .slick-dots li {
    display: inline-block;
    position: relative;
    width: 12px;
    height: 12px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    vertical-align: middle; }
    @media print, screen and (min-width: 64em) {
      .home .slick-dots li {
        width: 25px;
        height: 25px; } }
    .slick-dots li + li {
      margin-left: 0.5rem; }
    .slick-dots li button {
      display: block;
      width: 100%;
      height: 100%;
      border: 0;
      border-radius: 100%;
      outline: none;
      background: #fefefe;
      color: rgba(255, 255, 255, 0);
      font-size: 0;
      line-height: 0;
      cursor: pointer;
      opacity: 0.35; }
      .slick-dots li button, .slick-dots li button:focus, .slick-dots li button:hover {
        -webkit-transform: none;
                transform: none; }
    .slick-dots li.slick-active button {
      opacity: 1; }

.slick-arrow {
  position: absolute;
  top: 50%;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  text-indent: -9999px;
  cursor: pointer;
  z-index: 50; }
  .slick-arrow, .slick-arrow:focus, .slick-arrow:hover {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: none;
    transition: none; }
  .slick-arrow svg {
    fill: #fefefe;
    -webkit-filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.4));
            filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.4)); }
  .slick-arrow.slick-disabled {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0;
    visibility: hidden; }

.slick-prev {
  left: 2rem; }

.slick-next {
  right: 2rem; }

.wysiwyg a[href^='mailto:']:after {
  content: none; }

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

.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
  display: block;
  clear: both; }

.wysiwyg .alignleft {
  margin: 0.5rem 1rem 0.5rem 0;
  float: left; }

.wysiwyg .aligncenter {
  display: block;
  margin: 10px auto; }

.wysiwyg .alignright {
  margin: 0.5rem 0 0.5rem 1rem;
  float: right; }

.wysiwyg .alignnone {
  display: block;
  margin: 0.5rem 0; }

.wysiwyg .gallery {
  overflow: hidden; }
  .wysiwyg .gallery .gallery-item {
    width: 0.166666667%;
    margin: 0 0 2%; }
    .wysiwyg .gallery .gallery-item a {
      display: block; }
      .wysiwyg .gallery .gallery-item a img {
        display: block; }

.wysiwyg .wp-caption > figcaption {
  max-width: 100%;
  padding: 0.25rem 0;
  color: #2a2a2a;
  font-size: 0.8rem; }

.wysiwyg p.wp-caption-text {
  padding: 0.625rem 0;
  color: #2a2a2a;
  font-size: 90%; }

.wysiwyg ul:not(.gform_fields):not(.checklist):not(.gfield_checkbox):not(.gfield_radio) {
  margin-left: 0;
  list-style: none; }
  .wysiwyg ul:not(.gform_fields):not(.checklist):not(.gfield_checkbox):not(.gfield_radio) li {
    position: relative;
    padding-left: 1rem; }
    .wysiwyg ul:not(.gform_fields):not(.checklist):not(.gfield_checkbox):not(.gfield_radio) li + li {
      margin-top: 0.5rem; }
    .wysiwyg ul:not(.gform_fields):not(.checklist):not(.gfield_checkbox):not(.gfield_radio) li:before {
      position: absolute;
      top: 0;
      left: 0;
      width: 6px;
      height: 6px;
      margin-top: 10px;
      background: #ed1c2e;
      content: ''; }
  .wysiwyg ul:not(.gform_fields):not(.checklist):not(.gfield_checkbox):not(.gfield_radio) ul {
    margin-top: 0.25rem;
    margin-left: 1rem; }
    .wysiwyg ul:not(.gform_fields):not(.checklist):not(.gfield_checkbox):not(.gfield_radio) ul li {
      padding-left: 1.5rem; }
      .wysiwyg ul:not(.gform_fields):not(.checklist):not(.gfield_checkbox):not(.gfield_radio) ul li:before {
        position: absolute;
        top: 14px;
        left: 0;
        width: 1rem;
        height: 1px;
        margin-top: 0;
        background: #4a4a4a;
        content: ''; }

.wysiwyg ol {
  margin-bottom: 2rem;
  margin-left: 0;
  counter-reset: section; }
  .wysiwyg ol ol {
    margin-top: 1rem;
    margin-bottom: 0; }
    .wysiwyg ol ol > li {
      padding-left: 3rem; }
      .wysiwyg ol ol > li:before {
        border: 1px solid #ed1c2e;
        background: rgba(255, 255, 255, 0);
        color: #ed1c2e; }
      .wysiwyg ol ol > li:first-child {
        border-top: 0; }
      .wysiwyg ol ol > li:last-child {
        border-bottom: 0; }
  .wysiwyg ol > li {
    position: relative;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    padding-left: 2.25rem;
    border-bottom: 1px solid #4a4a4a;
    list-style: none;
    counter-increment: section; }
    .wysiwyg ol > li:before {
      position: absolute;
      top: 0;
      left: 0;
      margin-right: 5px;
      padding: 3px 8px;
      border-radius: 3px;
      background-color: #ed1c2e;
      color: white;
      font-size: 80%;
      font-weight: bold;
      content: counters(section, ".") " "; }
    .wysiwyg ol > li:first-child {
      padding-top: 1rem;
      border-top: 1px solid #4a4a4a; }
      .wysiwyg ol > li:first-child:before {
        margin-top: 1rem; }

.not-found {
  padding-bottom: 3rem; }
  .not-found p:last-child {
    margin-bottom: 0; }

.back-to-top {
  display: inline-block;
  position: fixed;
  right: 0.5rem;
  bottom: 0.5rem;
  width: 40px;
  height: 40px;
  overflow: hidden;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  border: 2px solid #fefefe;
  border-radius: 50%;
  background: #4b3f34;
  color: #fefefe;
  line-height: 45px;
  text-align: center;
  white-space: nowrap;
  -webkit-box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
          box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
  z-index: 500;
  z-index: 9997; }
  @media screen and (max-width: 84.3125em) {
    .back-to-top {
      display: none !important; } }
  @media screen and (min-width: 84.375em) {
    .back-to-top {
      width: 50px;
      height: 50px; } }
  @media screen and (min-width: 84.375em) {
    .back-to-top {
      right: 1rem;
      bottom: 1rem; } }
  .back-to-top:hover, .back-to-top:focus {
    border-color: #e6e6e6;
    background: #fefefe; }
    .back-to-top:hover .hny-svg, .back-to-top:focus .hny-svg {
      fill: #ed1c2e; }
  .back-to-top .hny-svg {
    fill: #fefefe;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    margin: -14px 0 0 -13px; }
  .back-to-top.is-visible {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    visibility: visible; }

.colophon a {
  color: #fefefe;
  font-weight: normal; }
  .colophon a:focus, .colophon a:hover {
    color: rgba(254, 254, 254, 0.6); }

.colophon__wrapper {
  padding: 2rem 0 1rem; }
  @media print, screen and (min-width: 40em) {
    .colophon__wrapper {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media screen and (min-width: 64em) and (max-width: 74.9375em) {
    .colophon__wrapper {
      padding-top: 3rem; } }

.imasco-dealers .colophon__logo {
  display: none; }

.colophon__logo > a {
  display: block;
  position: absolute;
  width: 180px;
  height: 69.70588px;
  margin-top: 1.45rem;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); }
  @media print, screen and (min-width: 64em) {
    .colophon__logo > a {
      width: 250px;
      height: 96.81373px;
      margin-top: 2.1rem; } }
  @media screen and (min-width: 75em) {
    .colophon__logo > a {
      margin-top: 1.7rem; } }

.colophon__logo .hny-svg {
  width: 180px;
  height: 69.70588px;
  vertical-align: bottom; }
  @media print, screen and (min-width: 64em) {
    .colophon__logo .hny-svg {
      width: 250px;
      height: 96.81373px; } }

.colophon__legalese p {
  margin-bottom: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .colophon__legalese p {
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 64em) {
    .colophon__legalese p {
      margin-bottom: 0;
      font-size: 0.6875rem; } }

.colophon__legal-nav {
  margin-bottom: 0.25rem;
  font-size: 0.6875rem; }
  @media screen and (min-width: 23.4375em) {
    .colophon__legal-nav {
      font-size: 0.8125rem; } }
  @media print, screen and (min-width: 40em) {
    .colophon__legal-nav {
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 64em) {
    .colophon__legal-nav {
      font-size: 0.6875rem; } }
  @media print, screen and (min-width: 40em) {
    .colophon__legal-nav {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0;
      margin-left: auto; } }

.colophon__credit {
  font-size: 0.6875rem; }
  @media print, screen and (min-width: 40em) {
    .colophon__credit {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .colophon__credit {
      -webkit-box-flex: 0;
      -webkit-flex: 0 1 auto;
          -ms-flex: 0 1 auto;
              flex: 0 1 auto;
      max-width: none; } }
  @media print, screen and (min-width: 40em) {
    .colophon__credit p {
      text-align: right; } }
  @media print, screen and (min-width: 64em) {
    .colophon__credit p {
      margin-bottom: 0;
      margin-left: 1rem;
      padding-left: 1rem;
      border-left: 1px solid rgba(254, 254, 254, 0.5);
      text-align: inherit; } }

.company-info {
  position: relative;
  overflow: hidden; }
  .company-info__wrapper {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media print, screen and (min-width: 40em) {
      .company-info__wrapper {
        padding-top: 3rem;
        padding-bottom: 5rem; } }
    @media print, screen and (min-width: 64em) {
      .company-info__wrapper {
        padding-top: 4rem;
        padding-bottom: 6rem; } }
  .company-info__map > div {
    position: relative;
    margin: 0 -1rem;
    padding-bottom: 56.25%;
    -webkit-box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
            box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15); }
    @media print, screen and (min-width: 40em) {
      .company-info__map > div {
        position: absolute !important;
        top: 0;
        right: 0;
        width: calc(50% - 1rem);
        height: 100%;
        margin: 0;
        padding: 0;
        border-top: 0;
        border-left: 2px solid #fefefe;
        -webkit-box-shadow: none;
                box-shadow: none; } }

@media screen and (max-width: 39.9375em) {
  .contact-info__contact .grid-x .cell {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; } }

.contact-info__contact address {
  margin-bottom: 1.5rem; }
  @media screen and (min-width: 60em) {
    .contact-info__contact address {
      margin-bottom: 0; } }

.contact-info__contact .grid-x {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.contact-info__contact .cell {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }
  @media screen and (min-width: 60em) {
    .contact-info__contact .cell {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: auto;
      max-width: none; } }

.contact-info__contact ul {
  margin: 0;
  list-style: none; }
  .contact-info__contact ul li {
    line-height: 1.4; }
    .contact-info__contact ul li span,
    .contact-info__contact ul li .hny-svg {
      display: inline;
      vertical-align: middle; }
    .contact-info__contact ul li .hny-svg {
      fill: #4a4a4a; }
    .contact-info__contact ul li a .hny-svg {
      fill: #ed1c2e;
      -webkit-transition: inherit;
      transition: inherit; }
    .contact-info__contact ul li a:focus .hny-svg, .contact-info__contact ul li a:hover .hny-svg {
      fill: #0a0a0a; }

.contact-info__content {
  margin-top: 1.5rem;
  font-size: 0.875rem; }
  .contact-info__content p:last-child {
    margin-bottom: 0; }

@media print, screen and (min-width: 40em) {
  .contact-us__sidebar {
    padding-right: 3rem;
    padding-bottom: 4rem; } }

.contact-us__sidebar ul {
  margin-top: 1.5rem; }
  .contact-us__sidebar ul ul {
    font-size: 0.875rem; }

.contact-us__map {
  position: relative;
  margin-top: 1.5rem; }
  .contact-us__map > div {
    padding-bottom: 56.25%;
    border: 2px solid #fefefe;
    -webkit-box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
            box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08); }

.content-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin: 0 -0.5rem; }
  .content-grid + p {
    margin-top: 1rem; }
  @media print, screen and (min-width: 64em) {
    .content-grid--3 .content-grid__item {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
      .content-grid--3 .content-grid__item:nth-child(3n+4), .content-grid--3 .content-grid__item:nth-child(3n+5), .content-grid--3 .content-grid__item:nth-child(3n+6) {
        margin-top: 1rem; } }
  @media print, screen and (min-width: 64em) {
    .content-grid--4 .content-grid__item {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
      .content-grid--4 .content-grid__item:nth-child(4n+5), .content-grid--4 .content-grid__item:nth-child(4n+6), .content-grid--4 .content-grid__item:nth-child(4n+7), .content-grid--4 .content-grid__item:nth-child(4n+8) {
        margin-top: 1rem; } }
  .content-grid__item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
    padding: 0 0.5rem; }
    @media screen and (max-width: 63.9375em) {
      .content-grid__item:nth-child(2n+3), .content-grid__item:nth-child(2n+4) {
        margin-top: 1rem; } }
  .content-grid__item-link {
    display: block;
    color: #0a0a0a;
    font-weight: normal; }
    .content-grid__item-link:focus, .content-grid__item-link:hover {
      color: #ed1c2e; }
  .content-grid__item-image {
    position: relative;
    padding-right: 0.5rem;
    overflow: hidden; }
    .content-grid__item-image img {
      width: 100%;
      border: 1px solid rgba(10, 10, 10, 0.2); }
    .content-grid__item-image > .hny-svg {
      fill: #0a0a0a;
      position: absolute;
      right: 1px;
      bottom: 0;
      width: 0.5rem;
      height: 100%;
      z-index: 1; }
  .content-grid__item-download .hny-svg {
    fill: #fefefe;
    stroke: #e6e6e6;
    stroke-width: 0.25;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 64px;
    height: 64px;
    margin-left: -32px;
    -webkit-filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.4));
            filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.4)); }
  .content-grid__item-title {
    position: relative;
    margin-top: 0.5rem;
    font-size: 0.75rem;
    line-height: 1.3;
    text-align: center; }
    .content-grid__item-title span,
    .content-grid__item-title .hny-svg {
      display: inline;
      vertical-align: middle; }
    .content-grid__item-title .hny-svg {
      fill: #ed1c2e;
      width: 18px;
      height: 18px; }

.document-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin: 0 -1rem; }
  @media screen and (max-width: 39.9375em) {
    .document-list {
      min-height: 280px; } }
  .document-list__item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
    padding: 0 1rem; }
    .document-list__item + .document-list__item {
      margin-top: 1.5rem; }
    .document-list__item > a {
      display: block;
      position: relative;
      padding-left: 2rem;
      font-weight: normal;
      line-height: 1.4; }
      @media screen and (min-width: 75em) {
        .document-list__item > a {
          padding-left: 1.5rem; } }
      .document-list__item > a .hny-svg {
        fill: #ed1c2e;
        position: absolute;
        top: 0;
        left: 0;
        width: 24px;
        height: 24px;
        -webkit-transition: inherit;
        transition: inherit; }
      .document-list__item > a:focus .hny-svg, .document-list__item > a:hover .hny-svg {
        fill: #0a0a0a; }

.front-feature .l-block {
  padding-top: 0;
  padding-bottom: 0; }

.front-feature__heading {
  font-size: 1.125rem; }

.front-feature__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.front-feature__button {
  margin-top: auto;
  padding-top: 1.5rem; }
  .front-feature__button > a .hny-svg {
    width: 30px;
    height: 30px; }

.front-feature__column {
  padding-top: 3rem;
  padding-bottom: 3rem; }
  .front-feature__column + .front-feature__column {
    margin-top: 2rem; }
    @media print, screen and (min-width: 40em) {
      .front-feature__column + .front-feature__column {
        margin-top: 0; } }

.front-feature__post {
  background: #2a2a2a; }
  .front-feature__post a {
    color: #fefefe; }

.front-feature__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  max-width: 100%; }
  @media screen and (max-width: 63.9375em) {
    .front-feature__item {
      text-align: center; } }
  .front-feature__item .grid-x {
    margin-right: -0.5rem;
    margin-left: -0.5rem; }
    .front-feature__item .grid-x .cell {
      padding-right: 0.5rem;
      padding-left: 0.5rem; }

.front-feature__image {
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 64em) {
    .front-feature__image {
      margin-bottom: 0; } }
  .front-feature__image figure {
    padding-bottom: 56.25%; }

.front-intro {
  position: relative;
  text-align: center;
  z-index: 1; }
  .front-intro .l-block {
    background: none; }
  .front-intro .bullet-list {
    margin-bottom: 1rem;
    font-size: 111.875%;
    font-weight: bold;
    text-transform: uppercase; }
    @media print, screen and (min-width: 64em) {
      .front-intro .bullet-list {
        font-size: 140.625%; } }
  .front-intro__heading {
    color: #e6e6e6; }
    @media print, screen and (min-width: 64em) {
      .front-intro__heading {
        font-size: 2.275rem; } }
    @media screen and (min-width: 90em) {
      .front-intro__heading {
        font-size: 3.25rem; } }
  .front-intro .intro-links {
    margin-top: 3rem; }

.front-posts__column + .front-posts__column {
  margin-top: 2rem; }
  @media print, screen and (min-width: 40em) {
    .front-posts__column + .front-posts__column {
      margin-top: 0; } }

.gdpr {
  margin: 1.5rem 0; }
  @media print, screen and (min-width: 64em) {
    .gdpr__grid {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      margin-right: -0.5rem;
      margin-left: -0.5rem; } }
  .gdpr__box + .gdpr__box {
    margin-top: 1rem; }
  @media only screen and (min-width: 40.0625em) {
    .gdpr__box {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
      -webkit-flex: 1 1;
          -ms-flex: 1 1;
              flex: 1 1;
      padding: 0 0.5rem; }
      .gdpr__box + .gdpr__box {
        margin-top: 0; } }
  .gdpr__box > a,
  .gdpr__box > button {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1;
        -ms-flex: 1 1;
            flex: 1 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column wrap;
        -ms-flex-flow: column wrap;
            flex-flow: column wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2rem;
    border-radius: 0;
    background: rgba(254, 254, 254, 0.5);
    color: #0a0a0a;
    font-size: 0.875rem;
    font-weight: normal;
    text-align: center;
    -webkit-box-shadow: 0 7px 14px rgba(10, 10, 10, 0.1), 0 3px 6px rgba(10, 10, 10, 0.08);
            box-shadow: 0 7px 14px rgba(10, 10, 10, 0.1), 0 3px 6px rgba(10, 10, 10, 0.08); }
    .gdpr__box > a svg,
    .gdpr__box > button svg {
      fill: #ed1c2e;
      margin: 0 auto 1rem; }
    .gdpr__box > a:focus, .gdpr__box > a:hover,
    .gdpr__box > button:focus,
    .gdpr__box > button:hover {
      background: #fefefe;
      color: #ed1c2e; }

.gdpr-framework-privacy-tools {
  text-align: center; }
  .gdpr-framework-privacy-tools h2,
  .gdpr-framework-privacy-tools h3 {
    font-size: 2rem; }

.gdpr-notice + h3 {
  display: none; }
  .gdpr-notice + h3 + form {
    display: none; }

.gdpr-download-button + .gdpr-export-button {
  margin-top: 0.5rem; }

.gdpr-framework-privacy-tools .button, .gdpr-framework-privacy-tools
#gdpr-submit,
#gdpr-submit {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  background: #ed1c2e;
  background-color: #ed1c2e;
  color: #fefefe;
  color: #fefefe;
  font-family: inherit;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle; }
  [data-whatinput='mouse'] .gdpr-framework-privacy-tools .button, [data-whatinput='mouse'] .gdpr-framework-privacy-tools
  #gdpr-submit, [data-whatinput='mouse']
  #gdpr-submit {
    outline: 0; }
  .gdpr-framework-privacy-tools .button:hover, .gdpr-framework-privacy-tools
  #gdpr-submit:hover, .gdpr-framework-privacy-tools .button:focus, .gdpr-framework-privacy-tools
  #gdpr-submit:focus,
  #gdpr-submit:hover,
  #gdpr-submit:focus {
    background-color: #4a4a4a;
    color: #fefefe; }
  .gdpr-framework-privacy-tools .button:focus, .gdpr-framework-privacy-tools
  #gdpr-submit:focus, .gdpr-framework-privacy-tools .button:hover, .gdpr-framework-privacy-tools
  #gdpr-submit:hover,
  #gdpr-submit:focus,
  #gdpr-submit:hover {
    -webkit-transform: none;
            transform: none;
    background: #ed1c2e;
    color: #fefefe; }
  .gdpr-framework-privacy-tools .button:before, .gdpr-framework-privacy-tools
  #gdpr-submit:before, .gdpr-framework-privacy-tools .button:after, .gdpr-framework-privacy-tools
  #gdpr-submit:after,
  #gdpr-submit:before,
  #gdpr-submit:after {
    content: none; }

.header-utility {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
          box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
  z-index: 1; }
  .has-notification-bar .header-utility {
    top: 45px; }
    @media print, screen and (min-width: 64em) {
      .has-notification-bar .header-utility {
        top: 0; } }
  @media print, screen and (min-width: 64em) {
    .header-utility {
      position: relative;
      -webkit-box-shadow: none;
              box-shadow: none; } }
  @media screen and (max-width: 63.9375em) {
    .header-utility .grid-container {
      padding: 0; } }
  .header-utility__items {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0;
    list-style: none;
    text-align: center; }
    @media print, screen and (min-width: 64em) {
      .header-utility__items {
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        text-align: inherit; } }
  @media screen and (max-width: 63.9375em) {
    .header-utility__item {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; } }
  .header-utility__item + .header-utility__item {
    border-left: 1px solid #4a4a4a; }
    @media print, screen and (min-width: 64em) {
      .header-utility__item + .header-utility__item {
        margin-left: 1.5rem;
        border-left: 0; } }
  @media screen and (max-width: 63.9375em) {
    .header-utility__item--contact-us {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .header-utility__item--menu {
      display: none; } }
  .header-utility__item--menu.header-utility__item > a {
    background: #ed1c2e; }
    .header-utility__item--menu.header-utility__item > a:focus, .header-utility__item--menu.header-utility__item > a:hover {
      background: #b80f1d;
      color: #fefefe; }
      .header-utility__item--menu.header-utility__item > a:focus .hny-svg, .header-utility__item--menu.header-utility__item > a:hover .hny-svg {
        fill: #fefefe; }
  .header-utility__item > a {
    display: block;
    background: #2a2a2a;
    color: #e6e6e6;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 40px;
    text-transform: uppercase; }
    @media screen and (min-width: 22.5em) {
      .header-utility__item > a {
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 64em) {
      .header-utility__item > a {
        padding: 0.5rem 0;
        background: transparent;
        line-height: 1.1; } }
    .header-utility__item > a span,
    .header-utility__item > a .hny-svg {
      display: inline;
      vertical-align: middle; }
    .header-utility__item > a .hny-svg {
      fill: #e6e6e6;
      width: 22px;
      height: 22px;
      margin-right: 0.25rem;
      -webkit-transition: inherit;
      transition: inherit; }
    .header-utility__item > a:focus {
      color: #ed1c2e; }
      .header-utility__item > a:focus .hny-svg {
        fill: #ed1c2e; }
    .header-utility__item > a:hover {
      color: #ed1c2e; }
      .header-utility__item > a:hover .hny-svg {
        fill: #ed1c2e; }
  .header-utility__item.active > a {
    color: #ed1c2e; }
    .header-utility__item.active > a .hny-svg {
      fill: #ed1c2e; }
  .header-utility__item.is-active > a {
    color: #ed1c2e; }
    .header-utility__item.is-active > a .hny-svg {
      fill: #ed1c2e; }

.hero-slider {
  background: #2a2a2a;
  text-align: center; }
  @media screen and (max-width: 63.9375em) {
    .hero-slider .slick-arrow {
      visiblity: hidden;
      opacity: 0;
      pointer-events: none; } }
  @media print, screen and (min-width: 64em) {
    .hero-slider .slick-dots {
      opacity: 0;
      pointer-events: none;
      visibility: hidden; } }
  .hero-slider__item {
    min-height: 450px; }
    @media print, screen and (min-width: 40em) {
      .hero-slider__item {
        padding-top: 66vw; } }
    @media print, screen and (min-width: 64em) {
      .hero-slider__item {
        padding-top: 50vw; } }
    @media screen and (min-width: 120em) {
      .hero-slider__item {
        padding-top: 40vw; } }
    .hero-slider__item > figure {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .hero-slider__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    opacity: 0; }
    .slick-initialized .hero-slider__content {
      opacity: 1; }
  .hero-slider__heading {
    margin-bottom: 0;
    color: #fefefe;
    line-height: 1.1;
    text-shadow: 0 18px 140px rgba(10, 10, 10, 0.7), 0 5px 15px rgba(10, 10, 10, 0.5); }
    .hero-slider__heading + .hero-slider__cta {
      margin-top: 1.5rem; }
  .hero-slider__cta {
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 0.75rem;
    letter-spacing: 2px;
    text-align: center;
    text-shadow: 0 18px 140px rgba(10, 10, 10, 0.7), 0 5px 15px rgba(10, 10, 10, 0.5);
    text-transform: uppercase; }
    @media print, screen and (min-width: 40em) {
      .hero-slider__cta {
        font-size: 0.875rem;
        letter-spacing: 2px; } }
    @media print, screen and (min-width: 64em) {
      .hero-slider__cta {
        letter-spacing: 4px; } }
    @media screen and (min-width: 75em) {
      .hero-slider__cta {
        font-size: 1.25rem; } }
    .hero-slider__cta:before {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 95%;
      height: 2px;
      margin-top: -1px;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      background: #fefefe;
      content: '';
      z-index: 1; }
      @media print, screen and (min-width: 40em) {
        .hero-slider__cta:before {
          width: 75%; } }
      @media screen and (min-width: 90em) {
        .hero-slider__cta:before {
          width: 80%; } }
    .hero-slider__cta a {
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      position: relative;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 0.5rem 1rem;
      border: 2px solid #fefefe;
      background: #4b3f34;
      color: #fefefe;
      -webkit-box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
              box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
      z-index: 2; }
      @media print, screen and (min-width: 64em) {
        .hero-slider__cta a {
          padding: 0.75rem 1.5rem; } }
      .hero-slider__cta a:focus, .hero-slider__cta a:hover {
        background: #2a2a2a; }
      .hero-slider__cta a span {
        display: block;
        position: relative;
        top: 0.125em; }
      .hero-slider__cta a .hny-svg {
        fill: currentColor;
        width: 0.5em;
        height: 0.5em;
        margin-left: 0.5rem; }

.industry-resources__item + .industry-resources__item {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e6e6e6; }

.industry-resources__heading > a span,
.industry-resources__heading > a .hny-svg {
  display: inline;
  vertical-align: middle; }

.industry-resources__heading > a .hny-svg {
  fill: #ed1c2e; }

.industry-resources__heading > a:focus .hny-svg, .industry-resources__heading > a:hover .hny-svg {
  fill: #0a0a0a; }

.info-modal {
  padding: 3rem 0 2rem; }
  @media print, screen and (min-width: 64em) {
    .info-modal {
      padding: 3rem 2rem 2rem; } }
  .info-modal__image img {
    width: 100%; }
  .info-modal__title {
    color: #ed1c2e; }

.intro-links .cell {
  position: relative;
  margin-bottom: 1.5rem; }
  @media screen and (max-width: 39.9375em) {
    .intro-links .cell:first-child {
      margin-bottom: 3rem; } }
  .intro-links .cell + .cell {
    margin-top: 1.5rem; }
    @media print, screen and (min-width: 40em) {
      .intro-links .cell + .cell {
        margin-top: 0; } }
  .intro-links .cell .video-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: calc(100% + 0.5rem);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: calc(100% - 2rem);
    text-align: center; }
    @media screen and (max-width: 39.9375em) {
      .intro-links .cell .video-link {
        top: calc(100% + 1.5rem); } }
    .intro-links .cell .video-link svg {
      margin-top: -3px;
      margin-left: .5rem;
      font-size: 1.4rem; }

.intro-links__photo {
  margin-bottom: 1.25rem; }
  .intro-links__photo > div {
    position: relative;
    max-width: 70%;
    margin: 0 auto;
    overflow: hidden;
    border: 3px solid #fefefe;
    -webkit-box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
            box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08); }
    @media print, screen and (min-width: 40em) {
      .intro-links__photo > div {
        max-width: none; } }
  .intro-links__photo figure {
    margin: 0 auto;
    padding-bottom: 100%;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

.intro-links__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 100%;
  overflow: hidden;
  color: #0a0a0a;
  font-weight: normal; }
  .intro-links__item:hover {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
    color: #ed1c2e; }

.intro-links__banner {
  position: absolute;
  top: 1rem;
  left: -2.5rem;
  width: 10rem;
  padding: 0.5rem 0.25rem 0.2rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  background-color: #ed1c2e;
  color: #fefefe;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
  text-align: center; }

.intro-links h3 {
  color: currentColor; }

.intro-links__link {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.3; }
  .intro-links__link span {
    display: block;
    position: relative;
    top: 0.1375em; }
  .intro-links__link .hny-svg {
    fill: currentColor;
    width: 0.675em;
    height: 0.675em;
    margin-left: 0.5rem; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .intro-links__link .hny-svg {
        display: none; } }

.legal-nav__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin: 0;
  list-style: none; }

.legal-nav__item + .legal-nav__item {
  margin-left: 0.5rem;
  padding-left: 0.5rem;
  border-left: 1px solid rgba(254, 254, 254, 0.5); }
  @media print, screen and (min-width: 64em) {
    .legal-nav__item + .legal-nav__item {
      margin-left: 1rem;
      padding-left: 0;
      border-left: 0; } }

.listing--post .listing__grid-container + .listing__grid-container {
  margin-top: 3rem; }
  .listing--post .listing__grid-container + .listing__grid-container h4 {
    margin-bottom: 2rem; }

@media screen and (min-width: 48em) {
  .listing--post .listing__grid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin: 0 -1rem; } }

.listing--post .listing__grid > .listing__item {
  margin-bottom: 3rem; }
  @media screen and (min-width: 48em) {
    .listing--post .listing__grid > .listing__item {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%;
      padding: 0 1rem; }
      .listing--post .listing__grid > .listing__item:nth-child(6n+5), .listing--post .listing__grid > .listing__item:nth-child(6n+6) {
        margin-bottom: 0; } }

@media screen and (max-width: 47.9375em) {
  .listing--post .listing__column + .listing__column {
    margin-top: 3rem; } }

@media screen and (min-width: 48em) {
  .listing--post .listing__column {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
    padding: 0 1rem; } }

.listing--post .listing__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 39.9375em) {
    .listing--post .listing__item .post__title {
      font-size: 1rem; } }
  @media print, screen and (min-width: 40em) {
    .listing--post .listing__item:not(.listing__item--feature) .post__title {
      font-size: 1.125rem; } }

.listing--product .listing__item:last-child .l-block {
  padding-bottom: 6rem; }

.no-pagination .listing--search {
  margin-bottom: 3rem; }

.listing--search .listing__item p:last-child {
  margin-bottom: 0; }

.listing--search .listing__item + .listing__item {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e6e6e6; }

.listing--search .listing__item-title {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0; }
  .listing--search .listing__item-title--has-icon {
    position: relative;
    padding-left: 30px; }
    .listing--search .listing__item-title--has-icon .hny-svg {
      fill: #ed1c2e;
      position: absolute;
      top: -1px;
      left: 0;
      width: 24px;
      height: 24px;
      -webkit-transition: inherit;
      transition: inherit; }
    .listing--search .listing__item-title--has-icon > a:focus .hny-svg, .listing--search .listing__item-title--has-icon > a:hover .hny-svg {
      fill: #0a0a0a; }

.listing--search .listing__item-content {
  margin-top: 0.5rem; }

@media print, screen and (min-width: 40em) {
  .listing__item--product--wire:nth-child(even) .product__content .cell:last-child {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1; } }

.loader-overlay {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(75, 63, 52, 0.8);
  cursor: wait;
  pointer-events: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  z-index: 1000; }

body > .loader-overlay {
  position: fixed;
  opacity: 0;
  visibility: hidden; }

body.is-loading > .loader-overlay {
  opacity: 1;
  visibility: visible; }

.loader {
  display: inline-block;
  vertical-align: middle; }
  .loader > div {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background-color: #fefefe;
    -webkit-animation: opacityDelay 1.4s infinite ease-in-out both;
            animation: opacityDelay 1.4s infinite ease-in-out both; }
    .loader > div + div {
      margin-left: 3px; }
  .loader .bounce1 {
    -webkit-animation-delay: -0.32s;
            animation-delay: -0.32s; }
  .loader .bounce2 {
    -webkit-animation-delay: -0.16s;
            animation-delay: -0.16s; }

@-webkit-keyframes opacityDelay {
  0%, 80%, 100% {
    opacity: 0; }
  40% {
    opacity: 1; } }

@keyframes opacityDelay {
  0%, 80%, 100% {
    opacity: 0; }
  40% {
    opacity: 1; } }

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(75, 63, 52, 0.8);
  text-align: center;
  cursor: wait;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  visibility: hidden;
  z-index: 10000; }
  .is-loading .overlay {
    position: fixed;
    opacity: 1;
    pointer-events: auto;
    visibility: visible; }
    .is-loading .overlay .loader {
      opacity: 1;
      visibility: visible; }
  .overlay__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    max-width: 1200px;
    padding: 0 2rem;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .overlay .loader > div {
    width: 10px;
    height: 10px;
    background-color: #ed1c2e; }

.logo {
  display: block; }
  .logo img {
    width: 200px; }

.mobile-nav ul {
  margin: 0;
  list-style: none; }
  .mobile-nav ul li > a {
    display: block;
    position: relative;
    padding-top: 1rem;
    padding-bottom: 1rem;
    color: #e6e6e6;
    font-size: 1.125rem;
    font-weight: normal;
    line-height: 1.2;
    text-transform: uppercase; }
    .mobile-nav ul li > a:focus, .mobile-nav ul li > a:hover {
      color: #ed1c2e; }
      .mobile-nav ul li > a:focus .hny-svg, .mobile-nav ul li > a:hover .hny-svg {
        fill: #ed1c2e; }
    .mobile-nav ul li > a span {
      padding-left: 36px; }
    .mobile-nav ul li > a .hny-svg {
      fill: #e6e6e6;
      position: absolute;
      width: 24px;
      height: 24px;
      -webkit-transition: inherit;
      transition: inherit; }
  .mobile-nav ul li.active > a {
    color: #ed1c2e; }
    .mobile-nav ul li.active > a .hny-svg {
      fill: #ed1c2e; }
    .mobile-nav ul li.active > a:after, .mobile-nav ul li.active > a:focus:after, .mobile-nav ul li.active > a:hover:after {
      border-top-color: #ed1c2e;
      border-right-color: #ed1c2e; }

.mobile-nav .is-drilldown-submenu {
  left: 0;
  min-height: 100vh;
  margin: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: none;
  transition: none; }
  .mobile-nav .is-drilldown-submenu li {
    -webkit-transform: translateX(25%);
            transform: translateX(25%);
    opacity: 0;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out; }
  .mobile-nav .is-drilldown-submenu.is-active {
    -webkit-transform: none;
            transform: none; }
    .mobile-nav .is-drilldown-submenu.is-active li {
      -webkit-transform: none;
              transform: none;
      opacity: 1; }
  .mobile-nav .is-drilldown-submenu .js-drilldown-back > a {
    position: relative;
    color: #fefefe;
    font-weight: bold;
    text-transform: uppercase; }
    .mobile-nav .is-drilldown-submenu .js-drilldown-back > a:focus, .mobile-nav .is-drilldown-submenu .js-drilldown-back > a:hover {
      color: #ed1c2e; }
      .mobile-nav .is-drilldown-submenu .js-drilldown-back > a:focus:before, .mobile-nav .is-drilldown-submenu .js-drilldown-back > a:hover:before {
        border-top-color: #ed1c2e;
        border-right-color: #ed1c2e; }
    .mobile-nav .is-drilldown-submenu .js-drilldown-back > a:before {
      display: inline-block;
      width: 0.75rem;
      height: 0.75rem;
      margin-right: 5px;
      -webkit-transform: rotate(-135deg);
              transform: rotate(-135deg);
      border-top: 2px solid #fefefe;
      border-right: 2px solid #fefefe;
      background: transparent;
      content: '';
      -webkit-transition: inherit;
      transition: inherit; }
  .mobile-nav .is-drilldown-submenu-parent > a {
    position: relative;
    padding-right: 2.5rem; }
    .mobile-nav .is-drilldown-submenu-parent > a:after {
      position: absolute;
      top: 50%;
      right: 1.25rem;
      width: 0.75rem;
      height: 0.75rem;
      margin-top: -0.25rem;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      border-top: 2px solid #e6e6e6;
      border-right: 2px solid #e6e6e6;
      background: transparent;
      content: '';
      -webkit-transition: inherit;
      transition: inherit; }
    .mobile-nav .is-drilldown-submenu-parent > a:focus:after, .mobile-nav .is-drilldown-submenu-parent > a:hover:after {
      border-top-color: #ed1c2e;
      border-right-color: #ed1c2e; }

.notification-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 45px;
  padding: 0.5rem;
  background: #df2a00;
  color: #fefefe;
  -webkit-box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
          box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
  z-index: 999998; }
  @media print, screen and (min-width: 64em) {
    .notification-bar {
      position: relative; } }
  .notification-bar p {
    margin-bottom: 0; }
  .notification-bar a {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fefefe; }
    .notification-bar a:focus, .notification-bar a:hover {
      opacity: 0.5; }
    .notification-bar a small {
      margin-left: 0.5rem;
      font-size: 0.75rem;
      font-weight: normal; }
  .notification-bar svg {
    fill: #fefefe;
    width: 24px;
    height: 24px;
    margin-right: 0.25rem; }

.post {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 100%; }
  .post__image {
    margin-bottom: 1.25rem; }
    .post__image figure {
      padding-bottom: 56.25%; }
  .post__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%;
    padding-left: 4rem; }
  .front-posts .post__title {
    font-size: 1.125rem; }
    .front-posts .post__title > a {
      color: #fefefe; }
      .front-posts .post__title > a:focus, .front-posts .post__title > a:hover {
        color: #ed1c2e; }
  .post__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    top: -0.2rem;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%; }
    .front-posts .post__content .post__title:focus, .front-posts .post__content .post__title:hover {
      color: #ed1c2e; }
    .front-posts .post__content .wysiwyg {
      font-size: 0.875rem; }
    .post__content p:last-child {
      margin-bottom: 0; }
  .post__date, .post__icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 3rem;
    height: 3rem; }
  .post__icon .hny-svg {
    fill: #ed1c2e;
    width: 3rem;
    height: 3rem; }
    .home .post__icon .hny-svg {
      fill: #fefefe; }
  .post__date {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #ed1c2e;
    color: #fefefe; }
    .post__date span {
      display: block;
      line-height: 0.9; }
    .post__date__date {
      font-size: 1.25rem;
      font-weight: bold; }
    .post__date__month {
      font-size: 0.6875rem;
      text-transform: uppercase; }
    .post__date__year {
      font-size: 0.625rem; }
  .post .read-more {
    margin-top: auto;
    font-size: 0.75rem;
    text-transform: uppercase; }
    .post .read-more > a {
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .post .read-more > a span {
        position: relative;
        top: 0.1375em; }
      .post .read-more > a .hny-svg {
        fill: currentColor;
        margin-left: 0.5rem; }

.posts-block {
  background: #2a2a2a;
  color: #fefefe;
  font-size: 0.75rem; }
  .posts-block__wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 2rem 0; }
  .posts-block__heading {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0;
    border-bottom: none;
    font-size: 1rem; }
  .posts-block__description {
    margin-left: 3rem; }
  .posts-block__meta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 45px;
        -ms-flex: 0 0 45px;
            flex: 0 0 45px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 45px;
    height: 45px;
    margin-right: .625rem;
    background: #ed1c2e;
    color: #fefefe;
    font-size: .9375rem;
    line-height: 1.1;
    text-align: center;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out; }

.primary-nav__submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 280px;
  margin-bottom: 0;
  margin-left: -140px;
  -webkit-transform: scale(0.95) translateY(20px);
          transform: scale(0.95) translateY(20px);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  background: #2a2a2a;
  text-align: center;
  text-transform: uppercase;
  -webkit-box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
          box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
  opacity: 0;
  -webkit-perspective: 2000px;
          perspective: 2000px;
  pointer-events: none;
  -webkit-transition-duration: .25s;
          transition-duration: .25s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  will-change: transform, opacity; }
  .primary-nav__submenu:before {
    position: absolute;
    top: -7px;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -7px;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
    border: 7px solid #2a2a2a;
    content: '';
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    z-index: 1; }
  .primary-nav__submenu.js-dropdown-active {
    -webkit-transform: none;
            transform: none;
    opacity: 1;
    pointer-events: auto; }
  .primary-nav__submenu-item {
    position: relative;
    z-index: 2; }
    .primary-nav__submenu-item > a {
      display: block;
      padding: 0.75rem;
      color: #fefefe;
      font-weight: normal; }
      .primary-nav__submenu-item > a:focus, .primary-nav__submenu-item > a:hover {
        color: #ed1c2e; }
    .primary-nav__submenu-item.active > a {
      color: #ed1c2e;
      font-weight: bold; }
    .primary-nav__submenu-item + .primary-nav__submenu-item {
      border-top: 1px solid rgba(254, 254, 254, 0.1); }

.primary-nav {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .primary-nav {
      display: block; } }
  .primary-nav ul {
    list-style: none; }
  .primary-nav__items {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin: 0; }
  .primary-nav__item {
    position: relative;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: 0.8125rem; }
    @media screen and (min-width: 90em) {
      .primary-nav__item {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem; } }
    .primary-nav__item + .primary-nav__item {
      margin-left: 2rem; }
    .primary-nav__item > a {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      outline: none;
      color: #e6e6e6;
      font-weight: 600;
      line-height: 1.2;
      text-align: center;
      text-transform: uppercase; }
      .primary-nav__item > a .hny-svg {
        fill: #e6e6e6;
        width: 32px;
        height: 32px;
        -webkit-transition: inherit;
        transition: inherit; }
        .primary-nav__item > a .hny-svg + span {
          display: block;
          margin-top: 0.5rem; }
      .primary-nav__item > a span .hny-svg {
        width: 18px;
        height: 18px; }
      .primary-nav__item > a:focus {
        color: #ed1c2e; }
        .primary-nav__item > a:focus .hny-svg {
          fill: #ed1c2e; }
      .primary-nav__item > a:hover {
        color: #ed1c2e; }
        .primary-nav__item > a:hover .hny-svg {
          fill: #ed1c2e; }
    .primary-nav__item.active > a {
      color: #ed1c2e; }
      .primary-nav__item.active > a .hny-svg {
        fill: #ed1c2e; }
    .primary-nav__item.is-active > a {
      color: #ed1c2e; }
      .primary-nav__item.is-active > a .hny-svg {
        fill: #ed1c2e; }
    @media screen and (max-width: 89.9375em) {
      .primary-nav__item.is-dropdown-submenu-parent:last-child .primary-nav__submenu {
        right: 0;
        left: auto; } }
    @media screen and (max-width: 89.9375em) {
      .primary-nav__item.is-dropdown-submenu-parent:last-child .primary-nav__submenu:before {
        right: 0;
        left: auto;
        margin-right: 25px;
        margin-left: 0; } }
    @media screen and (min-width: 75em) {
      .primary-nav__item.is-dropdown-submenu-parent:last-child .primary-nav__submenu:before {
        margin-right: 32px; } }

.product {
  position: relative; }
  .product--photo-bottom .l-block {
    padding-bottom: 0; }
  .product--photo-bottom .product__content .product__photo {
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end; }
  @media print, screen and (min-width: 40em) {
    .product--photo-bottom .product__description {
      padding-bottom: 2rem; } }
  @media screen and (min-width: 75em) {
    .product--photo-bottom .product__description {
      padding-bottom: 3rem; } }
  .product__content-group + .product__content-group {
    margin-top: 1.5rem; }
  .product__photo img {
    width: 100%; }
  .product__content p:last-child {
    margin-bottom: 0; }
  .product__content .grid-container + .grid-container {
    margin-top: 2rem; }
  .product__content .grid-container .cell + .cell {
    margin-top: 1rem; }
    @media print, screen and (min-width: 40em) {
      .product__content .grid-container .cell + .cell {
        margin-top: 0; } }
  .product .video-link {
    display: inline-block;
    width: 50%;
    text-align: center; }
    .product .video-link figure {
      position: relative;
      margin-bottom: 1rem;
      padding-bottom: 56.25%;
      border: 2px solid #fefefe;
      background-size: 115%;
      -webkit-box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
              box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08); }
      .product .video-link figure .hny-svg {
        fill: #fefefe;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 64px;
        height: 64px;
        margin-top: -32px;
        margin-left: -32px;
        -webkit-filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.2));
                filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.2));
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out; }

@media screen and (max-width: 63.9375em) {
  .resources .l-primary {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; } }

.search-header {
  margin-top: 0.5rem; }
  .search-header__count {
    margin-top: 0.25rem;
    font-size: 0.75rem; }
    .search-header__count p {
      margin-bottom: 0; }

#search-panel {
  width: 100%;
  color: #fefefe; }
  #search-panel .close-button {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1rem;
    border: none;
    outline: none !important;
    color: #fefefe;
    font-size: 0.875rem;
    -webkit-box-shadow: none;
            box-shadow: none; }
    #search-panel .close-button span,
    #search-panel .close-button .hny-svg {
      display: inline;
      vertical-align: middle; }
    #search-panel .close-button .hny-svg {
      width: 24px;
      height: 24px; }
    #search-panel .close-button:focus, #search-panel .close-button:hover {
      -webkit-transform: none;
              transform: none; }
    #search-panel .close-button:hover {
      color: #ed1c2e; }
      #search-panel .close-button:hover .hny-svg {
        fill: #ed1c2e; }
  @media print, screen and (min-width: 64em) {
    #search-panel {
      max-width: 33vw;
      -webkit-transform: translateX(33vw);
              transform: translateX(33vw); } }
  @media screen and (min-width: 90em) {
    #search-panel {
      max-width: 25vw;
      -webkit-transform: translateX(25vw);
              transform: translateX(25vw); } }
  #search-panel.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
            box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15); }
  #search-panel.is-closed {
    visibility: visible; }

.section-nav {
  padding-top: 2rem;
  background: #fefefe; }
  .resources .section-nav {
    margin-bottom: 2rem;
    padding-top: 0; }
    @media print, screen and (min-width: 40em) {
      .resources .section-nav {
        display: none; } }
  @media print, screen and (min-width: 40em) {
    .section-nav--mobile {
      display: none; } }
  .section-nav--desktop {
    position: relative;
    padding-top: 0;
    border-bottom: 1px solid #e6e6e6;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    z-index: 2; }
    @media screen and (max-width: 39.9375em) {
      .section-nav--desktop {
        display: none; } }
    .section-nav--desktop .sub-nav__items > .sub-nav__item.active {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    .section-nav--desktop .sub-nav .sub-nav__submenu {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; }
      .section-nav--desktop .sub-nav .sub-nav__submenu .sub-nav__item + .sub-nav__item {
        margin-left: 1rem; }
      .section-nav--desktop .sub-nav .sub-nav__submenu .sub-nav__item > a {
        position: relative; }
        .section-nav--desktop .sub-nav .sub-nav__submenu .sub-nav__item > a .hny-svg {
          fill: #cecece;
          display: block;
          position: absolute;
          bottom: 0;
          left: 50%;
          width: 16px;
          height: 16px;
          margin-bottom: -2px;
          margin-left: -10px;
          opacity: 0;
          -webkit-transition: inherit;
          transition: inherit;
          vertical-align: bottom; }
      .section-nav--desktop .sub-nav .sub-nav__submenu .sub-nav__item.active > a {
        color: #ed1c2e; }
        .section-nav--desktop .sub-nav .sub-nav__submenu .sub-nav__item.active > a .hny-svg {
          fill: #ed1c2e;
          opacity: 1; }
      .section-nav--desktop .sub-nav .sub-nav__submenu .sub-nav__item:focus .hny-svg, .section-nav--desktop .sub-nav .sub-nav__submenu .sub-nav__item:hover .hny-svg {
        opacity: 1; }
    .section-nav--desktop .sub-nav__item > a {
      padding: 0;
      border-bottom: 0;
      line-height: 50px; }
      .section-nav--desktop .sub-nav__item > a:focus, .section-nav--desktop .sub-nav__item > a:hover {
        background: none;
        color: #b6b6b6; }
    .section-nav--desktop .sub-nav__item.active > a {
      background: none;
      color: #0a0a0a;
      font-weight: bold; }
  .resources .section-nav .grid-container {
    padding-right: 0;
    padding-left: 0; }
  .section-nav__wrapper {
    position: relative; }
  .section-nav__toggle {
    display: block;
    position: relative;
    padding: 14px 50px 14px 15px;
    border: 1px solid #e6e6e6;
    background: #fefefe;
    color: #0a0a0a;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    z-index: 99; }
    .section-nav__toggle .hny-svg {
      fill: #ed1c2e;
      position: absolute;
      top: 50%;
      right: 5px;
      width: 24px;
      height: 24px;
      margin-top: -12px; }
  .section-nav__menu {
    position: absolute;
    top: 30px;
    left: 0;
    width: 100%;
    min-width: 210px;
    border: 1px solid #e6e6e6;
    background: #fefefe;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    z-index: 98; }
    .has-open-section-nav .section-nav__menu {
      width: 100%;
      -webkit-transform: translateY(30px);
              transform: translateY(30px);
      -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
              box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
      opacity: 1;
      pointer-events: auto; }

.site-footer {
  background: #b80f1d; }
  .site-footer__company-info {
    border-top: 2px solid #fefefe;
    background: #e6e6e6;
    color: #4a4a4a; }
  .site-footer__colophon {
    position: relative;
    color: #fefefe;
    z-index: 90; }

button.cookie-button {
  border: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.site-header {
  background: #0a0a0a;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  z-index: 100; }
  .has-hero .site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }
  @media screen and (max-width: 63.9375em) {
    .site-header .grid-container {
      padding: 0; } }
  @media print, screen and (min-width: 64em) {
    .site-header__wrapper {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding-top: 0; } }
  .site-header__logo {
    text-align: center; }
  .site-header__nav {
    position: relative;
    margin-left: auto;
    z-index: 2; }
    @media screen and (max-width: 63.9375em) {
      .site-header__nav {
        display: none;
        -webkit-align-self: center;
            -ms-flex-item-align: center;
                align-self: center;
        padding: 1rem 0; } }

.search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(42, 42, 42, 0.95);
  font-size: 20px;
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  z-index: -9999; }
  .search-overlay.is-open {
    opacity: 1;
    z-index: 999999; }
  .search-overlay .site-search__input {
    height: auto;
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 1.25rem;
    line-height: normal; }

.site-search__loader {
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  visibility: hidden; }
  .is-loading .site-search__loader {
    opacity: 1;
    visibility: visible; }
  .site-search__loader .loader > div {
    background-color: #ed1c2e; }

.site-search__wrapper {
  padding: 20vh 0; }

.site-search__form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  .site-search__form button {
    top: 50%;
    width: 2.25rem;
    height: 2.25rem;
    margin-top: -1.125rem;
    border: none;
    background: transparent;
    -webkit-box-shadow: none;
            box-shadow: none; }
    .site-search__form button .hny-svg {
      fill: #ed1c2e;
      width: 24px;
      height: 24px; }

.site-search__input {
  margin-bottom: 0;
  padding-left: 2.25rem; }

.site-search__submit {
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  padding: 0;
  border: 0; }
  .site-search__submit, .site-search__submit:focus, .site-search__submit:hover {
    -webkit-transform: none;
            transform: none;
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none; }
  .site-search__submit .hny-svg {
    fill: #fefefe;
    width: 24px;
    height: 24px; }

.site-search__close {
  display: block;
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px; }
  @media print, screen and (min-width: 64em) {
    .site-search__close {
      top: 32px;
      right: 32px;
      width: 64px;
      height: 64px; } }
  .site-search__close .hny-svg {
    fill: #ed1c2e;
    width: 36px;
    height: 36px;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    @media print, screen and (min-width: 64em) {
      .site-search__close .hny-svg {
        width: 64px;
        height: 64px; } }
  .site-search__close:hover .hny-svg {
    fill: #fefefe; }

.site-search__results {
  margin: 0 auto;
  list-style: none; }

.site-search__no-results {
  padding: 1rem 0 0;
  color: #fefefe; }
  .site-search__no-results p {
    margin-bottom: 0; }
    .site-search__no-results p a:focus, .site-search__no-results p a:hover {
      color: #fefefe; }

.site-search__results-list {
  margin-right: 0;
  padding-top: 1rem; }

.site-search__results-item {
  display: block;
  position: relative;
  padding: 0.75rem 0;
  color: #fefefe;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .site-search__results-item a {
    display: block; }
    .site-search__results-item a span,
    .site-search__results-item a .hny-svg {
      display: inline;
      vertical-align: middle; }
    .site-search__results-item a .hny-svg {
      fill: #ed1c2e;
      width: 24px;
      height: 24px;
      margin-right: 0.25rem;
      -webkit-transition: inherit;
      transition: inherit; }
    .site-search__results-item a:focus, .site-search__results-item a:hover {
      color: #fefefe; }
      .site-search__results-item a:focus .hny-svg, .site-search__results-item a:hover .hny-svg {
        fill: #fefefe; }
  .site-search__results-item + .site-search__results-item:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #4a4a4a;
    content: ''; }
  .site-search__results-item--active:after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: calc(100% + 1px);
    margin: 0 -1rem;
    background: #4a4a4a;
    content: '';
    z-index: -1; }
  .site-search__results-item--active a {
    color: #fefefe; }
    .site-search__results-item--active a .hny-svg {
      fill: #fefefe; }
  .site-search__results-item--active div {
    color: #fefefe; }

.site-search__item-heading {
  margin-bottom: 0; }

.site-search__item-content {
  margin-top: 0.25rem;
  color: rgba(254, 254, 254, 0.6);
  font-size: 0.75rem;
  -webkit-transition: inherit;
  transition: inherit; }
  .site-search__item-content p {
    margin-bottom: 0; }

.site-search__all-results {
  font-size: 0.75rem;
  text-align: right;
  text-transform: uppercase; }

.sitemap ul > li > a {
  font-size: 0.875rem;
  font-weight: normal; }

.sub-nav__items {
  margin: 0; }

.sub-nav__item > a {
  display: block;
  position: relative;
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid #e6e6e6;
  color: #0a0a0a;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase; }
  .sub-nav__item > a:focus, .sub-nav__item > a:hover {
    background: #e6e6e6; }
  .sub-nav__item > a .hny-svg {
    display: none; }

.sub-nav__item.active > a {
  background: #ed1c2e;
  color: #fefefe;
  font-weight: bold; }

@media screen and (max-width: 39.9375em) {
  .side-nav {
    display: none; } }

.term-description {
  background-color: #b80f1d;
  color: #fefefe; }
  .term-description__wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    padding: 2rem 0; }
    @media print, screen and (min-width: 40em) {
      .term-description__wrapper {
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
  .term-description__content {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .term-description__content p {
      margin-bottom: 0;
      line-height: 1.3; }
    .term-description__content a {
      color: #fefefe; }
      .term-description__content a:focus, .term-description__content a:hover {
        color: rgba(254, 254, 254, 0.6); }
  .term-description__icon {
    padding-right: 1rem; }
    .term-description__icon .hny-svg {
      fill: #fefefe;
      width: 50px;
      height: 50px; }
      @media print, screen and (min-width: 40em) {
        .term-description__icon .hny-svg {
          width: 75px;
          height: 75px; } }

.update-links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin: 1rem -0.5rem 0; }
  .update-links__item {
    padding: 0.5rem; }
    .update-links__item > a {
      display: block;
      position: relative;
      padding-left: 1.5rem;
      font-weight: normal;
      line-height: 1.4; }
      .update-links__item > a .hny-svg {
        fill: #ed1c2e;
        position: absolute;
        top: 0;
        left: 0;
        width: 24px;
        height: 24px;
        -webkit-transition: inherit;
        transition: inherit; }
      .update-links__item > a:focus .hny-svg, .update-links__item > a:hover .hny-svg {
        fill: #0a0a0a; }

.video-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin: 0 -1rem; }
  .video-grid__item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
    padding: 0 1rem; }
    @media print, screen and (min-width: 64em) {
      .video-grid__item {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 50%;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        max-width: 50%;
        margin-top: 2rem; } }
    @media print, screen and (min-width: 64em) {
      .video-grid__item:first-child, .video-grid__item:nth-child(2) {
        margin-top: 0; } }
    @media screen and (max-width: 63.9375em) {
      .video-grid__item + .video-grid__item {
        margin-top: 2rem; } }
    .video-grid__item figure {
      position: relative;
      margin-bottom: 1rem;
      padding-bottom: 56.25%;
      border: 2px solid #fefefe;
      background-size: 115%;
      -webkit-box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
              box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08); }
      .video-grid__item figure .hny-svg {
        fill: #fefefe;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 64px;
        height: 64px;
        margin-top: -32px;
        margin-left: -32px;
        -webkit-filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.2));
                filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.2));
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out; }
    @media screen and (min-width: 75em) {
      .video-grid__item p {
        font-size: 0.75rem; } }
  .video-grid__link {
    display: block;
    font-weight: normal; }
    .video-grid__link:focus figure .hny-svg, .video-grid__link:hover figure .hny-svg {
      -webkit-transform: scale(1.1);
              transform: scale(1.1); }
    .video-grid__link:focus .video-grid__heading, .video-grid__link:hover .video-grid__heading {
      color: #0a0a0a; }
  .video-grid__heading {
    -webkit-transition: inherit;
    transition: inherit; }
  .video-grid__description {
    color: #0a0a0a; }

.view-updates {
  margin: 1rem 4rem 2rem; }

.dealer {
  padding: 1rem;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .dealer:hover {
    background: #e6e6e6; }
  .dealer__title {
    margin-bottom: 0.25rem;
    font-size: 0.875rem;
    text-transform: none; }
  .dealer__info {
    font-size: 0.75rem; }
  .dealer__address {
    margin-bottom: 0.75rem; }
  .dealer__utility {
    margin: 0;
    list-style: none; }
    .dealer__utility li + li {
      margin-top: 0.25rem; }
    .dealer__utility a:focus .hny-svg, .dealer__utility a:hover .hny-svg {
      fill: #0a0a0a; }
    .dealer__utility a + span {
      font-size: 0.625rem; }
    .dealer__utility span,
    .dealer__utility .hny-svg {
      display: inline;
      vertical-align: middle; }
    .dealer__utility .hny-svg {
      fill: #ed1c2e;
      width: 20px;
      height: 20px;
      -webkit-transition: inherit;
      transition: inherit; }
      @media print, screen and (min-width: 64em) {
        .dealer__utility .hny-svg {
          width: 24px;
          height: 24px; } }

.dealers {
  position: relative;
  z-index: 50; }
  .dealers__no-results {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 2rem;
    text-align: center; }
    .dealers__no-results h4 {
      font-size: 1.125rem; }
    .dealers__no-results p {
      font-size: 0.875rem; }
  .dealers__wrapper {
    overflow: hidden; }
    @media print, screen and (min-width: 64em) {
      .dealers__wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-flow: row wrap;
            -ms-flex-flow: row wrap;
                flex-flow: row wrap;
        height: 80vh;
        min-height: 600px; } }
  @media print, screen and (min-width: 64em) {
    .dealers__sidebar, .dealers__map {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }
  .dealers__sidebar {
    background: #fefefe; }
    @media print, screen and (min-width: 64em) {
      .dealers__sidebar {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 30%;
            -ms-flex: 0 0 30%;
                flex: 0 0 30%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        max-width: 30%; } }
  .dealers__map {
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .dealers__map {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 70%;
            -ms-flex: 0 0 70%;
                flex: 0 0 70%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        max-width: 70%; } }
    .dealers__map .map-canvas {
      height: 32vh; }
      @media print, screen and (min-width: 64em) {
        .dealers__map .map-canvas {
          -webkit-box-flex: 1;
          -webkit-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          height: auto; } }
    .dealers__map > .dealers__information-window {
      display: none; }
  .dealers__information-window {
    padding: 0.5rem; }
  .dealers__search-form {
    padding: 1rem;
    background: #4b3f34 url("../images/stucco-repeater-brown.jpg"); }
    @media print, screen and (min-width: 64em) {
      .dealers__search-form {
        padding: 2rem 1rem; } }
  .dealers__search {
    position: relative;
    z-index: 1; }
    .dealers__search input {
      margin: 0;
      padding-right: 3.875rem;
      padding-left: 2.25rem; }
    .dealers__search button {
      position: absolute;
      top: 50%;
      border: none;
      -webkit-box-shadow: none;
              box-shadow: none; }
      .dealers__search button, .dealers__search button:focus, .dealers__search button:hover {
        -webkit-transform: none;
                transform: none;
        outline: none;
        -webkit-box-shadow: none;
                box-shadow: none; }
  .dealers__search-submit {
    left: 0;
    width: 2.25rem;
    height: 2.25rem;
    margin-top: -1.125rem;
    background: transparent; }
    .dealers__search-submit .hny-svg {
      fill: #ed1c2e;
      width: 24px;
      height: 24px; }
  .dealers__search-reset {
    right: 4px;
    margin-top: -8.5px;
    padding: 0 4px;
    border-radius: 4px;
    background: #4a4a4a;
    color: #fefefe;
    font-size: 0.625rem;
    line-height: 18px; }
    .dealers__search-reset span,
    .dealers__search-reset .hny-svg {
      display: inline;
      vertical-align: middle; }
    .dealers__search-reset .hny-svg {
      fill: #fefefe;
      width: 12px;
      height: 12px; }
      .dealers__search-reset .hny-svg + span {
        margin-left: 0; }
    .dealers__search-reset:focus, .dealers__search-reset:hover {
      background: #ed1c2e;
      color: #fefefe; }
      .dealers__search-reset:focus .hny-svg, .dealers__search-reset:hover .hny-svg {
        fill: #fefefe; }
  .dealers__list {
    position: relative;
    height: 100vh;
    overflow-y: scroll; }
    @media print, screen and (min-width: 64em) {
      .dealers__list {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1;
        height: auto; } }
  .dealers__list-items {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }
  .dealers__list-item + .dealers__list-item {
    border-top: 1px solid rgba(10, 10, 10, 0.1); }
  .dealers__list-item:last-child {
    border-bottom: 1px solid rgba(10, 10, 10, 0.1); }
  .dealers__list-item--active .dealer {
    background: #ed1c2e; }
    .dealers__list-item--active .dealer,
    .dealers__list-item--active .dealer a {
      color: #fefefe; }
    .dealers__list-item--active .dealer .hny-svg {
      fill: #fefefe; }
    .dealers__list-item--active .dealer a:focus, .dealers__list-item--active .dealer a:hover {
      color: rgba(254, 254, 254, 0.6); }
      .dealers__list-item--active .dealer a:focus .hny-svg, .dealers__list-item--active .dealer a:hover .hny-svg {
        fill: rgba(254, 254, 254, 0.6); }

@media print, screen and (min-width: 40em) {
  .cell + .block-background .content-block__background {
    left: auto;
    width: 50vw; } }

.content-block__background {
  padding-bottom: 56.25%; }
  @media print, screen and (min-width: 40em) {
    .content-block__background {
      position: absolute;
      top: 0;
      left: 0;
      width: calc(50vw - 2rem);
      height: 100%;
      padding-bottom: 0; } }

@media screen and (max-width: 39.9375em) {
  .block-content + .block-background,
  .block-content + .block-photo {
    margin-top: 2rem; } }

@media screen and (max-width: 39.9375em) {
  .block-content + .block-background {
    margin-bottom: -2rem; } }

@media screen and (max-width: 39.9375em) {
  .block-content + .block-background .content-block__background {
    margin-right: -1rem;
    margin-left: -1rem; } }

@media screen and (max-width: 39.9375em) {
  .block-background + .block-content,
  .block-photo + .block-content {
    margin-top: 2rem; } }

.content-block {
  position: relative;
  overflow: hidden; }
  .content-block--white + .content-block--white .l-block {
    padding-top: 0; }
  .content-block:last-child .l-block {
    padding-bottom: 6rem; }
  .content-block__content--has-icon {
    position: relative;
    padding-left: 50px; }
  .content-block__content-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    margin-bottom: 1rem; }
    .content-block__content-icon svg path {
      fill: #ed1c2e; }

.content-block__content p:last-child {
  margin-bottom: 0; }

.icon-grid__heading {
  margin-bottom: 2rem; }
  @media print, screen and (min-width: 64em) {
    .icon-grid__heading {
      margin-bottom: 0; } }

.icon-grid__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 39.9375em) {
    .icon-grid__item + .icon-grid__item {
      margin-top: 2rem; } }
  @media print, screen and (min-width: 40em) {
    .icon-grid__item {
      margin-top: 3rem; }
      .icon-grid__item:first-child, .icon-grid__item:nth-child(2) {
        margin-top: 0; } }

.icon-grid__item-wrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.icon-grid__item-body {
  position: relative; }

.icon-grid__item-content {
  padding-left: 50px; }
  .icon-grid__item-content p:last-child {
    margin-bottom: 0; }

.icon-grid__icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  margin-bottom: 1rem; }
  .icon-grid__icon svg path {
    fill: #ed1c2e; }

.content-block__pdf {
  position: relative;
  color: #fefefe; }
  .content-block__pdf:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-top: -100vh;
    margin-right: -50vw;
    padding-top: 200vh;
    padding-left: 50vw;
    background: #2a2a2a url("../images/stucco-repeater-gray.jpg");
    content: ''; }
  .content-block__pdf .pdf-block .hny-svg--pdf-emblem {
    fill: #fefefe;
    position: absolute;
    top: 50%;
    left: 0;
    width: 20rem;
    height: 20rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: 0.1;
    z-index: 1; }
  .content-block__pdf .pdf-block__wrapper {
    position: relative;
    padding-right: 2rem;
    padding-left: 2rem;
    z-index: 2; }
  .content-block__pdf .pdf-block__button {
    text-align: right; }
  .l-block .content-block__pdf .pdf-block h5 {
    color: #fefefe; }

.content-block__photo img {
  width: 100%; }

@media print {
  *:before, *:after {
    background: rgba(255, 255, 255, 0) !important;
    color: #0a0a0a !important;
    text-shadow: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  a[href]:after {
    content: none; }
  a[href^='tel']:after,
  a [href^='#']:after {
    content: ''; }
  a:visited {
    text-decoration: underline; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #0a0a0a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  .hny-svg {
    fill: #0a0a0a !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiY29tbW9uL19mb250cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsImNvbW1vbi9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiY29tbW9uL191dGlsLnNjc3MiLCJjb21tb24vX2dsb2JhbC5zY3NzIiwiY29tbW9uL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19hZG1pbmJhci5zY3NzIiwiY29tcG9uZW50cy9fYnVsbGV0LWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NoZWNrbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fZHJpbGxkb3duLWN1c3RvbS5zY3NzIiwiY29tcG9uZW50cy9fZ2Zvcm1zLWN1c3RvbS5zY3NzIiwiY29tcG9uZW50cy9faGVhZGluZ3Muc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJjb21wb25lbnRzL19sYXlvdXQuc2NzcyIsImNvbXBvbmVudHMvX29mZi1jYW52YXMtY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19wYWdlLXRpdGxlLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19yZXZlYWwtY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19zbGljay1jdXN0b20uc2NzcyIsImNvbXBvbmVudHMvX3d5c2l3eWcuc2NzcyIsIm1vZHVsZXMvXzQwNC5zY3NzIiwibW9kdWxlcy9fYmFjay10by10b3Auc2NzcyIsIm1vZHVsZXMvX2NvbG9waG9uLnNjc3MiLCJtb2R1bGVzL19jb21wYW55LWluZm8uc2NzcyIsIm1vZHVsZXMvX2NvbnRhY3QtaW5mby5zY3NzIiwibW9kdWxlcy9fY29udGFjdC11cy5zY3NzIiwibW9kdWxlcy9fY29udGVudC1ncmlkLnNjc3MiLCJtb2R1bGVzL19kb2N1bWVudC1saXN0LnNjc3MiLCJtb2R1bGVzL19mcm9udC1mZWF0dXJlLnNjc3MiLCJtb2R1bGVzL19mcm9udC1pbnRyby5zY3NzIiwibW9kdWxlcy9fZnJvbnQtcG9zdHMuc2NzcyIsIm1vZHVsZXMvX2dkcHIuc2NzcyIsIm1vZHVsZXMvX2hlYWRlci11dGlsaXR5LnNjc3MiLCJtb2R1bGVzL19oZXJvLnNjc3MiLCJtb2R1bGVzL19pbmR1c3RyeS1yZXNvdXJjZXMuc2NzcyIsIm1vZHVsZXMvX2luZm8tbW9kYWwuc2NzcyIsIm1vZHVsZXMvX2ludHJvLWxpbmtzLnNjc3MiLCJtb2R1bGVzL19sZWdhbC1uYXYuc2NzcyIsIm1vZHVsZXMvX2xpc3Rpbmcuc2NzcyIsIm1vZHVsZXMvX2xvYWRlci1vdmVybGF5LnNjc3MiLCJtb2R1bGVzL19sb2FkZXIuc2NzcyIsIm1vZHVsZXMvX2xvZ28uc2NzcyIsIm1vZHVsZXMvX21vYmlsZS1uYXYuc2NzcyIsIm1vZHVsZXMvX25vdGlmaWNhdGlvbi1iYXIuc2NzcyIsIm1vZHVsZXMvX3Bvc3Quc2NzcyIsIm1vZHVsZXMvX3Bvc3RzLWJsb2NrLnNjc3MiLCJtb2R1bGVzL19wcmltYXJ5LW5hdl9fc3VibWVudS5zY3NzIiwibW9kdWxlcy9fcHJpbWFyeS1uYXYuc2NzcyIsIm1vZHVsZXMvX3Byb2R1Y3Quc2NzcyIsIm1vZHVsZXMvX3Jlc291cmNlcy5zY3NzIiwibW9kdWxlcy9fc2VhcmNoLWhlYWRlci5zY3NzIiwibW9kdWxlcy9fc2VhcmNoLXBhbmVsLnNjc3MiLCJtb2R1bGVzL19zZWN0aW9uLW5hdi5zY3NzIiwibW9kdWxlcy9fc2l0ZS1mb290ZXIuc2NzcyIsIm1vZHVsZXMvX3NpdGUtaGVhZGVyLnNjc3MiLCJtb2R1bGVzL19zaXRlLXNlYXJjaC5zY3NzIiwibW9kdWxlcy9fc2l0ZW1hcC5zY3NzIiwibW9kdWxlcy9fc3ViLW5hdi5zY3NzIiwibW9kdWxlcy9fdGVybS1kZXNjcmlwdGlvbi5zY3NzIiwibW9kdWxlcy9fdXBkYXRlLWxpbmtzLnNjc3MiLCJtb2R1bGVzL192aWRlby1ncmlkLnNjc3MiLCJtb2R1bGVzL192aWV3LXVwZGF0ZXMuc2NzcyIsIm1vZHVsZXMvZGVhbGVycy9fZGVhbGVyLnNjc3MiLCJtb2R1bGVzL2RlYWxlcnMvX2RlYWxlcnMuc2NzcyIsImxheW91dHMvX2JhY2tncm91bmQuc2NzcyIsImxheW91dHMvX2Jsb2NrLnNjc3MiLCJsYXlvdXRzL19jb250ZW50LWJsb2NrLnNjc3MiLCJsYXlvdXRzL19jb250ZW50LnNjc3MiLCJsYXlvdXRzL19pY29uLWdyaWQuc2NzcyIsImxheW91dHMvX3BkZi5zY3NzIiwibGF5b3V0cy9fcGhvdG8uc2NzcyIsImNvbW1vbi9fcHJpbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakIsaUZBQVk7QUNBWjs7Ozs7R0FLRztBQzhKRztFQ3ZISjtJQUNFLFlBQVc7SUFDWCxXQUFVO0lBQ1YsZUFBYyxFQUNmLEVBQUE7O0FDSEQsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVIO0VBU3dCLE9BQU87RUFFN0IsMkJBQTBCO0VBQUcsT0FBTztFQUNwQywrQkFBOEI7RUFYOUIsd0JDMUN1QjtFRDBDUyxPQUFPO0VBUXJDLGtCQUFpQjtFQUdjLE9BQU8sRUFDekM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDs7Ozs7O0VBTUUsZUFBYyxFQUNmOztBQUVEOzs7T0FHRztBQUVIO0VBV0ksaUJBQWdCO0VFekZ0QixlQVh1QyxFRnNHcEM7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSDs7RUFFRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUtJLGlCQ3ZMWSxFRHlMZjs7QUFFRDs7O09BR0c7QUFFSDtFQUNFLGdDQUF1QjtVQUF2Qix3QkFBdUI7RUFBRyxPQUFPO0VBQ2pDLFVBQVM7RUFBRyxPQUFPO0VBQ25CLGtCQUFpQjtFQUFHLE9BQU8sRUFDNUI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFhRDs7O09BR0c7QUFFSDtFQUNFLGtDQUFpQztF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NEIvRztFQUZDO0lHekJGLDhCQURnSCxFSDRCL0c7RUFGQztJR3pCRiw4QkFEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsd0JBRGdILEVINEIvRztFQUZDO0lHekJGLDhCQURnSCxFSDRCL0c7RUFGQztJR3pCRiw4QkFEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsd0JBRGdILEVINEIvRztFQUZDO0lHekJGLDhCQURnSCxFSDRCL0c7RUFGQztJR3pCRiw4QkFEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYseUJBRGdILEVINEIvRztFUjhDQztJUTVERjtNR3JCQSxZQUFtQixFSHVCcEI7SUFFQztNR3JCQSxZQUFtQixFSHVCcEI7SUFNRztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHlCQURnSCxFSDRCL0csRUFBQTtFUjhDQztJUTVERjtNR3JCQSxZQUFtQixFSHVCcEI7SUFFQztNR3JCQSxZQUFtQixFSHVCcEI7SUFNRztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHlCQURnSCxFSDRCL0csRUFBQTtFUm1EQztJUWpFRjtNR3JCQSxZQUFtQixFSHVCcEI7SUFFQztNR3JCQSxZQUFtQixFSHVCcEI7SUFNRztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHlCQURnSCxFSDRCL0csRUFBQTtFUm1EQztJUWpFRjtNR3JCQSxZQUFtQixFSHVCcEI7SUFFQztNR3JCQSxZQUFtQixFSHVCcEI7SUFNRztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHlCQURnSCxFSDRCL0csRUFBQTtFUm1EQztJUWpFRjtNR3JCQSxZQUFtQixFSHVCcEI7SUFFQztNR3JCQSxZQUFtQixFSHVCcEI7SUFNRztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHdCQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQUZDO01HekJGLHlCQURnSCxFSDRCL0csRUFBQTs7QUE4Q0g7RUVuSU0sb0JBQTZEO0VBQTdELG1CQUE2RCxFRndJaEU7O0FBSUQ7RUU1SUksb0JBQTZEO0VBQTdELG1CQUE2RCxFRjhJaEU7O0FBWEg7RUVuSU0sb0JBQTZEO0VBQTdELG1CQUE2RCxFRm1KaEU7O0FJdEpDO0VENkRGLFlBRG9ELEVDMURyRDs7QUFGRztFRDZERixXQURvRCxFQzFEckQ7O0FBRkc7RUQ2REYsaUJBRG9ELEVDMURyRDs7QUFGRztFRDZERixXQURvRCxFQzFEckQ7O0FBRkc7RUQ2REYsV0FEb0QsRUMxRHJEOztBQUZHO0VENkRGLGlCQURvRCxFQzFEckQ7O0FBRkc7RUQ2REYsaUJBRG9ELEVDMURyRDs7QUFGRztFRDZERixhQURvRCxFQzFEckQ7O0Fab0lHO0VZdElBO0lENkRGLFlBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLGlCQURvRCxFQzFEckQ7RUFGRztJRDZERixXQURvRCxFQzFEckQ7RUFGRztJRDZERixXQURvRCxFQzFEckQ7RUFGRztJRDZERixpQkFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsaUJBRG9ELEVDMURyRDtFQUZHO0lENkRGLGFBRG9ELEVDMURyRCxFQUFBOztBWm9JRztFWXRJQTtJRDZERixZQURvRCxFQzFEckQ7RUFGRztJRDZERixXQURvRCxFQzFEckQ7RUFGRztJRDZERixpQkFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsV0FEb0QsRUMxRHJEO0VBRkc7SUQ2REYsV0FEb0QsRUMxRHJEO0VBRkc7SUQ2REYsaUJBRG9ELEVDMURyRDtFQUZHO0lENkRGLGlCQURvRCxFQzFEckQ7RUFGRztJRDZERixhQURvRCxFQzFEckQsRUFBQTs7QVp5SUc7RVkzSUE7SUQ2REYsWUFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsV0FEb0QsRUMxRHJEO0VBRkc7SUQ2REYsaUJBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLGlCQURvRCxFQzFEckQ7RUFGRztJRDZERixpQkFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsYUFEb0QsRUMxRHJELEVBQUE7O0FaeUlHO0VZM0lBO0lENkRGLFlBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLGlCQURvRCxFQzFEckQ7RUFGRztJRDZERixXQURvRCxFQzFEckQ7RUFGRztJRDZERixXQURvRCxFQzFEckQ7RUFGRztJRDZERixpQkFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsaUJBRG9ELEVDMURyRDtFQUZHO0lENkRGLGFBRG9ELEVDMURyRCxFQUFBOztBWnlJRztFWTNJQTtJRDZERixZQURvRCxFQzFEckQ7RUFGRztJRDZERixXQURvRCxFQzFEckQ7RUFGRztJRDZERixpQkFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsV0FEb0QsRUMxRHJEO0VBRkc7SUQ2REYsV0FEb0QsRUMxRHJEO0VBRkc7SUQ2REYsaUJBRG9ELEVDMURyRDtFQUZHO0lENkRGLGlCQURvRCxFQzFEckQ7RUFGRztJRDZERixhQURvRCxFQzFEckQsRUFBQTs7QUFGRztFRDZERix5QkFEZ0gsRUMxRGpIOztBQUZHO0VENkRGLHdCQURnSCxFQzFEakg7O0FBRkc7RUQ2REYsOEJBRGdILEVDMURqSDs7QUFGRztFRDZERix3QkFEZ0gsRUMxRGpIOztBQUZHO0VENkRGLHdCQURnSCxFQzFEakg7O0FBRkc7RUQ2REYsOEJBRGdILEVDMURqSDs7QUFGRztFRDZERiw4QkFEZ0gsRUMxRGpIOztBQUZHO0VENkRGLDBCQURnSCxFQzFEakg7O0Fab0lHO0VZdElBO0lENkRGLHlCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLHdCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLDhCQURnSCxFQzFEakg7RUFGRztJRDZERiwwQkFEZ0gsRUMxRGpILEVBQUE7O0Fab0lHO0VZdElBO0lENkRGLHlCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLHdCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLDhCQURnSCxFQzFEakg7RUFGRztJRDZERiwwQkFEZ0gsRUMxRGpILEVBQUE7O0FaeUlHO0VZM0lBO0lENkRGLHlCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLHdCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLDhCQURnSCxFQzFEakg7RUFGRztJRDZERiwwQkFEZ0gsRUMxRGpILEVBQUE7O0FaeUlHO0VZM0lBO0lENkRGLHlCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLHdCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLDhCQURnSCxFQzFEakg7RUFGRztJRDZERiwwQkFEZ0gsRUMxRGpILEVBQUE7O0FaeUlHO0VZM0lBO0lENkRGLHlCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLHdCQURnSCxFQzFEakg7RUFGRztJRDZERix3QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSDtFQUZHO0lENkRGLDhCQURnSCxFQzFEakg7RUFGRztJRDZERiwwQkFEZ0gsRUMxRGpILEVBQUE7O0FKZ01HO0VLdk1FLGdCQUEwQjtFQUExQixlQUEwQixFTHlNM0I7RUt0TUM7SUFFRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUFFN0I7RUFvQk87SUZ1Q1YsZ0JBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixZQURvRCxFRXBDM0M7RWI4R1A7SWFoSFE7TUZ1Q1YsZ0JBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixXQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFdBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsV0FEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixZQURvRCxFRXBDM0MsRUFBQTtFYjhHUDtJYWhIUTtNRnVDVixnQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFdBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsV0FEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixXQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFlBRG9ELEVFcEMzQyxFQUFBO0VibUhQO0lhckhRO01GdUNWLGdCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsV0FEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixXQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFdBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7RWJtSFA7SWFySFE7TUZ1Q1YsZ0JBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixXQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFdBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsV0FEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixZQURvRCxFRXBDM0MsRUFBQTtFYm1IUDtJYXJIUTtNRnVDVixnQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFdBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsV0FEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixXQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBTGdMUDtFS3RLRSxnQkFBMEI7RUFBMUIsZUFBMEIsRUx3SzNCO0VLcktDO0lBRUUsaUJBQTRCO0lBQTVCLGdCQUE0QixFQUUvQjs7QWI2RkQ7RVE0REE7SUt2TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMeU0zQjtJS3RNQztNQUVFLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBYm9JRDtFYXpIUTtJRmdEVixnQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFlBRG9ELEVFN0MzQyxFQUFBOztBYnVIUDtFYWhIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBYjhHUDtFYWhIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBYm1IUDtFYXJIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBYm1IUDtFYXJIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBYm1IUDtFYXJIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBYjhHUDtFUWtFQTtJS3RLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx3SzNCO0lLcktDO01BRUUsaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBYjZGRDtFUTREQTtJS3ZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx5TTNCO0lLdE1DO01BRUUsZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0Fib0lEO0VhekhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0FidUhQO0VhekhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0FidUhQO0VhaEhRO0lGdUNWLGdCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7O0FibUhQO0VhckhRO0lGdUNWLGdCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7O0FibUhQO0VhckhRO0lGdUNWLGdCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7O0FibUhQO0VhckhRO0lGdUNWLGdCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7O0FiOEdQO0VRa0VBO0lLdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTHdLM0I7SUtyS0M7TUFFRSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0Fia0dEO0VRdURBO0lLdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTHlNM0I7SUt0TUM7TUFFRSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QWJ5SUQ7RWE5SFE7SUZnRFYsZ0JBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixZQURvRCxFRTdDM0MsRUFBQTs7QWI0SFA7RWE5SFE7SUZnRFYsZ0JBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixZQURvRCxFRTdDM0MsRUFBQTs7QWI0SFA7RWE5SFE7SUZnRFYsZ0JBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixZQURvRCxFRTdDM0MsRUFBQTs7QWI0SFA7RWFySFE7SUZ1Q1YsZ0JBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixZQURvRCxFRXBDM0MsRUFBQTs7QWJtSFA7RWFySFE7SUZ1Q1YsZ0JBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixZQURvRCxFRXBDM0MsRUFBQTs7QWJtSFA7RWFySFE7SUZ1Q1YsZ0JBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixZQURvRCxFRXBDM0MsRUFBQTs7QWJtSFA7RVE2REE7SUt0S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMd0szQjtJS3JLQztNQUVFLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QWJrR0Q7RVF1REE7SUt2TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMeU0zQjtJS3RNQztNQUVFLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBYnlJRDtFYTlIUTtJRmdEVixnQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFlBRG9ELEVFN0MzQyxFQUFBOztBYjRIUDtFYTlIUTtJRmdEVixnQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFlBRG9ELEVFN0MzQyxFQUFBOztBYjRIUDtFYTlIUTtJRmdEVixnQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFlBRG9ELEVFN0MzQyxFQUFBOztBYjRIUDtFYTlIUTtJRmdEVixnQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFlBRG9ELEVFN0MzQyxFQUFBOztBYjRIUDtFYXJIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBYm1IUDtFYXJIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBYm1IUDtFUTZEQTtJS3RLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx3SzNCO0lLcktDO01BRUUsaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBYmtHRDtFUXVEQTtJS3ZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx5TTNCO0lLdE1DO01BRUUsZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0FieUlEO0VhOUhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0FiNEhQO0VhOUhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0FiNEhQO0VhOUhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0FiNEhQO0VhOUhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0FiNEhQO0VhOUhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0FiNEhQO0VhckhRO0lGdUNWLGdCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7O0FibUhQO0VRNkRBO0lLdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTHdLM0I7SUtyS0M7TUFFRSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FMNktEO0VNMU5GLGdCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsNkJBQTZCLEVOZ08xQjs7QUFORDtFTTFORixzQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLG1DQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixvQ0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLGlCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsOEJBQTZCLEVOZ08xQjs7QUFORDtFTTFORix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLG9DQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixvQ0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLGlCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsOEJBQTZCLEVOZ08xQjs7QUFORDtFTTFORix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLG9DQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixvQ0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLGlCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsOEJBQTZCLEVOZ08xQjs7QUFORDtFTTFORix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLG9DQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixvQ0FBNkIsRU5nTzFCOztBUnRGRDtFUWdGQTtJTTFORixnQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsNkJBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHNCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUI7RUFORDtJTTFORixpQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsOEJBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUI7RUFORDtJTTFORixpQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsOEJBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUI7RUFORDtJTTFORixpQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsOEJBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUIsRUFBQTs7QVJ0RkQ7RVFnRkE7SU0xTkYsZ0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLDZCQUE2QixFTmdPMUI7RUFORDtJTTFORixzQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsbUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLDhCQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLDhCQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLDhCQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCLEVBQUE7O0FSakZEO0VRMkVBO0lNMU5GLGdCQUE2QixFTjROMUI7RUFFRDtJTTlORiw2QkFBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORiw4QkFBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORiw4QkFBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORiw4QkFBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQixFQUFBOztBUmpGRDtFUTJFQTtJTTFORixnQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsNkJBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHNCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUI7RUFORDtJTTFORixpQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsOEJBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUI7RUFORDtJTTFORixpQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsOEJBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG9DQUE2QixFTmdPMUI7RUFORDtJTTFORixpQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsOEJBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FB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O01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLDhCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsMEJBRGdILEVINEIvRyxFQUFBO0VSbURDO0lRakVGO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLDhCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsMEJBRGdILEVINEIvRyxFQUFBO0VSbURDO0lRakVGO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLDhCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYs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RiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsMEJBRGdILEVINEIvRyxFQUFBO0VSOENDO0lRNURGO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLDhCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsMEJBRGdILEVINEIvRyxFQUFBO0VSbURDO0lRakVGO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLDhCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsMEJBRGdILEVINEIvRyxFQUFBO0VSbURDO0lRakVGO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLDhCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsMEJBRGdILEVINEIvRyxFQUFBO0VSbURDO0lRakVGO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLDhCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYseUJBRGdILEVINEIvRztJQUZDO01HekJGLCtCQURnSCxFSDRCL0c7SUFGQztNR3pCRiwrQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsMEJBRGdILEVINEIvRyxFQUFBOztBQXlTRDtFTzNYSSwyQkFBbUMsRVA2WHRDO0VSN1BDO0lRMlBGO01PM1hJLDJCQUFtQyxFUDZYdEMsRUFBQTtFUjdQQztJUTJQRjtNTzNYSSwyQkFBbUMsRVA2WHRDLEVBQUE7RVJ4UEM7SVFzUEY7TU8zWEksMkJBQW1DLEVQNlh0QyxFQUFBO0VSeFBDO0lRc1BGO01PM1hJLDJCQUFtQyxFUDZYdEMsRUFBQTtFUnhQQztJUXNQRjtNTzNYSSwyQkFBbUMsRVA2WHRDLEVBQUE7O0FSN1BDO0VRK1BBO0lPL1hFLDJCQUFtQyxFUGlZcEMsRUFBQTs7QVJqUUQ7RVErUEE7SU8vWEUsMkJBQW1DLEVQaVlwQyxFQUFBOztBUjVQRDtFUTBQQTtJTy9YRSwyQkFBbUMsRVBpWXBDLEVBQUE7O0FSNVBEO0VRMFBBO0lPL1hFLDJCQUFtQyxFUGlZcEMsRUFBQTs7QVI1UEQ7RVEwUEE7SU8vWEUsMkJBQW1DLEVQaVlwQyxFQUFBOztBUXJLTDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEO0VBQ0Usb0JWL0cwQjtFVWlIMUIsbUJBQWtCO0VBQ2xCLHFCVnZOdUI7RVV3TnZCLG1DVmxIeUMsRVVtSDFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsa0JWOU1xQjtFVStNckIscUJBQW9CLEVBQ3JCOztBQUdEO0VBQ0UsZVZ6SWlCO0VVMElqQixxQkFBb0IsRUFDckI7O0FBR0Q7Ozs7OztFQVNFLGVWaExrQjtFVTZLbEIsMktWek9rSztFVTBPbEssbUJWaExzQjtFVWlMdEIsa0JWak9xQjtFVW1PckIsbUNWekpzQyxFVStKdkM7RUFoQkQ7Ozs7OztJQWNJLGVWclBlO0lVb1BmLGVBQWMsRUFFZjs7QUFRRztFQXdCSSxjQUFhO0VBT2Isc0JWM05pQjtFVWdNakIsbUJDdlA2QztFRG1RN0MscUJWN01lLEVVOE5sQjs7QUFqQ0Q7RUF3QkksY0FBYTtFQU9iLHNCVjNOaUI7RVVnTWpCLG1CQ3ZQNkM7RURtUTdDLHFCVjdNZSxFVThObEI7O0FBakNEO0VBd0JJLGNBQWE7RUFPYixzQlYzTmlCO0VVZ01qQixtQkN2UDZDO0VEbVE3QyxxQlY3TWUsRVU4TmxCOztBQWpDRDtFQXdCSSxjQUFhO0VBT2Isc0JWM05pQjtFVWdNakIsb0JDdlA2QztFRG1RN0MscUJWN01lLEVVOE5sQjs7QUFqQ0Q7RUF3QkksY0FBYTtFQU9iLHNCVjNOaUI7RVVnTWpCLGdCQ3ZQNkM7RURtUTdDLHFCVjdNZSxFVThObEI7O0FBakNEO0VBd0JJLGNBQWE7RUFPYixzQlYzTmlCO0VVZ01qQixnQkN2UDZDO0VEbVE3QyxxQlY3TWUsRVU4TmxCOztBaEJ6TUg7RWdCd0tFO0lBSUksb0JDdlA2QyxFRG9SaEQ7RUFqQ0Q7SUFJSSxtQkN2UDZDLEVEb1JoRDtFQWpDRDtJQUlJLG9CQ3ZQNkMsRURvUmhEO0VBakNEO0lBSUksbUJDdlA2QyxFRG9SaEQsRUFBQTs7QWhCcE1IO0VnQm1LRTtJQUlJLHFCQ3ZQNkMsRURvUmhEO0VBakNEO0lBSUksa0JDdlA2QyxFRG9SaEQ7RUFqQ0Q7SUFJSSxrQkN2UDZDLEVEb1JoRCxFQUFBOztBQU1QO0VBRUUsZVY5U2M7RVU2U2QscUJBQW9CO0VBRXBCLHNCVmxNeUI7RVVvTXpCLGdCQUFlLEVBYWhCO0VBbEJEO0lBU0ksZVY1U1MsRVVnVFY7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FBSUg7RUFHRSxrQlZ2VWlCO0VVd1VqQixVQUFTO0VBQ1QscUJWck55QjtFVWlOekIsWUFBVztFQU1YLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDVm5VaUI7RVVvVWpCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JWL08wQjtFVWlQMUIscUJWdFZ1QjtFVXFWdkIsNkJWOU55QixFVWdPMUI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQlZ4T3NCO0VVeU90QixzQlYzT2tCLEVVNE9uQjs7QUFHRDtFQUNFLHFCVjlPc0IsRVUrT3ZCOztBQUdEO0VBR0ksaUJBQWdCO0VBRGhCLHFCVm5QMkIsRVVxUDVCOztBQUlIO0VBQ0Usb0JWelB5QixFVStQMUI7RUFQRDtJQUlJLHNCVjFQOEI7SVUyUDlCLGtCVmhXbUIsRVVpV3BCOztBQUlIO0VBQ0UsaUJWeFIwQjtFVXlSMUIsdUNDMVdxRDtFRDJXckQsK0JWdFhpQixFVTRYbEI7RUFURDtJQU9JLGVWelhhO0lVd1hiLHFCVmxZcUIsRVVvWXRCOztBQUlIO0VBQ0UsZUFBYztFQUVkLGVWalllO0VVZ1lmLHFCQ3RYcUQsRUQ0WHREO0VBUkQ7SUFNSSxjVjVRZ0IsRUFBYTs7QVVpUmpDO0VBQ0Usa0NWellXO0VVMllYLHNCQUFx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QjBWbUM7RWdCMVZuQyxpQ2hCMFZtQyxFZ0JwVXBDO0V6QjBoSUQ7O0l5QjFpSUUsMEJoQmxDZTtJZ0JpQ2YsY0FBYTtJQUViLDBCaEJqQ1c7SWdCa0NYLHNCaEJnVmtCO1lnQmhWbEIsY2hCZ1ZrQjtJZ0I3VWhCLHlDaEIrVWlDO0lnQi9VakMsaUNoQitVaUMsRWdCN1VwQzs7QUFZRDtFQUNFLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZWhCbEVlLEVnQm1FaEI7O0FBTEg7O0VBSUksZWhCbEVlLEVnQm1FaEI7O0FBTEg7O0VBSUksZWhCbEVlLEVnQm1FaEI7O0FBTEg7O0VBSUksZWhCbEVlLEVnQm1FaEI7O0FBTEg7OztFQVVJLDBCaEJ6RWM7RWdCMEVkLG9CaEI2UzZCLEVnQjVTOUI7O0F6QjBoSUw7O0V5QnBoSUkseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsaUJoQmxFYSxFZ0JtRWQ7O0FBR0Q7RUFDRSwrQkFBc0I7VUFBdEIsdUJBQXNCLEVBQ3ZCOztBekJxaElIOzs7RTBCN3FJSSxpQk40RXFELEVNM0V0RDs7QTFCaXJJSDs7RTBCNXFJSSxzQkFBcUI7RUFJckIsbUJOa0VxRDtFTWpFckQsaUJBQWdCO0VBRmhCLG9CQUFrRDtFQUZsRCx5QkFBd0IsRUFTekI7RTFCeXFJRDs7STBCM3FJSSxnQkFBZSxFQUNoQjs7QUFJSDs7RUFFRSxxQkFBbUQsRUFDcEQ7O0ExQjJxSUg7RTBCdnFJSSxZQUFXLEVBQ1o7O0FDR0Q7RUFqQkEsZUFBYztFQUNkLFVBQVM7RUFLVCxlbEJnRGE7RWtCbkRiLG9CUDREdUQ7RU8zRHZELG9CbEI0RDJCO0VrQjNEM0IsaUJsQm1aMEIsRWtCall6QjtFQU5EO0lBTEEsaUJQbUR1RDtJT2xEdkQscUJBQThELEVBUzNEOztBQzFCSDtFQUdFLG9CQUZ1QztFQUt2QyxlbkJvRFc7RW1CdERYLHFCUitEcUQ7RVE5RHJELG1CbkIrWXdCLEVtQjdZekI7O0FDRkQ7RUFDRSxxQkFBaUM7RUFBakMsc0JBQWlDO0VBQWpDLHFCQUFpQztFQUFqQyxjQUFpQztFQUsvQiwyQkFBb0I7RUFBcEIsNkJBQW9CO01BQXBCLHdCQUFvQjtVQUFwQixxQkFBb0I7RUFKdEIsWUFBVztFQUNYLG9CVDJEcUQsRVM1Q3REO0VBbEJEO0lBVUksbUNwQmthZ0IsRW9CamFqQjtFQVhIO0lBZU0sbUNBQWlILEVBQ2xIOztBQUlMOzs7O0VBQ0UsVUFBUztFQUNULG9CQUFtQixFQU1wQjs7QUFFRDtFQVdJLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBWHJCLGdCcEJtWHVCO0VvQmxYdkIsMEJwQmtCaUI7RW9CakJqQixvQnBCZ0JnQjtFb0JkaEIsZXBCaUJXO0VvQmhCWCxtQkFBa0I7RUFDbEIsb0JBQW1CLEVBcUJwQjtFQTdCRDtJQXNCTSxnQkFBaUMsRUFDbEM7RUF2Qkw7SUEwQk0sZUFBZ0MsRUFDakM7O0FBSUw7RUFLSSxvQkFBYTtFQUFiLHNCQUFhO01BQWIsa0JBQWE7VUFBYixjQUFhO0VBQ2IsYUFBWTtFQUpkLGlCQUFnQixFQU1qQjs7QUFFRDtFQU9JLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBTmhCLGVBQWM7RUFDZCxrQkFBaUI7RUFDakIsbUJBQWtCLEVBNEJuQjtFQWhDRDs7OztJQXVCTSw0QkFBbUI7UUFBbkIsNkJBQW1CO1lBQW5CLG9CQUFtQjtJQURuQixhQUFZO0lBTWQsZUFBYztJQUNkLGtCQUFpQjtJQUNqQixnQlR2Q21ELEVTd0NwRDs7QUMxRkg7RUFDRSxVQUFTO0VBQ1QsV0FBVTtFQUNWLFVBQVMsRUFDVjs7QUFFRDtFQUNFLGdCQUFlO0VBQ2Ysc0JBQWtDLEVBQ25DOztBQUVEO0VBeEJBLG1CVm9FVztFVW5FWCxpQlY4RHVEO0VVN0R2RCwwQnJCa0RtQixFcUIxQmxCO0VBdEJEO0lBRUUsVUFBUztJQUNULHdCVndEcUQ7SVV2RHJELHFCVnVEcUQsRVV0RHREOztBQ2dERDtFQXZEQSx5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUpoQixtQkFGc0o7RUFHdEosaUJYZ0V1RDtFVy9EdkQscUJ0QnVheUI7RXNCblp2QixzQkFBdUQ7RUFqQnpELHdDdEJpRG1CO0VzQmhEbkIsdUJ0QnVacUI7RXNCdFpyQiwwQnRCa0RhO0VDc0ViLHNPQUF5TjtFcUI5R3ZOLCtCQUE4QjtFQUM5Qix3Q0FBMEQ7RUFDMUQsNkJBQTRCO0VBQzVCLHlCQUF3QjtFQVAxQixldEIyQ2E7RXNCL0NiLCtKdEJpRG9LO0VzQmhEcEssZ0JYdUR1RDtFV3REdkQsb0J0QnVEMkI7RXNCdEQzQixxQnRCaUN5QjtFc0JuQnZCLHlDdEJtWm1DO0VzQm5abkMsaUN0Qm1abUMsRXNCaFhwQztFckJvRUQ7SXFCdEVBO01yQnlFSSx3V0FBdVcsRXFCdkUxVyxFQUFBO0VBL0JEO0lBRUUsMEJ0QnVCZTtJc0J4QmYsY0FBYTtJQUViLDBCdEJ3Qlc7SXNCdkJYLHNCdEJ5WWtCO1lzQnpZbEIsY3RCeVlrQjtJc0J0WWhCLHlDdEJ3WWlDO0lzQnhZakMsaUN0QndZaUMsRXNCdFlwQztFQUdEO0lBQ0UsMEJ0QlVnQjtJc0JUaEIsb0J0QmdZK0IsRXNCL1hoQztFQUdEO0lBQ0UsY0FBYSxFQUNkO0VBRUQ7SUFDRSxhQUFZO0lBQ1osdUJBQXNCLEVBQ3ZCOztBQ2xDRDtFQUNFLHNCdkI2Qlk7RXVCNUJaLDBCQUErRCxFQUloRTtFQUhDO0lBQ0UsZXZCMEJVLEV1QnpCWDtFQUZEO0lBQ0UsZXZCMEJVLEV1QnpCWDtFQUZEO0lBQ0UsZXZCMEJVLEV1QnpCWDtFQUZEO0lBQ0UsZXZCMEJVLEV1QnpCWDs7QUF5QkQ7RUFDRSxldkJEVSxFdUJFWDs7QUFJSDtFQXpCQSxjQUFhO0VBQ2Isb0JBQWdDO0VBQ2hDLG9CWitCdUQ7RVkzQnZELGV2QmFjO0V1QmZkLG1CWjZC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RiwwQkF4Q2dCO0VBd0NoQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCLEVENEViOztBQUVEO0VDdEJGLDJCQXhEZ0I7TUF3RGhCLDRCQXhEZ0I7VUF3RGhCLG1CQXhEZ0IsRURnRmI7O0FBTkQ7RUNsQ0YsMkJBdkNrQjtFQXVDbEIsNkJBdkNrQjtNQXVDbEIsd0JBdkNrQjtVQXVDbEIscUJBdkNrQixFRDJFZjs7QUFFRDtFQ3RCRiw0QkF2RGtCO01BdURsQiw2QkF2RGtCO1VBdURsQixvQkF2RGtCLEVEK0VmOztBQUlIO0VBRUUsOEJBQXFCO01BQXJCLDJCQUFxQjtVQUFyQixzQkFBcUI7RUM5Q3ZCLDBCQXhDZ0I7RUF3Q2hCLDRCQXhDZ0I7TUF3Q2hCLHVCQXhDZ0I7VUF3Q2hCLG9CQXhDZ0I7RUF1Q2hCLHlCQW5Ea0I7RUFtRGxCLGdDQW5Ea0I7TUFtRGxCLHNCQW5Ea0I7VUFtRGxCLHdCQW5Ea0IsRURtR2pCOztBQUtHO0VDOUJKLDZCRDZCZ0I7RUM3QmhCLGlCRDZCZ0I7TUM3QmhCLGtCRDZCZ0I7VUM3QmhCLFNENkJnQixFQUdYOztBQUZEO0VDOUJKLDZCRDZCZ0I7RUM3QmhCLGlCRDZCZ0I7TUM3QmhCLGtCRDZCZ0I7VUM3QmhCLFNENkJnQixFQUdYOztBQUZEO0VDOUJKLDZCRDZCZ0I7RUM3QmhCLGlCRDZCZ0I7TUM3QmhCLGtCRDZCZ0I7VUM3QmhCLFNENkJnQixFQUdYOztBQUZEO0VDOUJKLDZCRDZCZ0I7RUM3QmhCLGlCRDZCZ0I7TUM3QmhCLGtCRDZCZ0I7VUM3QmhCLFNENkJnQixFQUdYOztBQUZEO0VDOUJKLDZCRDZCZ0I7RUM3QmhCLGlCRDZCZ0I7TUM3QmhCLGtCRDZCZ0I7VUM3QmhCLFNENkJnQixFQUdYOztBQUZEO0VDOUJKLDZCRDZCZ0I7RUM3QmhCLGlCRDZCZ0I7TUM3QmhCLGtCRDZCZ0I7VUM3QmhCLFNENkJnQixFQUdYOztBdENxREQ7RXNDdkRBO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWCxFQUFBOztBdENxREQ7RXNDdkRBO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWCxFQUFBOztBdEMwREQ7RXNDNURBO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWCxFQUFBOztBdEMwREQ7RXNDNURBO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWCxFQUFBOztBdEMwREQ7RXNDNURBO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdC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QkFBa0I7SUFDbEIsU0FBUTtJQUVSLFFBQU87SUFDUCxhQUFZO0lBQ1osY0FBYTtJQUhiLG9DQUEyQjtZQUEzQiw0QkFBMkI7SUFJM0IsYUFBWTtJQUNaLFdBQVUsRUFFWDtFQTdCTDtJQWdDTSxtQkFBa0I7SUFHbEIsb0JBQW1CO0lBRG5CLG1CQUFrQjtJQURsQixXQUFVLEVBR1g7RUFwQ0w7SUF1Q00sa0JBQWlCLEVBQ2xCO0VBRUQ7SUFFSSxldkdvQ08sRXVHbkNSOztBQzdDUDtFQUVJLFlBQVcsRUFDWjs7QUNISDtFQUNFO0lBR0ksOENBQTZDO0lBQzdDLDBCQUF3QjtJQUN4Qiw2QkFBNEI7SUFDNUIsb0NBQTJCO1lBQTNCLDRCQUEyQixFQUM1QjtFQUdIO0lBR00sY0FBYSxFQUNkO0VBSkw7O0lBV00sWUFBVyxFQUNaO0VBWkw7SUFnQkksMkJBQTBCLEVBQzNCO0VBR0g7SUFHTSw4QkFBNkIsRUFDOUI7RUFJTDs7SUFFRSwwQnpHc0NXO0l5R3JDWCx5QkFBd0IsRUFDekI7RUFFRDtJQUNFLDRCQUEyQixFQUM1QjtFQUVEOztJQUVFLHlCQUF3QixFQUN6QjtFQUVEO0lBQ0UsMkJBQTBCLEVBQzNCO0VBRUQ7SUFDRSx5QkFBdUIsRUFDeEI7RUFFRDs7O0lBR0UsV0FBVTtJQUNWLFVBQVMsRUFDVjtFQUVEOztJQUVFLHdCQUF1QixFQUN4QixFQUFBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3ZlcnBhc3M6NDAwLDQwMGksNjAwLDkwMFwiKTtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuNC1yYzFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW0md2lkZT0xMjBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJPdmVycGFzc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTI5NDc7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmdyaWQteCA+IC53aWRlLXNocmluaywgLmdyaWQteCA+IC53aWRlLWZ1bGwsIC5ncmlkLXggPiAud2lkZS0xLCAuZ3JpZC14ID4gLndpZGUtMiwgLmdyaWQteCA+IC53aWRlLTMsIC5ncmlkLXggPiAud2lkZS00LCAuZ3JpZC14ID4gLndpZGUtNSwgLmdyaWQteCA+IC53aWRlLTYsIC5ncmlkLXggPiAud2lkZS03LCAuZ3JpZC14ID4gLndpZGUtOCwgLmdyaWQteCA+IC53aWRlLTksIC5ncmlkLXggPiAud2lkZS0xMCwgLmdyaWQteCA+IC53aWRlLTExLCAuZ3JpZC14ID4gLndpZGUtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmdyaWQteCA+IC53aWRlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC53aWRlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC53aWRlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTFyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTFyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53aWRlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAud2lkZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC53aWRlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDJyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDJyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAycmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC53aWRlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDFyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxcmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDFyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxcmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDFyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxcmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDFyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxcmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDFyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxcmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDFyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxcmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxcmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDFyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxcmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDFyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxcmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDFyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDFyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxcmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDFyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDFyZW0pOyB9XG4gIC53aWRlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxcmVtKTsgfVxuICAud2lkZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxcmVtKTsgfVxuICAud2lkZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtKTsgfVxuICAud2lkZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxcmVtKTsgfVxuICAud2lkZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxcmVtKTsgfVxuICAud2lkZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxcmVtKTsgfVxuICAud2lkZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxcmVtKTsgfVxuICAud2lkZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxcmVtKTsgfVxuICAud2lkZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxcmVtKTsgfVxuICAud2lkZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDFyZW0pOyB9XG4gIC53aWRlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmdyaWQteSA+IC53aWRlLXNocmluaywgLmdyaWQteSA+IC53aWRlLWZ1bGwsIC5ncmlkLXkgPiAud2lkZS0xLCAuZ3JpZC15ID4gLndpZGUtMiwgLmdyaWQteSA+IC53aWRlLTMsIC5ncmlkLXkgPiAud2lkZS00LCAuZ3JpZC15ID4gLndpZGUtNSwgLmdyaWQteSA+IC53aWRlLTYsIC5ncmlkLXkgPiAud2lkZS03LCAuZ3JpZC15ID4gLndpZGUtOCwgLmdyaWQteSA+IC53aWRlLTksIC5ncmlkLXkgPiAud2lkZS0xMCwgLmdyaWQteSA+IC53aWRlLTExLCAuZ3JpZC15ID4gLndpZGUtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5ncmlkLXkgPiAud2lkZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTFyZW07IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTFyZW07IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC53aWRlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53aWRlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAud2lkZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAud2lkZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC53aWRlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuZ3JpZC15LndpZGUtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS53aWRlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG4gIG1hcmdpbi1ib3R0b206IC0xcmVtOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDJyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDJyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDJyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LndpZGUtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjUyOTQ3O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJPdmVycGFzc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICM0YTRhNGE7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjA4NDk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDg0OTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIwODQ5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIwODQ5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjA4NDk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDg0OTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDQuMDYyNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICNlZDFjMmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0YTRhNGE7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjUyOTQ3OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0YTRhNGE7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS41Mjk0NztcbiAgICBjb2xvcjogIzJhMmEyYTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzJhMmEyYTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzRhNGE0YTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzJhMmEyYTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNTI5NDc7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAud2lkZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAud2lkZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC53aWRlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJhMmEyYTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxuI2dkcHItc3VibWl0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkMWMyZTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXVxuICAjZ2Rwci1zdWJtaXQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlcixcbiAgI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uOmZvY3VzLFxuICAjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55LFxuICAudGlueSNnZHByLXN1Ym1pdCB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCxcbiAgLnNtYWxsI2dkcHItc3VibWl0IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSxcbiAgLmxhcmdlI2dkcHItc3VibWl0IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCxcbiAgLmV4cGFuZGVkI2dkcHItc3VibWl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LFxuICAucHJpbWFyeSNnZHByLXN1Ym1pdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkMWMyZTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlcixcbiAgICAucHJpbWFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzLFxuICAgIC5wcmltYXJ5I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNDEwMWY7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSxcbiAgLnNlY29uZGFyeSNnZHByLXN1Ym1pdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRiM2YzNDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLFxuICAgIC5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNjMzIyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyxcbiAgLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsXG4gICAgLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyxcbiAgICAuc3VjY2VzcyNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLFxuICAud2FybmluZyNnZHByLXN1Ym1pdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlcixcbiAgICAud2FybmluZyNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzLFxuICAgIC53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLmFsZXJ0LFxuICAuYWxlcnQjZ2Rwci1zdWJtaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLFxuICAgIC5hbGVydCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyxcbiAgICAuYWxlcnQjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsXG4gIC5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbltkaXNhYmxlZF0sXG4gIFtkaXNhYmxlZF0jZ2Rwci1zdWJtaXQge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQsXG4gICAgLmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxuICAgIC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cyxcbiAgICAuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLFxuICAgIFtkaXNhYmxlZF0jZ2Rwci1zdWJtaXQsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLFxuICAgIFtkaXNhYmxlZF0jZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLFxuICAgIFtkaXNhYmxlZF0jZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkMWMyZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LFxuICAgIC5kaXNhYmxlZC5wcmltYXJ5I2dkcHItc3VibWl0LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LFxuICAgIFtkaXNhYmxlZF0ucHJpbWFyeSNnZHByLXN1Ym1pdCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LFxuICAgICAgLmRpc2FibGVkLnByaW1hcnkjZ2Rwci1zdWJtaXQsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlcixcbiAgICAgIC5kaXNhYmxlZC5wcmltYXJ5I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsXG4gICAgICAuZGlzYWJsZWQucHJpbWFyeSNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSxcbiAgICAgIFtkaXNhYmxlZF0ucHJpbWFyeSNnZHByLXN1Ym1pdCwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlcixcbiAgICAgIFtkaXNhYmxlZF0ucHJpbWFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyxcbiAgICAgIFtkaXNhYmxlZF0ucHJpbWFyeSNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZDFjMmU7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksXG4gICAgLmRpc2FibGVkLnNlY29uZGFyeSNnZHByLXN1Ym1pdCwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LFxuICAgIFtkaXNhYmxlZF0uc2Vjb25kYXJ5I2dkcHItc3VibWl0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSxcbiAgICAgIC5kaXNhYmxlZC5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLFxuICAgICAgLmRpc2FibGVkLnNlY29uZGFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsXG4gICAgICAuZGlzYWJsZWQuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksXG4gICAgICBbZGlzYWJsZWRdLnNlY29uZGFyeSNnZHByLXN1Ym1pdCwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLFxuICAgICAgW2Rpc2FibGVkXS5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgIFtkaXNhYmxlZF0uc2Vjb25kYXJ5I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRiM2YzNDtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsXG4gICAgLmRpc2FibGVkLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsXG4gICAgW2Rpc2FibGVkXS5zdWNjZXNzI2dkcHItc3VibWl0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsXG4gICAgICAuZGlzYWJsZWQuc3VjY2VzcyNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLFxuICAgICAgLmRpc2FibGVkLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cyxcbiAgICAgIC5kaXNhYmxlZC5zdWNjZXNzI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLFxuICAgICAgW2Rpc2FibGVkXS5zdWNjZXNzI2dkcHItc3VibWl0LCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLFxuICAgICAgW2Rpc2FibGVkXS5zdWNjZXNzI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLFxuICAgICAgW2Rpc2FibGVkXS5zdWNjZXNzI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsXG4gICAgLmRpc2FibGVkLndhcm5pbmcjZ2Rwci1zdWJtaXQsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsXG4gICAgW2Rpc2FibGVkXS53YXJuaW5nI2dkcHItc3VibWl0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsXG4gICAgICAuZGlzYWJsZWQud2FybmluZyNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLFxuICAgICAgLmRpc2FibGVkLndhcm5pbmcjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cyxcbiAgICAgIC5kaXNhYmxlZC53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLFxuICAgICAgW2Rpc2FibGVkXS53YXJuaW5nI2dkcHItc3VibWl0LCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLFxuICAgICAgW2Rpc2FibGVkXS53YXJuaW5nI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLFxuICAgICAgW2Rpc2FibGVkXS53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LFxuICAgIC5kaXNhYmxlZC5hbGVydCNnZHByLXN1Ym1pdCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsXG4gICAgW2Rpc2FibGVkXS5hbGVydCNnZHByLXN1Ym1pdCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCxcbiAgICAgIC5kaXNhYmxlZC5hbGVydCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlcixcbiAgICAgIC5kaXNhYmxlZC5hbGVydCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cyxcbiAgICAgIC5kaXNhYmxlZC5hbGVydCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsXG4gICAgICBbZGlzYWJsZWRdLmFsZXJ0I2dkcHItc3VibWl0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlcixcbiAgICAgIFtkaXNhYmxlZF0uYWxlcnQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLFxuICAgICAgW2Rpc2FibGVkXS5hbGVydCNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93LFxuICAuaG9sbG93I2dkcHItc3VibWl0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWQxYzJlO1xuICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csXG4gICAgLmhvbGxvdyNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsXG4gICAgLmhvbGxvdyNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsXG4gICAgLmhvbGxvdyNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLFxuICAgIC5ob2xsb3cuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLFxuICAgIC5ob2xsb3cuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLFxuICAgIC5ob2xsb3cuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSxcbiAgICAuaG9sbG93W2Rpc2FibGVkXSNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLFxuICAgIC5ob2xsb3dbZGlzYWJsZWRdI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsXG4gICAgLmhvbGxvd1tkaXNhYmxlZF0jZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlcixcbiAgICAuaG9sbG93I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyxcbiAgICAuaG9sbG93I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzdiMGExMztcbiAgICAgIGNvbG9yOiAjN2IwYTEzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCxcbiAgICAgIC5ob2xsb3cjZ2Rwci1zdWJtaXQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgIC5ob2xsb3cjZ2Rwci1zdWJtaXQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCxcbiAgICAgIC5ob2xsb3cjZ2Rwci1zdWJtaXQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgIC5ob2xsb3cjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VkMWMyZTtcbiAgICAgICAgY29sb3I6ICNlZDFjMmU7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LFxuICAgIC5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWQxYzJlO1xuICAgICAgY29sb3I6ICNlZDFjMmU7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsXG4gICAgICAuaG9sbG93LnByaW1hcnkjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMsXG4gICAgICAuaG9sbG93LnByaW1hcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3YjBhMTM7XG4gICAgICAgIGNvbG9yOiAjN2IwYTEzOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZDFjMmU7XG4gICAgICAgICAgY29sb3I6ICNlZDFjMmU7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksXG4gICAgLmhvbGxvdy5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRiM2YzNDtcbiAgICAgIGNvbG9yOiAjNGIzZjM0OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsXG4gICAgICAuaG9sbG93LnNlY29uZGFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLFxuICAgICAgLmhvbGxvdy5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyNjIwMWE7XG4gICAgICAgIGNvbG9yOiAjMjYyMDFhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmhvbGxvdy5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5ob2xsb3cuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuaG9sbG93LnNlY29uZGFyeSNnZHByLXN1Ym1pdDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmhvbGxvdy5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGIzZjM0O1xuICAgICAgICAgIGNvbG9yOiAjNGIzZjM0OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyxcbiAgICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLFxuICAgICAgLmhvbGxvdy5zdWNjZXNzI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLFxuICAgICAgLmhvbGxvdy5zdWNjZXNzI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyxcbiAgICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLFxuICAgICAgLmhvbGxvdy53YXJuaW5nI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLFxuICAgICAgLmhvbGxvdy53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQsXG4gICAgLmhvbGxvdy5hbGVydCNnZHByLXN1Ym1pdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLFxuICAgICAgLmhvbGxvdy5hbGVydCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMsXG4gICAgICAuaG9sbG93LmFsZXJ0I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmhvbGxvdy5hbGVydCNnZHByLXN1Ym1pdDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuaG9sbG93LmFsZXJ0I2dkcHItc3VibWl0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5ob2xsb3cuYWxlcnQjZ2Rwci1zdWJtaXQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmhvbGxvdy5hbGVydCNnZHByLXN1Ym1pdDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhcixcbiAgLmNsZWFyI2dkcHItc3VibWl0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWQxYzJlO1xuICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgLmJ1dHRvbi5jbGVhcixcbiAgICAuY2xlYXIjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXI6aG92ZXIsXG4gICAgLmNsZWFyI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLFxuICAgIC5jbGVhciNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsXG4gICAgLmNsZWFyLmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLFxuICAgIC5jbGVhci5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cyxcbiAgICAuY2xlYXIuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLFxuICAgIC5jbGVhcltkaXNhYmxlZF0jZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLFxuICAgIC5jbGVhcltkaXNhYmxlZF0jZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLFxuICAgIC5jbGVhcltkaXNhYmxlZF0jZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLFxuICAgIC5jbGVhciNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyxcbiAgICAuY2xlYXIjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjN2IwYTEzO1xuICAgICAgY29sb3I6ICM3YjBhMTM7IH1cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAuY2xlYXIjZ2Rwci1zdWJtaXQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgLmNsZWFyI2dkcHItc3VibWl0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCxcbiAgICAgIC5jbGVhciNnZHByLXN1Ym1pdDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAuY2xlYXIjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VkMWMyZTtcbiAgICAgICAgY29sb3I6ICNlZDFjMmU7IH1cbiAgICAuYnV0dG9uLmNsZWFyLFxuICAgIC5jbGVhciNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCxcbiAgICAuY2xlYXIuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLFxuICAgIC5jbGVhcltkaXNhYmxlZF0jZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXI6aG92ZXIsXG4gICAgLmNsZWFyI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLFxuICAgIC5jbGVhciNnZHByLXN1Ym1pdDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sXG4gICAgLmNsZWFyI2dkcHItc3VibWl0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cyxcbiAgICAuY2xlYXIjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsXG4gICAgLmNsZWFyI2dkcHItc3VibWl0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSxcbiAgICAuY2xlYXIjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksXG4gICAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VkMWMyZTtcbiAgICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsXG4gICAgICAuY2xlYXIucHJpbWFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLFxuICAgICAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3YjBhMTM7XG4gICAgICAgIGNvbG9yOiAjN2IwYTEzOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuY2xlYXIucHJpbWFyeSNnZHByLXN1Ym1pdDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWQxYzJlO1xuICAgICAgICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksXG4gICAgICAuY2xlYXIucHJpbWFyeSNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLFxuICAgICAgLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgICAuY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0jZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcixcbiAgICAgIC5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAuY2xlYXIucHJpbWFyeSNnZHByLXN1Ym1pdDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgIC5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLFxuICAgICAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCxcbiAgICAgIC5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LFxuICAgIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRiM2YzNDtcbiAgICAgIGNvbG9yOiAjNGIzZjM0OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcixcbiAgICAgIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLFxuICAgICAgLmNsZWFyLnNlY29uZGFyeSNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzI2MjAxYTtcbiAgICAgICAgY29sb3I6ICMyNjIwMWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgICAgLmNsZWFyLnNlY29uZGFyeSNnZHByLXN1Ym1pdDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuY2xlYXIuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGIzZjM0O1xuICAgICAgICAgIGNvbG9yOiAjNGIzZjM0OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSxcbiAgICAgIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLFxuICAgICAgLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgICAgLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0jZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLFxuICAgICAgLmNsZWFyLnNlY29uZGFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAuY2xlYXIuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAuY2xlYXIuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsXG4gICAgICAuY2xlYXIuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCxcbiAgICAgIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcyxcbiAgICAuY2xlYXIuc3VjY2VzcyNnZHByLXN1Ym1pdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcixcbiAgICAgIC5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsXG4gICAgICAuY2xlYXIuc3VjY2VzcyNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuY2xlYXIuc3VjY2VzcyNnZHByLXN1Ym1pdDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgICAgLmNsZWFyLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuY2xlYXIuc3VjY2VzcyNnZHByLXN1Ym1pdDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcyxcbiAgICAgIC5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsXG4gICAgICAuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSxcbiAgICAgIC5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLFxuICAgICAgLmNsZWFyLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCxcbiAgICAgIC5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgLmNsZWFyLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsXG4gICAgICAuY2xlYXIuc3VjY2VzcyNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLFxuICAgICAgLmNsZWFyLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAuY2xlYXIuc3VjY2VzcyNnZHByLXN1Ym1pdDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLFxuICAgIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLFxuICAgICAgLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyxcbiAgICAgIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuY2xlYXIud2FybmluZyNnZHByLXN1Ym1pdDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLFxuICAgICAgLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCxcbiAgICAgIC5jbGVhci53YXJuaW5nLmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLFxuICAgICAgLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsXG4gICAgICAuY2xlYXIud2FybmluZyNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLFxuICAgICAgLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAuY2xlYXIud2FybmluZyNnZHByLXN1Ym1pdDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyxcbiAgICAgIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAuY2xlYXIud2FybmluZyNnZHByLXN1Ym1pdDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LFxuICAgIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsXG4gICAgICAuY2xlYXIuYWxlcnQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsXG4gICAgICAuY2xlYXIuYWxlcnQjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsXG4gICAgICAuY2xlYXIuYWxlcnQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsXG4gICAgICAuY2xlYXIuYWxlcnQuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLFxuICAgICAgLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcixcbiAgICAgIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCxcbiAgICAgIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAuY2xlYXIuYWxlcnQjZ2Rwci1zdWJtaXQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLFxuICAgICAgLmNsZWFyLmFsZXJ0I2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLFxuICAgICAgLmNsZWFyLmFsZXJ0I2dkcHItc3VibWl0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyLFxuICAuZHJvcGRvd24jZ2Rwci1zdWJtaXQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLFxuICAuZHJvcGRvd24uaG9sbG93I2dkcHItc3VibWl0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VkMWMyZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlcixcbiAgLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5I2dkcHItc3VibWl0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VkMWMyZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLFxuICAuZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeSNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM0YjNmMzQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5ob2xsb3cuc3VjY2VzcyNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5ob2xsb3cud2FybmluZyNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLFxuICAuZHJvcGRvd24uaG9sbG93LmFsZXJ0I2dkcHItc3VibWl0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyLFxuICAuYXJyb3ctb25seSNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLFxuYSNnZHByLXN1Ym1pdDpob3ZlciwgYS5idXR0b246Zm9jdXMsXG5hI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDY2OTdyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc0LCA3NCwgNzQsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDA7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41Mjk0NztcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJhMmEyYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzRhNGE0YTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAwIDAgMC4yNXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwLjI1cmVtIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNGE0YTRhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNGE0YTRhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDY2OTdyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc0LCA3NCwgNzQsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41Mjk0NztcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4NDIsIDQyLCA0MiUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJhMmEyYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNlZDFjMmU7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGJhY2tncm91bmQ6ICMyYTJhMmE7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMmEyYTJhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoNDIsIDQyLCA0MiwgMC44KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMmEyYTJhOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMmEyYTJhOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwJTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwJTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTAwJTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMCU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMCU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMCU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwJTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMDAlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMTAwJTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwJTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwJTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMTAwJTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMCU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3Itd2lkZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3Itd2lkZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3Itd2lkZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwJTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3Itd2lkZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3Itd2lkZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXdpZGUgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci13aWRlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci13aWRlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXdpZGUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3Itd2lkZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci13aWRlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMTAwJTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci13aWRlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci13aWRlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXdpZGUgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3Itd2lkZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMCU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3Itd2lkZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3Itd2lkZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXdpZGUucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci13aWRlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXdpZGUucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXdpZGUucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXdpZGUgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDYzLCA1MiwgMC44KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEyMDBweDsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogMTIwMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDEyMDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCwgdGJvZHksIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRoZWFkIHRyLCB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsIHRoZWFkIHRkLCB0Zm9vdCB0aCwgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLCB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAud2lkZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAud2lkZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAud2lkZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAud2lkZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAud2lkZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC53aWRlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLndpZGUtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAud2lkZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLndpZGUtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC53aWRlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLndpZGUtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC53aWRlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3JlcXVpcmVkX2xlZ2VuZCwgLnJldmVhbC0tc2xpZGVyIGltZyxcbi51LXNjcmVlbi1yZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTsgfVxuXG5cbi51LWNsZWFyZml4OjpiZWZvcmUsXG4udS1jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG5cbi51LWNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi53eXNpd3lnIGFbaHJlZio9Jy8vJ106bm90KFtocmVmKj0nLmRldiddKTpub3QoW2hyZWYqPSdpbWFzY29taW5lcmFscy5jb20nXSk6YWZ0ZXIsXG4udS1leHRlcm5hbC1saW5rOmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIGNvbnRlbnQ6IFwiXCIgdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBd0FBQUFNQ0FZQUFBQldkVnpuQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5UnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU1DMWpNRFl4SURZMExqRTBNRGswT1N3Z01qQXhNQzh4TWk4d055MHhNRG8xTnpvd01TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROUzR4SUUxaFkybHVkRzl6YUNJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvek1ETkVRVFpFTVRSQlFrUXhNVVUyT1RFNFFVSTBNamd6TVRWRFFVSkdOaUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG96TURORVFUWkVNalJCUWtReE1VVTJPVEU0UVVJME1qZ3pNVFZEUVVKR05pSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPak13TTBSQk5rTkdORUZDUkRFeFJUWTVNVGhCUWpReU9ETXhOVU5CUWtZMklpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qTXdNMFJCTmtRd05FRkNSREV4UlRZNU1UaEJRalF5T0RNeE5VTkJRa1kySWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K3VZQ1EwQUFBQUo5SlJFRlVlTnFVa28wSnhDQU1oVTNwRk03aEdLNWgxMUMzVU9kd0MzVU5IY1BqQ1JWcWU4YzFFSVh3NWVjWnFmZk8zdGlPZzRndVFhMzFZeFZqRExHMUEyRG5YRjhOY2JEYldzVmFTNjAxVlBzK2tsTHFOb0tVOGpGaGRnZ2hET2VjRDFnSXdYTE90MDdiSXVvQ3h4aEgzSHYvbkFDNGxETGhXdXZVaEh0QVVBNE5wNldVemhmcHF6YXcreW9LNDhCL0xnNTJITWRmbTZhM1grTWp3QUJERVhIc3p5RDJzQUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ucmV2ZWFsLS1zbGlkZXIgZmlndXJlLCAuaGVyby1zbGlkZXJfX2l0ZW0gPiBmaWd1cmUsIC5pbnRyby1saW5rc19fcGhvdG8gZmlndXJlLCAucG9zdF9faW1hZ2UgZmlndXJlLCAucHJvZHVjdCAudmlkZW8tbGluayBmaWd1cmUsIC52aWRlby1ncmlkX19pdGVtIGZpZ3VyZSwgLmNvbnRlbnQtYmxvY2tfX2JhY2tncm91bmQsXG4udS1iZy1jb3ZlciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uZnJvbnQtZmVhdHVyZV9faW1hZ2UgZmlndXJlLFxuLnUtYmctY29udGFpbiB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cbi5obnktc3ZnLFxuLnUtYmctMTAwIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IDEyMCU7IH0gfVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5wLnNtYWxsIHtcbiAgY29sb3I6ICM4OTg5ODk7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlLCAuYWNjb3JkaW9uLWl0ZW06Zm9jdXMsIC5hY2NvcmRpb24taXRlbTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNGE0YTRhOyB9XG4gICAgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uLWl0ZW06Zm9jdXMgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbi1pdGVtOmhvdmVyIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAgIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSAuaG55LXN2ZywgLmFjY29yZGlvbi1pdGVtOmZvY3VzIC5hY2NvcmRpb24tdGl0bGUgLmhueS1zdmcsIC5hY2NvcmRpb24taXRlbTpob3ZlciAuYWNjb3JkaW9uLXRpdGxlIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogIzBhMGEwYTsgfVxuICAuYWNjb3JkaW9uLWl0ZW0gKyAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTI5NDc7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYWNjb3JkaW9uLXRpdGxlID4gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtOyB9XG4gIC5hY2NvcmRpb24tdGl0bGUgLmhueS1zdmcge1xuICAgIGZpbGw6ICNlZDFjMmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4xMjVyZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5hY2NvcmRpb24tY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3dwYWRtaW5iYXIge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5idWxsZXQtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idWxsZXQtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLmJ1bGxldC1saXN0IGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgLmJ1bGxldC1saXN0IGxpICsgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMC4xMjVlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuNzU7XG4gICAgICBjb250ZW50OiAn4oCiJztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5idWxsZXQtbGlzdCBsaSArIGxpOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCAwLjc1cmVtOyB9IH1cblxuYnV0dG9uOm5vdCguZ20tdWktaG92ZXItZWZmZWN0KTpub3QoLmdtLWNvbnRyb2wtYWN0aXZlKTpub3QoLnNsaWNrLWFycm93KTpub3QoLnNpdGUtc2VhcmNoX19zdWJtaXQpOm5vdChbZGF0YS1jbG9zZV0pOm5vdCguZGVhbGVyc19fc2VhcmNoLXN1Ym1pdCksXG4uYnV0dG9uOm5vdCguZ20tdWktaG92ZXItZWZmZWN0KTpub3QoLmdtLWNvbnRyb2wtYWN0aXZlKTpub3QoLnNsaWNrLWFycm93KTpub3QoLnNpdGUtc2VhcmNoX19zdWJtaXQpOm5vdChbZGF0YS1jbG9zZV0pOm5vdCguZGVhbGVyc19fc2VhcmNoLXN1Ym1pdCksXG4jZ2Rwci1zdWJtaXQ6bm90KC5nbS11aS1ob3Zlci1lZmZlY3QpOm5vdCguZ20tY29udHJvbC1hY3RpdmUpOm5vdCguc2xpY2stYXJyb3cpOm5vdCguc2l0ZS1zZWFyY2hfX3N1Ym1pdCk6bm90KFtkYXRhLWNsb3NlXSk6bm90KC5kZWFsZXJzX19zZWFyY2gtc3VibWl0KSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmVmZWZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk92ZXJwYXNzXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMDgpOyB9XG4gIGJ1dHRvbjpub3QoLmdtLXVpLWhvdmVyLWVmZmVjdCk6bm90KC5nbS1jb250cm9sLWFjdGl2ZSk6bm90KC5zbGljay1hcnJvdyk6bm90KC5zaXRlLXNlYXJjaF9fc3VibWl0KTpub3QoW2RhdGEtY2xvc2VdKTpub3QoLmRlYWxlcnNfX3NlYXJjaC1zdWJtaXQpOmZvY3VzLCBidXR0b246bm90KC5nbS11aS1ob3Zlci1lZmZlY3QpOm5vdCguZ20tY29udHJvbC1hY3RpdmUpOm5vdCguc2xpY2stYXJyb3cpOm5vdCguc2l0ZS1zZWFyY2hfX3N1Ym1pdCk6bm90KFtkYXRhLWNsb3NlXSk6bm90KC5kZWFsZXJzX19zZWFyY2gtc3VibWl0KTpob3ZlcixcbiAgLmJ1dHRvbjpub3QoLmdtLXVpLWhvdmVyLWVmZmVjdCk6bm90KC5nbS1jb250cm9sLWFjdGl2ZSk6bm90KC5zbGljay1hcnJvdyk6bm90KC5zaXRlLXNlYXJjaF9fc3VibWl0KTpub3QoW2RhdGEtY2xvc2VdKTpub3QoLmRlYWxlcnNfX3NlYXJjaC1zdWJtaXQpOmZvY3VzLFxuICAjZ2Rwci1zdWJtaXQ6bm90KC5nbS11aS1ob3Zlci1lZmZlY3QpOm5vdCguZ20tY29udHJvbC1hY3RpdmUpOm5vdCguc2xpY2stYXJyb3cpOm5vdCguc2l0ZS1zZWFyY2hfX3N1Ym1pdCk6bm90KFtkYXRhLWNsb3NlXSk6bm90KC5kZWFsZXJzX19zZWFyY2gtc3VibWl0KTpmb2N1cyxcbiAgLmJ1dHRvbjpub3QoLmdtLXVpLWhvdmVyLWVmZmVjdCk6bm90KC5nbS1jb250cm9sLWFjdGl2ZSk6bm90KC5zbGljay1hcnJvdyk6bm90KC5zaXRlLXNlYXJjaF9fc3VibWl0KTpub3QoW2RhdGEtY2xvc2VdKTpub3QoLmRlYWxlcnNfX3NlYXJjaC1zdWJtaXQpOmhvdmVyLFxuICAjZ2Rwci1zdWJtaXQ6bm90KC5nbS11aS1ob3Zlci1lZmZlY3QpOm5vdCguZ20tY29udHJvbC1hY3RpdmUpOm5vdCguc2xpY2stYXJyb3cpOm5vdCguc2l0ZS1zZWFyY2hfX3N1Ym1pdCk6bm90KFtkYXRhLWNsb3NlXSk6bm90KC5kZWFsZXJzX19zZWFyY2gtc3VibWl0KTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDE0cHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpLCAwIDNweCA2cHggcmdiYSgxMCwgMTAsIDEwLCAwLjA4KTsgfVxuXG5idXR0b24uc2Vjb25kYXJ5LFxuLmJ1dHRvbi5zZWNvbmRhcnksXG4uc2Vjb25kYXJ5I2dkcHItc3VibWl0IHtcbiAgYmFja2dyb3VuZDogIzJhMmEyYTsgfVxuICBidXR0b24uc2Vjb25kYXJ5OmZvY3VzLCBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyxcbiAgLnNlY29uZGFyeSNnZHByLXN1Ym1pdDpmb2N1cyxcbiAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsXG4gIC5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM0YTRhNGE7IH1cblxuYnV0dG9uIC5obnktc3ZnLFxuYnV0dG9uIHNwYW4sXG4uYnV0dG9uIC5obnktc3ZnLFxuI2dkcHItc3VibWl0IC5obnktc3ZnLFxuLmJ1dHRvbiBzcGFuLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uIHNwYW4sXG4jZ2Rwci1zdWJtaXQgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5idXR0b24gLmhueS1zdmcsXG4uYnV0dG9uIC5obnktc3ZnLFxuI2dkcHItc3VibWl0IC5obnktc3ZnIHtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgZmlsbDogI2ZlZmVmZTsgfVxuICBidXR0b24gLmhueS1zdmcgKyBzcGFuLFxuICAuYnV0dG9uIC5obnktc3ZnICsgc3BhbixcbiAgI2dkcHItc3VibWl0IC5obnktc3ZnICsgc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtOyB9XG5cbmJ1dHRvbiBzcGFuLFxuLmJ1dHRvbiBzcGFuLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uIHNwYW4sXG4jZ2Rwci1zdWJtaXQgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuMTM3NWVtOyB9XG4gIGJ1dHRvbiBzcGFuICsgLmhueS1zdmcsXG4gIC5idXR0b24gc3BhbiArIC5obnktc3ZnLFxuICAjZ2Rwci1zdWJtaXQgc3BhbiArIC5obnktc3ZnIHtcbiAgICBtYXJnaW4tbGVmdDogMC4xMjVyZW07IH1cblxuYnV0dG9uIC5obnktc3ZnLFxuLmJ1dHRvbiAuaG55LXN2ZyxcbiNnZHByLXN1Ym1pdCAuaG55LXN2ZyB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7IH1cbiAgYnV0dG9uIC5obnktc3ZnLS1jaGV2cm9uLXJpZ2h0LFxuICAuYnV0dG9uIC5obnktc3ZnLS1jaGV2cm9uLXJpZ2h0LFxuICAjZ2Rwci1zdWJtaXQgLmhueS1zdmctLWNoZXZyb24tcmlnaHQge1xuICAgIHdpZHRoOiAwLjY3NWVtO1xuICAgIGhlaWdodDogMC42NzVlbTsgfVxuXG5idXR0b24gKyBwLFxuLmJ1dHRvbiArIHAsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b24gKyBwLFxuI2dkcHItc3VibWl0ICsgcCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG5idXR0b24uc21hbGwgLmhueS1zdmcsXG4uYnV0dG9uLnNtYWxsIC5obnktc3ZnLFxuLnNtYWxsI2dkcHItc3VibWl0IC5obnktc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDsgfVxuXG4uY2hlY2tsaXN0IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEuNzVyZW07IH1cbiAgLmNoZWNrbGlzdCBsaSAuaG55LXN2ZyB7XG4gICAgZmlsbDogI2VkMWMyZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEuMzc1cmVtO1xuICAgIGhlaWdodDogMS4zNzVyZW07IH1cbiAgLmNoZWNrbGlzdCBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5pcy1kcmlsbGRvd24gKiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5zZWxlY3Qge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmhueSAuZ2Zvcm1fd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfbGFiZWwsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSkge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtIDAuNXJlbSAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfbGlzdCB0ZC5nZmllbGRfbGlzdF9jZWxsIGlucHV0LFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfbGlzdCB0ZC5nZmllbGRfbGlzdF9jZWxsIHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgZGl2LmdpbnB1dF9jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGRpdi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQ6bm90KC5nZl9sZWZ0X2hhbGYpIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGxhYmVsOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHNlbGVjdCxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCB0ZXh0YXJlYSxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHNlbGVjdCArIGxhYmVsLFxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgdGV4dGFyZWEgKyBsYWJlbCxcbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGlucHV0ICsgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Igc2VsZWN0LFxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhLFxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IC5nZmllbGRfZGVzY3JpcHRpb24udmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgIGNvbG9yOiAjNGE0YTRhO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiwgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyXG4gIGlucHV0I2dkcHItc3VibWl0LFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjg1ZW0gMWVtICFpbXBvcnRhbnQ7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAxMnB4OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkMWMyZTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXSB7XG4gICAgb3V0bGluZTogMDsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl06aG92ZXIsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNGE0YTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSAucmVzdW1lX2Zvcm1fbGlua193cmFwcGVyIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSAucmVzdW1lX2Zvcm1fbGlua193cmFwcGVyIH4gcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluay5idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZVxuLmdmb3JtX3NhdmVfbGluayNnZHByLXN1Ym1pdCB7XG4gIGNvbG9yOiAjZWQxYzJlOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbjpmb2N1cywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lXG4gIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQ6Zm9jdXMsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbjpob3ZlciwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lXG4gIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQ6aG92ZXIge1xuICAgIGNvbG9yOiAjYzQxMDFmOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluay5idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZVxuLmdmb3JtX3NhdmVfbGluayNnZHByLXN1Ym1pdCB7XG4gIG9yZGVyOiAxO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBsaW5lLWhlaWdodDogMS41Mjk0NztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbms6YmVmb3JlLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluazphZnRlciwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uOmJlZm9yZSwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lXG4gIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQ6YmVmb3JlLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluay5idXR0b246YWZ0ZXIsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZVxuICAuZ2Zvcm1fc2F2ZV9saW5rI2dkcHItc3VibWl0OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rIHN2ZywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uIHN2ZywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lXG4gIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQgc3ZnIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluay5idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZVxuICAgIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQge1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBvcmRlcjogMTAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAuNXJlbSAwIDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9zaWduYXR1cmVfY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfc2lnbmF0dXJlX2NvbnRhaW5lciArIGRpdiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyA+IGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNjYzRiMzc7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUyOTQ3O1xuICAgIGZvbnQtZmFtaWx5OiBcIk92ZXJwYXNzXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyA+IGgyIC5nZm9ybS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9yczpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLnZhbGlkYXRpb25fbWVzc2FnZSxcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuaW5zdHJ1Y3Rpb24sXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC52YWxpZGF0aW9uX21lc3NhZ2UsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmluc3RydWN0aW9uLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmJmMWVmO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2NjNGIzNztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC52YWxpZGF0aW9uX21lc3NhZ2UsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmRlc2NyaXB0aW9uLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZGVzY3JpcHRpb24sXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmluc3RydWN0aW9uIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZXJyb3IgLmdmaWVsZF9yZXBlYXRlcl9jZWxsIGxhYmVsLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZXJyb3IgbGFiZWwsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9lcnJvciBsZWdlbmQge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9lcnJvciBbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3OyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSArIGxhYmVsLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGxhYmVsICsgW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCBzZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb21wbGV4IGxhYmVsIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCBsYWJlbCB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5nZmllbGRfbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50LFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdjaG9pY2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBpbnB1dCxcbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdjaG9pY2UgaW5wdXQge1xuICAgIG1hcmdpbjogMCAwLjVlbSAwIDA7IH1cbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGlucHV0ICsgbGFiZWwsXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdjaG9pY2UgaW5wdXQgKyBsYWJlbCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3Rlcixcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyXG4gICNnZHByLXN1Ym1pdCxcbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLFxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyXG4gICNnZHByLXN1Ym1pdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b246Zmlyc3QtY2hpbGQuZ2Zvcm1fbmV4dF9idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyXG4gICAgICAjZ2Rwci1zdWJtaXQ6Zmlyc3QtY2hpbGQuZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b246Zmlyc3QtY2hpbGQuZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyXG4gICAgICAjZ2Rwci1zdWJtaXQ6Zmlyc3QtY2hpbGQuZ2Zvcm1fbmV4dF9idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9IH1cbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uOm5vdCguZ2Zvcm1fc2F2ZV9saW5rKSwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXJcbiAgICAjZ2Rwci1zdWJtaXQ6bm90KC5nZm9ybV9zYXZlX2xpbmspLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbjpub3QoLmdmb3JtX3NhdmVfbGluayksXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlclxuICAgICNnZHByLXN1Ym1pdDpub3QoLmdmb3JtX3NhdmVfbGluaykge1xuICAgICAgZmxleDogMSAxOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uOm5vdCguZ2Zvcm1fc2F2ZV9saW5rKSwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXJcbiAgICAgICAgI2dkcHItc3VibWl0Om5vdCguZ2Zvcm1fc2F2ZV9saW5rKSxcbiAgICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uOm5vdCguZ2Zvcm1fc2F2ZV9saW5rKSxcbiAgICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlclxuICAgICAgICAjZ2Rwci1zdWJtaXQ6bm90KC5nZm9ybV9zYXZlX2xpbmspIHtcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyXG4gICAgLmdmb3JtX2J1dHRvbiNnZHByLXN1Ym1pdCwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbiwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXJcbiAgICAuZ2Zvcm1fbmV4dF9idXR0b24jZ2Rwci1zdWJtaXQsXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyXG4gICAgLmdmb3JtX2J1dHRvbiNnZHByLXN1Ym1pdCxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlclxuICAgIC5nZm9ybV9uZXh0X2J1dHRvbiNnZHByLXN1Ym1pdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0jZ2Rwci1zdWJtaXQsXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlclxuICAgIFt0eXBlPVwic3VibWl0XCJdI2dkcHItc3VibWl0IHtcbiAgICAgIG9yZGVyOiAzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0gKyAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyBbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24gKyAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlclxuICAgICAgICBbdHlwZT1cInN1Ym1pdFwiXSNnZHByLXN1Ym1pdCArIC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvblt0eXBlPVwic3VibWl0XCJdICsgLmdmb3JtX3NhdmVfbGluayxcbiAgICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyBbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24gKyAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyXG4gICAgICAgIFt0eXBlPVwic3VibWl0XCJdI2dkcHItc3VibWl0ICsgLmdmb3JtX3NhdmVfbGluayB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH0gfVxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyXG4gICAgLmdmb3JtX25leHRfYnV0dG9uI2dkcHItc3VibWl0LFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyXG4gICAgLmdmb3JtX25leHRfYnV0dG9uI2dkcHItc3VibWl0IHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uICsgLmdmb3JtX3NhdmVfbGluaywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX25leHRfYnV0dG9uLmJ1dHRvbiArIC5nZm9ybV9zYXZlX2xpbmssIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyXG4gICAgICAuZ2Zvcm1fbmV4dF9idXR0b24jZ2Rwci1zdWJtaXQgKyAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uICsgLmdmb3JtX3NhdmVfbGluayxcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX25leHRfYnV0dG9uLmJ1dHRvbiArIC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyXG4gICAgICAuZ2Zvcm1fbmV4dF9idXR0b24jZ2Rwci1zdWJtaXQgKyAuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXJcbiAgICAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uI2dkcHItc3VibWl0LFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24sXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlclxuICAgIC5nZm9ybV9wcmV2aW91c19idXR0b24jZ2Rwci1zdWJtaXQge1xuICAgICAgb3JkZXI6IC0xO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24gfiAuZ2Zvcm1fbmV4dF9idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5nZm9ybV9wcmV2aW91c19idXR0b24uYnV0dG9uIH4gLmdmb3JtX25leHRfYnV0dG9uLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlclxuICAgICAgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiNnZHByLXN1Ym1pdCB+IC5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24gfiAuZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5nZm9ybV9wcmV2aW91c19idXR0b24uYnV0dG9uIH4gLmdmb3JtX25leHRfYnV0dG9uLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlclxuICAgICAgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiNnZHByLXN1Ym1pdCB+IC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIH4gLmdmb3JtX3NhdmVfbGluaywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi5idXR0b24gfiAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlclxuICAgICAgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiNnZHByLXN1Ym1pdCB+IC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIH4gLmdmb3JtX3NhdmVfbGluayxcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi5idXR0b24gfiAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlclxuICAgICAgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiNnZHByLXN1Ym1pdCB+IC5nZm9ybV9zYXZlX2xpbmsge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtLWxvYWRlciB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbmgxLFxuaDIge1xuICBmb250LWZhbWlseTogXCJPdmVycGFzc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmg0IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4xMjUpO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuXG4uaG55LXN2ZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuOGVtO1xuICBoZWlnaHQ6IDFlbTsgfVxuXG5zdmcuaG55LXN2ZyBwYXRoIHtcbiAgZmlsbDogaW5oZXJpdDsgfVxuXG4uaGFzLWhlcm8gLmwtbWFzdGhlYWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmwtaGVybyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmwtbWFpbl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLm5vdC1mcm9udCAubC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleDogMTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmwtY29udGVudF9fd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG5cbi5sLXNwbGl0IHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtc3BsaXQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG4gIC5sLXNwbGl0IGgxLFxuICAubC1zcGxpdCBoMixcbiAgLmwtc3BsaXQgaDMsXG4gIC5sLXNwbGl0IGg0LFxuICAubC1zcGxpdCBoNSxcbiAgLmwtc3BsaXQgaDYge1xuICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtc3BsaXQgPiAuZ3JpZC14IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgLmwtc3BsaXQgLmwtcHJpbWFyeSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmwtc3BsaXQgLmwtcHJpbWFyeSB7XG4gICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1zcGxpdCAubC1zaWRlYmFyIHtcbiAgICAgIG9yZGVyOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1zcGxpdCAubC1zaWRlYmFyX193cmFwcGVyLnN0aWNreSB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtc3BsaXQgLmwtc2lkZWJhcixcbiAgICAubC1zcGxpdCAubC1wcmltYXJ5IHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMCA2cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1zcGxpdCAubC1wcmltYXJ5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICAgIGJveC1zaGFkb3c6IC05cHggMTBweCA3cHggMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgICAgIHotaW5kZXg6IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLXNwbGl0IC5sLXByaW1hcnlfX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cblxuLmwtYmxvY2sge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZyb250LWludHJvIC5sLWJsb2NrIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmwtYmxvY2sge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICAgICAgLmZyb250LWludHJvIC5sLWJsb2NrIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9IH1cbiAgLmwtYmxvY2stLWxpZ2h0LWdyYXkgaDEsXG4gIC5sLWJsb2NrLS1saWdodC1ncmF5IGgyLCAubC1ibG9jay0td2hpdGUgaDEsXG4gIC5sLWJsb2NrLS13aGl0ZSBoMiB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmwtYmxvY2stLWxpZ2h0LWdyYXkgaDMsXG4gIC5sLWJsb2NrLS1saWdodC1ncmF5IGg0LFxuICAubC1ibG9jay0tbGlnaHQtZ3JheSBoNSxcbiAgLmwtYmxvY2stLWxpZ2h0LWdyYXkgaDYsIC5sLWJsb2NrLS13aGl0ZSBoMyxcbiAgLmwtYmxvY2stLXdoaXRlIGg0LFxuICAubC1ibG9jay0td2hpdGUgaDUsXG4gIC5sLWJsb2NrLS13aGl0ZSBoNiB7XG4gICAgY29sb3I6ICNlZDFjMmU7IH1cbiAgLmwtYmxvY2stLXN0dWNjby1ncmF5LCAubC1ibG9jay0tc3R1Y2NvLWJyb3duIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5sLWJsb2NrLS1zdHVjY28tZ3JheSBoMSxcbiAgICAubC1ibG9jay0tc3R1Y2NvLWdyYXkgaDIsIC5sLWJsb2NrLS1zdHVjY28tYnJvd24gaDEsXG4gICAgLmwtYmxvY2stLXN0dWNjby1icm93biBoMiB7XG4gICAgICBjb2xvcjogI2U2ZTZlNjsgfVxuICAgIC5sLWJsb2NrLS1zdHVjY28tZ3JheSBoMyxcbiAgICAubC1ibG9jay0tc3R1Y2NvLWdyYXkgaDQsXG4gICAgLmwtYmxvY2stLXN0dWNjby1ncmF5IGg1LFxuICAgIC5sLWJsb2NrLS1zdHVjY28tZ3JheSBoNiwgLmwtYmxvY2stLXN0dWNjby1icm93biBoMyxcbiAgICAubC1ibG9jay0tc3R1Y2NvLWJyb3duIGg0LFxuICAgIC5sLWJsb2NrLS1zdHVjY28tYnJvd24gaDUsXG4gICAgLmwtYmxvY2stLXN0dWNjby1icm93biBoNiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAubC1ibG9jay0tZGFyay1yZWQsIC5sLWJsb2NrLS1kYXJrLWdyYXksIC5sLWJsb2NrLS1yZWQsIC5sLWJsb2NrLS1icm93biB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAubC1ibG9jay0tZGFyay1yZWQgaDEsXG4gICAgLmwtYmxvY2stLWRhcmstcmVkIGgyLFxuICAgIC5sLWJsb2NrLS1kYXJrLXJlZCBoMyxcbiAgICAubC1ibG9jay0tZGFyay1yZWQgaDQsXG4gICAgLmwtYmxvY2stLWRhcmstcmVkIGg1LFxuICAgIC5sLWJsb2NrLS1kYXJrLXJlZCBoNiwgLmwtYmxvY2stLWRhcmstZ3JheSBoMSxcbiAgICAubC1ibG9jay0tZGFyay1ncmF5IGgyLFxuICAgIC5sLWJsb2NrLS1kYXJrLWdyYXkgaDMsXG4gICAgLmwtYmxvY2stLWRhcmstZ3JheSBoNCxcbiAgICAubC1ibG9jay0tZGFyay1ncmF5IGg1LFxuICAgIC5sLWJsb2NrLS1kYXJrLWdyYXkgaDYsIC5sLWJsb2NrLS1yZWQgaDEsXG4gICAgLmwtYmxvY2stLXJlZCBoMixcbiAgICAubC1ibG9jay0tcmVkIGgzLFxuICAgIC5sLWJsb2NrLS1yZWQgaDQsXG4gICAgLmwtYmxvY2stLXJlZCBoNSxcbiAgICAubC1ibG9jay0tcmVkIGg2LCAubC1ibG9jay0tYnJvd24gaDEsXG4gICAgLmwtYmxvY2stLWJyb3duIGgyLFxuICAgIC5sLWJsb2NrLS1icm93biBoMyxcbiAgICAubC1ibG9jay0tYnJvd24gaDQsXG4gICAgLmwtYmxvY2stLWJyb3duIGg1LFxuICAgIC5sLWJsb2NrLS1icm93biBoNiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5sLWJsb2NrLS1kYXJrLXJlZCBhOmZvY3VzLCAubC1ibG9jay0tZGFyay1yZWQgYTpob3ZlciwgLmwtYmxvY2stLWRhcmstZ3JheSBhOmZvY3VzLCAubC1ibG9jay0tZGFyay1ncmF5IGE6aG92ZXIsIC5sLWJsb2NrLS1yZWQgYTpmb2N1cywgLmwtYmxvY2stLXJlZCBhOmhvdmVyLCAubC1ibG9jay0tYnJvd24gYTpmb2N1cywgLmwtYmxvY2stLWJyb3duIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmhvbWUgLmwtYmxvY2sge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmVmZWZlOyB9XG4gIC5sLWJsb2NrLS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIC5ob21lIC5sLWJsb2NrLS13aGl0ZSB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5sLWJsb2NrLS1yZWQge1xuICAgIGJhY2tncm91bmQ6ICNlZDFjMmU7IH1cbiAgLmwtYmxvY2stLWRhcmstcmVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjgwZjFkOyB9XG4gIC5sLWJsb2NrLS1icm93biB7XG4gICAgYmFja2dyb3VuZDogIzRiM2YzNDsgfVxuICAubC1ibG9jay0tZGFyay1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMmEyYTJhOyB9XG4gIC5sLWJsb2NrLS1saWdodC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2IHVybChcIi4uL2ltYWdlcy9zdHVjY28tcmVwZWF0ZXItd2hpdGUuanBnXCIpOyB9XG4gIC5sLWJsb2NrLS1zdHVjY28tZ3JheSB7XG4gICAgYmFja2dyb3VuZDogIzJhMmEyYSB1cmwoXCIuLi9pbWFnZXMvc3R1Y2NvLXJlcGVhdGVyLWdyYXkuanBnXCIpOyB9XG4gIC5sLWJsb2NrLS1zdHVjY28tYnJvd24ge1xuICAgIGJhY2tncm91bmQ6ICM0YjNmMzQgdXJsKFwiLi4vaW1hZ2VzL3N0dWNjby1yZXBlYXRlci1icm93bi5qcGdcIik7IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmdyaWQtY29udGFpbmVyLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDkwcmVtOyB9XG4gIC5ncmlkLWNvbnRhaW5lci0tbmFycm93IHtcbiAgICBtYXgtd2lkdGg6IDEwNzRweDsgfVxuXG4uY2VsbC0tZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLm9mZi1jYW52YXMge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoLCAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDk5OTk5OTsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLm9mZi1jYW52YXNfX2hlYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMS41cyBlYXNlLWluLW91dDsgfVxuICAgIC5pcy1vcGVuIC5vZmYtY2FudmFzX19oZWFkaW5nIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLm9mZi1jYW52YXNfX2Nsb3NlIHtcbiAgICBsaW5lLWhlaWdodDogNTBweDsgfVxuICAgIC5vZmYtY2FudmFzX19jbG9zZSBidXR0b24ge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3NcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAjZTZlNmU2OyB9XG4gICAgICAub2ZmLWNhbnZhc19fY2xvc2UgYnV0dG9uIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogI2U2ZTZlNjsgfVxuICAgICAgLnBvc2l0aW9uLXJpZ2h0IC5vZmYtY2FudmFzX19jbG9zZSBidXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAub2ZmLWNhbnZhc19fY2xvc2UgYnV0dG9uIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLm9mZi1jYW52YXNfX2Nsb3NlIGJ1dHRvbiwgLm9mZi1jYW52YXNfX2Nsb3NlIGJ1dHRvbjpmb2N1cywgLm9mZi1jYW52YXNfX2Nsb3NlIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLm9mZi1jYW52YXNfX2Nsb3NlIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZTZlNmU2OyB9XG4gICAgICAgIC5vZmYtY2FudmFzX19jbG9zZSBidXR0b246Zm9jdXMgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6ICNlNmU2ZTY7IH1cbiAgICAgIC5vZmYtY2FudmFzX19jbG9zZSBidXR0b246aG92ZXIge1xuICAgICAgICBjb2xvcjogI2VkMWMyZTsgfVxuICAgICAgICAub2ZmLWNhbnZhc19fY2xvc2UgYnV0dG9uOmhvdmVyIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAjZWQxYzJlOyB9XG4gICAgLm9mZi1jYW52YXNfX2Nsb3NlIHNwYW4sXG4gICAgLm9mZi1jYW52YXNfX2Nsb3NlIC5obnktc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAub2ZmLWNhbnZhc19fY2xvc2UgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBmaWxsOiAjZWQxYzJlO1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAub2ZmLWNhbnZhcyAubW9iaWxlLXV0aWxpdHlfX2l0ZW0sXG4gIC5vZmYtY2FudmFzIC5tb2JpbGUtbmF2X19pdGVtIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMS41cyBlYXNlLWluLW91dDsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIC5tb2JpbGUtdXRpbGl0eV9faXRlbSxcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiAubW9iaWxlLW5hdl9faXRlbSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgei1pbmRleDogOTk5ODsgfVxuXG4ucGFnZS10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhMmEyYTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmZWZlZmU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmVmZWZlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAucGFnZS10aXRsZV9faGVhZGluZyB7XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAgdGV4dC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyksIDAgNXB4IDE1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnBhZ2UtdGl0bGVfX2hlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gIC5wYWdlLXRpdGxlX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLnBhZ2luYXRpb24tY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMCA2cmVtOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnBhZ2luYXRpb24gbGkgYSxcbiAgICAucGFnaW5hdGlvbiBsaSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5wYWdpbmF0aW9uIGxpIGE6bm90KC5jdXJyZW50KTpmb2N1cywgLnBhZ2luYXRpb24gbGkgYTpub3QoLmN1cnJlbnQpOmhvdmVyLFxuICAgICAgLnBhZ2luYXRpb24gbGkgc3Bhbjpub3QoLmN1cnJlbnQpOmZvY3VzLFxuICAgICAgLnBhZ2luYXRpb24gbGkgc3Bhbjpub3QoLmN1cnJlbnQpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNlZDFjMmU7IH1cbiAgICAgIC5wYWdpbmF0aW9uIGxpIGEubmV4dCwgLnBhZ2luYXRpb24gbGkgYS5wcmV2LFxuICAgICAgLnBhZ2luYXRpb24gbGkgc3Bhbi5uZXh0LFxuICAgICAgLnBhZ2luYXRpb24gbGkgc3Bhbi5wcmV2IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VkMWMyZTsgfVxuICAgICAgICAucGFnaW5hdGlvbiBsaSBhLm5leHQ6Zm9jdXMsIC5wYWdpbmF0aW9uIGxpIGEubmV4dDpob3ZlciwgLnBhZ2luYXRpb24gbGkgYS5wcmV2OmZvY3VzLCAucGFnaW5hdGlvbiBsaSBhLnByZXY6aG92ZXIsXG4gICAgICAgIC5wYWdpbmF0aW9uIGxpIHNwYW4ubmV4dDpmb2N1cyxcbiAgICAgICAgLnBhZ2luYXRpb24gbGkgc3Bhbi5uZXh0OmhvdmVyLFxuICAgICAgICAucGFnaW5hdGlvbiBsaSBzcGFuLnByZXY6Zm9jdXMsXG4gICAgICAgIC5wYWdpbmF0aW9uIGxpIHNwYW4ucHJldjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2VkMWMyZTsgfVxuICAgICAgICAgIC5wYWdpbmF0aW9uIGxpIGEubmV4dDpmb2N1cyAuaG55LXN2ZywgLnBhZ2luYXRpb24gbGkgYS5uZXh0OmhvdmVyIC5obnktc3ZnLCAucGFnaW5hdGlvbiBsaSBhLnByZXY6Zm9jdXMgLmhueS1zdmcsIC5wYWdpbmF0aW9uIGxpIGEucHJldjpob3ZlciAuaG55LXN2ZyxcbiAgICAgICAgICAucGFnaW5hdGlvbiBsaSBzcGFuLm5leHQ6Zm9jdXMgLmhueS1zdmcsXG4gICAgICAgICAgLnBhZ2luYXRpb24gbGkgc3Bhbi5uZXh0OmhvdmVyIC5obnktc3ZnLFxuICAgICAgICAgIC5wYWdpbmF0aW9uIGxpIHNwYW4ucHJldjpmb2N1cyAuaG55LXN2ZyxcbiAgICAgICAgICAucGFnaW5hdGlvbiBsaSBzcGFuLnByZXY6aG92ZXIgLmhueS1zdmcge1xuICAgICAgICAgICAgZmlsbDogI2ZlZmVmZTsgfVxuICAgICAgLnBhZ2luYXRpb24gbGkgYS5jdXJyZW50LFxuICAgICAgLnBhZ2luYXRpb24gbGkgc3Bhbi5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICNlZDFjMmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnBhZ2luYXRpb24gbGkgLmhueS1zdmcge1xuICAgICAgZmlsbDogI2VkMWMyZTtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMmEyYTJhOyB9IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucmV2ZWFsIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAucmV2ZWFsLS1zbGlkZXIsIC5yZXZlYWwtLXZpZGVvLCAucmV2ZWFsLS1pbWFnZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJldmVhbC0tc2xpZGVyIC5yZXZlYWxfX2NvbnRlbnQsIC5yZXZlYWwtLXZpZGVvIC5yZXZlYWxfX2NvbnRlbnQsIC5yZXZlYWwtLWltYWdlIC5yZXZlYWxfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAycmVtOyB9IH1cbiAgICAucmV2ZWFsLS1zbGlkZXIgLmNsb3NlLWJ1dHRvbiwgLnJldmVhbC0tdmlkZW8gLmNsb3NlLWJ1dHRvbiwgLnJldmVhbC0taW1hZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLS12aWRlbywgLnJldmVhbC0taW5mbyB7XG4gICAgICB3aWR0aDogNjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZXZlYWwtLXZpZGVvLCAucmV2ZWFsLS1pbmZvIHtcbiAgICAgIHdpZHRoOiA5MDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAucmV2ZWFsLS12aWRlbywgLnJldmVhbC0taW5mbyB7XG4gICAgICB3aWR0aDogMTAwMHB4OyB9IH1cbiAgLnJldmVhbC0tdmlkZW8ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLS12aWRlbyAucmVzcG9uc2l2ZS1lbWJlZCB7XG4gICAgICBib3gtc2hhZG93OiAwIDE4cHggMzVweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xNSk7IH0gfVxuICAucmV2ZWFsX19jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC44NSk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucmV2ZWFsLS1zbGlkZXIgZmlndXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cbiAgLnJldmVhbC0tc2xpZGVyIC5zbGljay1zbGlkZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAzNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjE1KTsgfVxuICAgIC5yZXZlYWwtLXNsaWRlciAuc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdyB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDsgfVxuICAgIC5yZXZlYWwtLXNsaWRlciAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXZlYWwtLXNsaWRlciAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiAtMnJlbTsgfSB9XG4gICAgLnJldmVhbC0tc2xpZGVyIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXZlYWwtLXNsaWRlciAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0IHtcbiAgICAgICAgICByaWdodDogLTJyZW07IH0gfVxuICAucmV2ZWFsLS1pbWFnZSBpbWcge1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAzNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjE1KTsgfVxuICAucmV2ZWFsLS1pbmZvIHtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggMTQwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDEwLCAxMCwgMTAsIDAuMTUpOyB9XG4gICAgLnJldmVhbC0taW5mbyBidXR0b24uY2xvc2UtYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5yZXZlYWwtLWluZm8gYnV0dG9uLmNsb3NlLWJ1dHRvbjpmb2N1cywgLnJldmVhbC0taW5mbyBidXR0b24uY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgIC5yZXZlYWwtLWluZm8gYnV0dG9uLmNsb3NlLWJ1dHRvbjpmb2N1cyAuaG55LXN2ZywgLnJldmVhbC0taW5mbyBidXR0b24uY2xvc2UtYnV0dG9uOmhvdmVyIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAjNGE0YTRhOyB9XG4gICAgICAucmV2ZWFsLS1pbmZvIGJ1dHRvbi5jbG9zZS1idXR0b24gLmhueS1zdmcge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICBmaWxsOiAjZWQxYzJlOyB9XG5cbi5zbGljay1zbGlkZXIsXG4uc2xpY2stc2xpZGVyICoge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtc2xpY2stc2xpZGVyXSBbZGF0YS1zbGljay1zbGlkZV06bm90KDpmaXJzdC1jaGlsZCkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLXNsaWNrLXNsaWRlcl0uc2xpY2staW5pdGlhbGl6ZWQgW2RhdGEtc2xpY2stc2xpZGVdIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuW2RhdGEtc2xpY2stc2xpZGVyXS5zbGljay1pbml0aWFsaXplZCArIC5sb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zbGljay1kb3RzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zbGljay1kb3RzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tZSAuc2xpY2stZG90cyBsaSB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7IH0gfVxuICAgIC5zbGljay1kb3RzIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIG9wYWNpdHk6IDAuMzU7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzLCAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLnNsaWNrLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogNTA7IH1cbiAgLnNsaWNrLWFycm93LCAuc2xpY2stYXJyb3c6Zm9jdXMsIC5zbGljay1hcnJvdzpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuc2xpY2stYXJyb3cgc3ZnIHtcbiAgICBmaWxsOiAjZmVmZWZlO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDExLCAyNywgMzgsIDAuNCkpOyB9XG4gIC5zbGljay1hcnJvdy5zbGljay1kaXNhYmxlZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDJyZW07IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogMnJlbTsgfVxuXG4ud3lzaXd5ZyBhW2hyZWZePSdtYWlsdG86J106YWZ0ZXIge1xuICBjb250ZW50OiBub25lOyB9XG5cbi53eXNpd3lnIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi53eXNpd3lnIGgxLFxuLnd5c2l3eWcgaDIsXG4ud3lzaXd5ZyBoMyxcbi53eXNpd3lnIGg0LFxuLnd5c2l3eWcgaDUsXG4ud3lzaXd5ZyBoNiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDsgfVxuXG4ud3lzaXd5ZyAuYWxpZ25sZWZ0IHtcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnd5c2l3eWcgLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTBweCBhdXRvOyB9XG5cbi53eXNpd3lnIC5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luOiAwLjVyZW0gMCAwLjVyZW0gMXJlbTtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi53eXNpd3lnIC5hbGlnbm5vbmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwLjVyZW0gMDsgfVxuXG4ud3lzaXd5ZyAuZ2FsbGVyeSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnd5c2l3eWcgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDAuMTY2NjY2NjY3JTtcbiAgICBtYXJnaW46IDAgMCAyJTsgfVxuICAgIC53eXNpd3lnIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnd5c2l3eWcgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSBhIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi53eXNpd3lnIC53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yNXJlbSAwO1xuICBjb2xvcjogIzJhMmEyYTtcbiAgZm9udC1zaXplOiAwLjhyZW07IH1cblxuLnd5c2l3eWcgcC53cC1jYXB0aW9uLXRleHQge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xuICBjb2xvcjogIzJhMmEyYTtcbiAgZm9udC1zaXplOiA5MCU7IH1cblxuLnd5c2l3eWcgdWw6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmaWVsZF9jaGVja2JveCk6bm90KC5nZmllbGRfcmFkaW8pIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnd5c2l3eWcgdWw6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmaWVsZF9jaGVja2JveCk6bm90KC5nZmllbGRfcmFkaW8pIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gICAgLnd5c2l3eWcgdWw6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmaWVsZF9jaGVja2JveCk6bm90KC5nZmllbGRfcmFkaW8pIGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLnd5c2l3eWcgdWw6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmaWVsZF9jaGVja2JveCk6bm90KC5nZmllbGRfcmFkaW8pIGxpOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIGJhY2tncm91bmQ6ICNlZDFjMmU7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAud3lzaXd5ZyB1bDpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5jaGVja2xpc3QpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KTpub3QoLmdmaWVsZF9yYWRpbykgdWwge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAud3lzaXd5ZyB1bDpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5jaGVja2xpc3QpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KTpub3QoLmdmaWVsZF9yYWRpbykgdWwgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH1cbiAgICAgIC53eXNpd3lnIHVsOm5vdCguZ2Zvcm1fZmllbGRzKTpub3QoLmNoZWNrbGlzdCk6bm90KC5nZmllbGRfY2hlY2tib3gpOm5vdCguZ2ZpZWxkX3JhZGlvKSB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzRhNGE0YTsgfVxuXG4ud3lzaXd5ZyBvbCB7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC53eXNpd3lnIG9sIG9sIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAud3lzaXd5ZyBvbCBvbCA+IGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuICAgICAgLnd5c2l3eWcgb2wgb2wgPiBsaTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2VkMWMyZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VkMWMyZTsgfVxuICAgICAgLnd5c2l3eWcgb2wgb2wgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAgIC53eXNpd3lnIG9sIG9sID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLnd5c2l3eWcgb2wgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0YTRhNGE7IH1cbiAgICAud3lzaXd5ZyBvbCA+IGxpOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiIFwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZDFjMmU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAud3lzaXd5ZyBvbCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNGE0YTRhO1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAgIC53eXNpd3lnIG9sID4gbGk6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ubm90LWZvdW5kIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgLm5vdC1mb3VuZCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJhY2stdG8tdG9wIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm90dG9tOiAwLjVyZW07XG4gIHJpZ2h0OiAwLjVyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiA1MDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDM1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDEwLCAxMCwgMTAsIDAuMTUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kOiAjNGIzZjM0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB6LWluZGV4OiA5OTk3OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg0LjMxMjVlbSkge1xuICAgIC5iYWNrLXRvLXRvcCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NC4zNzVlbSkge1xuICAgIC5iYWNrLXRvLXRvcCB7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICB3aWR0aDogNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0LjM3NWVtKSB7XG4gICAgLmJhY2stdG8tdG9wIHtcbiAgICAgIGJvdHRvbTogMXJlbTtcbiAgICAgIHJpZ2h0OiAxcmVtOyB9IH1cbiAgLmJhY2stdG8tdG9wOmhvdmVyLCAuYmFjay10by10b3A6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2OyB9XG4gICAgLmJhY2stdG8tdG9wOmhvdmVyIC5obnktc3ZnLCAuYmFjay10by10b3A6Zm9jdXMgLmhueS1zdmcge1xuICAgICAgZmlsbDogI2VkMWMyZTsgfVxuICAuYmFjay10by10b3AgLmhueS1zdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luOiAtMTRweCAwIDAgLTEzcHg7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGZpbGw6ICNmZWZlZmU7IH1cbiAgLmJhY2stdG8tdG9wLmlzLXZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLmNvbG9waG9uIGEge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuY29sb3Bob24gYTpmb2N1cywgLmNvbG9waG9uIGE6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNik7IH1cblxuLmNvbG9waG9uX193cmFwcGVyIHtcbiAgcGFkZGluZzogMnJlbSAwIDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sb3Bob25fX3dyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5jb2xvcGhvbl9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG5cbi5pbWFzY28tZGVhbGVycyAuY29sb3Bob25fX2xvZ28ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb2xvcGhvbl9fbG9nbyA+IGEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTgwcHg7XG4gIGhlaWdodDogNjkuNzA1ODhweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgbWFyZ2luLXRvcDogMS40NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb2xvcGhvbl9fbG9nbyA+IGEge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiA5Ni44MTM3M3B4O1xuICAgICAgbWFyZ2luLXRvcDogMi4xcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5jb2xvcGhvbl9fbG9nbyA+IGEge1xuICAgICAgbWFyZ2luLXRvcDogMS43cmVtOyB9IH1cblxuLmNvbG9waG9uX19sb2dvIC5obnktc3ZnIHtcbiAgd2lkdGg6IDE4MHB4O1xuICBoZWlnaHQ6IDY5LjcwNTg4cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29sb3Bob25fX2xvZ28gLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiA5Ni44MTM3M3B4OyB9IH1cblxuLmNvbG9waG9uX19sZWdhbGVzZSBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xvcGhvbl9fbGVnYWxlc2UgcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29sb3Bob25fX2xlZ2FsZXNlIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9IH1cblxuLmNvbG9waG9uX19sZWdhbC1uYXYge1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMy40Mzc1ZW0pIHtcbiAgICAuY29sb3Bob25fX2xlZ2FsLW5hdiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbG9waG9uX19sZWdhbC1uYXYge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbG9waG9uX19sZWdhbC1uYXYge1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xvcGhvbl9fbGVnYWwtbmF2IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuLmNvbG9waG9uX19jcmVkaXQge1xuICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xvcGhvbl9fY3JlZGl0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29sb3Bob25fX2NyZWRpdCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbG9waG9uX19jcmVkaXQgcCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbG9waG9uX19jcmVkaXQgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNSk7IH0gfVxuXG4uY29tcGFueS1pbmZvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jb21wYW55LWluZm9fX3dyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb21wYW55LWluZm9fX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29tcGFueS1pbmZvX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9IH1cbiAgLmNvbXBhbnktaW5mb19fbWFwID4gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBtYXJnaW46IDAgLTFyZW07XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDE0MHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjE1KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29tcGFueS1pbmZvX19tYXAgPiBkaXYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZWZlZmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmNvbnRhY3QtaW5mb19fY29udGFjdCAuZ3JpZC14IC5jZWxsIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4uY29udGFjdC1pbmZvX19jb250YWN0IGFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5jb250YWN0LWluZm9fX2NvbnRhY3QgYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmNvbnRhY3QtaW5mb19fY29udGFjdCAuZ3JpZC14IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5jb250YWN0LWluZm9fX2NvbnRhY3QgLmNlbGwge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAuY29udGFjdC1pbmZvX19jb250YWN0IC5jZWxsIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuXG4uY29udGFjdC1pbmZvX19jb250YWN0IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jb250YWN0LWluZm9fX2NvbnRhY3QgdWwgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAuY29udGFjdC1pbmZvX19jb250YWN0IHVsIGxpIHNwYW4sXG4gICAgLmNvbnRhY3QtaW5mb19fY29udGFjdCB1bCBsaSAuaG55LXN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmNvbnRhY3QtaW5mb19fY29udGFjdCB1bCBsaSAuaG55LXN2ZyB7XG4gICAgICBmaWxsOiAjNGE0YTRhOyB9XG4gICAgLmNvbnRhY3QtaW5mb19fY29udGFjdCB1bCBsaSBhIC5obnktc3ZnIHtcbiAgICAgIGZpbGw6ICNlZDFjMmU7XG4gICAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLmNvbnRhY3QtaW5mb19fY29udGFjdCB1bCBsaSBhOmZvY3VzIC5obnktc3ZnLCAuY29udGFjdC1pbmZvX19jb250YWN0IHVsIGxpIGE6aG92ZXIgLmhueS1zdmcge1xuICAgICAgZmlsbDogIzBhMGEwYTsgfVxuXG4uY29udGFjdC1pbmZvX19jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5jb250YWN0LWluZm9fX2NvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jb250YWN0LXVzX19zaWRlYmFyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9IH1cblxuLmNvbnRhY3QtdXNfX3NpZGViYXIgdWwge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgLmNvbnRhY3QtdXNfX3NpZGViYXIgdWwgdWwge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmNvbnRhY3QtdXNfX21hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5jb250YWN0LXVzX19tYXAgPiBkaXYge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgxMCwgMTAsIDEwLCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4wOCk7IH1cblxuLmNvbnRlbnQtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbjogMCAtMC41cmVtOyB9XG4gIC5jb250ZW50LWdyaWQgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRlbnQtZ3JpZC0tMyAuY29udGVudC1ncmlkX19pdGVtIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgLmNvbnRlbnQtZ3JpZC0tMyAuY29udGVudC1ncmlkX19pdGVtOm50aC1jaGlsZCgzbis0KSwgLmNvbnRlbnQtZ3JpZC0tMyAuY29udGVudC1ncmlkX19pdGVtOm50aC1jaGlsZCgzbis1KSwgLmNvbnRlbnQtZ3JpZC0tMyAuY29udGVudC1ncmlkX19pdGVtOm50aC1jaGlsZCgzbis2KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250ZW50LWdyaWQtLTQgLmNvbnRlbnQtZ3JpZF9faXRlbSB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgICAgIC5jb250ZW50LWdyaWQtLTQgLmNvbnRlbnQtZ3JpZF9faXRlbTpudGgtY2hpbGQoNG4rNSksIC5jb250ZW50LWdyaWQtLTQgLmNvbnRlbnQtZ3JpZF9faXRlbTpudGgtY2hpbGQoNG4rNiksIC5jb250ZW50LWdyaWQtLTQgLmNvbnRlbnQtZ3JpZF9faXRlbTpudGgtY2hpbGQoNG4rNyksIC5jb250ZW50LWdyaWQtLTQgLmNvbnRlbnQtZ3JpZF9faXRlbTpudGgtY2hpbGQoNG4rOCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cbiAgLmNvbnRlbnQtZ3JpZF9faXRlbSB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmNvbnRlbnQtZ3JpZF9faXRlbTpudGgtY2hpbGQoMm4rMyksIC5jb250ZW50LWdyaWRfX2l0ZW06bnRoLWNoaWxkKDJuKzQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfSB9XG4gIC5jb250ZW50LWdyaWRfX2l0ZW0tbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5jb250ZW50LWdyaWRfX2l0ZW0tbGluazpmb2N1cywgLmNvbnRlbnQtZ3JpZF9faXRlbS1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gIC5jb250ZW50LWdyaWRfX2l0ZW0taW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jb250ZW50LWdyaWRfX2l0ZW0taW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjIpOyB9XG4gICAgLmNvbnRlbnQtZ3JpZF9faXRlbS1pbWFnZSA+IC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMC41cmVtO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZpbGw6ICMwYTBhMGE7IH1cbiAgLmNvbnRlbnQtZ3JpZF9faXRlbS1kb3dubG9hZCAuaG55LXN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBmaWxsOiAjZmVmZWZlO1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNXB4IDEwcHggcmdiYSgxMSwgMjcsIDM4LCAwLjQpKTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICAgIHN0cm9rZTogI2U2ZTZlNjtcbiAgICBzdHJva2Utd2lkdGg6IDAuMjU7IH1cbiAgLmNvbnRlbnQtZ3JpZF9faXRlbS10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAuY29udGVudC1ncmlkX19pdGVtLXRpdGxlIHNwYW4sXG4gICAgLmNvbnRlbnQtZ3JpZF9faXRlbS10aXRsZSAuaG55LXN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmNvbnRlbnQtZ3JpZF9faXRlbS10aXRsZSAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGZpbGw6ICNlZDFjMmU7IH1cblxuLmRvY3VtZW50LWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDAgLTFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmRvY3VtZW50LWxpc3Qge1xuICAgICAgbWluLWhlaWdodDogMjgwcHg7IH0gfVxuICAuZG9jdW1lbnQtbGlzdF9faXRlbSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIC5kb2N1bWVudC1saXN0X19pdGVtICsgLmRvY3VtZW50LWxpc3RfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gICAgLmRvY3VtZW50LWxpc3RfX2l0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50LWxpc3RfX2l0ZW0gPiBhIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfSB9XG4gICAgICAuZG9jdW1lbnQtbGlzdF9faXRlbSA+IGEgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAjZWQxYzJlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgICAgLmRvY3VtZW50LWxpc3RfX2l0ZW0gPiBhOmZvY3VzIC5obnktc3ZnLCAuZG9jdW1lbnQtbGlzdF9faXRlbSA+IGE6aG92ZXIgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAjMGEwYTBhOyB9XG5cbi5mcm9udC1mZWF0dXJlIC5sLWJsb2NrIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5mcm9udC1mZWF0dXJlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uZnJvbnQtZmVhdHVyZV9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZyb250LWZlYXR1cmVfX2J1dHRvbiB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgLmZyb250LWZlYXR1cmVfX2J1dHRvbiA+IGEgLmhueS1zdmcge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDsgfVxuXG4uZnJvbnQtZmVhdHVyZV9fY29sdW1uIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG4gIC5mcm9udC1mZWF0dXJlX19jb2x1bW4gKyAuZnJvbnQtZmVhdHVyZV9fY29sdW1uIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1mZWF0dXJlX19jb2x1bW4gKyAuZnJvbnQtZmVhdHVyZV9fY29sdW1uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5mcm9udC1mZWF0dXJlX19wb3N0IHtcbiAgYmFja2dyb3VuZDogIzJhMmEyYTsgfVxuICAuZnJvbnQtZmVhdHVyZV9fcG9zdCBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uZnJvbnQtZmVhdHVyZV9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZmxleDogMSAwIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmZyb250LWZlYXR1cmVfX2l0ZW0ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmZyb250LWZlYXR1cmVfX2l0ZW0gLmdyaWQteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtOyB9XG4gICAgLmZyb250LWZlYXR1cmVfX2l0ZW0gLmdyaWQteCAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuXG4uZnJvbnQtZmVhdHVyZV9faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZyb250LWZlYXR1cmVfX2ltYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuZnJvbnQtZmVhdHVyZV9faW1hZ2UgZmlndXJlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5mcm9udC1pbnRybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxOyB9XG4gIC5mcm9udC1pbnRybyAubC1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuZnJvbnQtaW50cm8gLmJ1bGxldC1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMTExLjg3NSU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZnJvbnQtaW50cm8gLmJ1bGxldC1saXN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNDAuNjI1JTsgfSB9XG4gIC5mcm9udC1pbnRyb19faGVhZGluZyB7XG4gICAgY29sb3I6ICNlNmU2ZTY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZyb250LWludHJvX19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjI3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmZyb250LWludHJvX19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjI1cmVtOyB9IH1cbiAgLmZyb250LWludHJvIC5pbnRyby1saW5rcyB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuXG4uZnJvbnQtcG9zdHNfX2NvbHVtbiArIC5mcm9udC1wb3N0c19fY29sdW1uIHtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mcm9udC1wb3N0c19fY29sdW1uICsgLmZyb250LXBvc3RzX19jb2x1bW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5nZHByIHtcbiAgbWFyZ2luOiAxLjVyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nZHByX19ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH0gfVxuICAuZ2Rwcl9fYm94ICsgLmdkcHJfX2JveCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5nZHByX19ib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgICAgZmxleDogMSAxOyB9XG4gICAgICAuZ2Rwcl9fYm94ICsgLmdkcHJfX2JveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuZ2Rwcl9fYm94ID4gYSxcbiAgLmdkcHJfX2JveCA+IGJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDE0cHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpLCAwIDNweCA2cHggcmdiYSgxMCwgMTAsIDEwLCAwLjA4KTtcbiAgICBmbGV4OiAxIDE7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmdkcHJfX2JveCA+IGEgc3ZnLFxuICAgIC5nZHByX19ib3ggPiBidXR0b24gc3ZnIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gICAgICBmaWxsOiAjZWQxYzJlOyB9XG4gICAgLmdkcHJfX2JveCA+IGE6Zm9jdXMsIC5nZHByX19ib3ggPiBhOmhvdmVyLFxuICAgIC5nZHByX19ib3ggPiBidXR0b246Zm9jdXMsXG4gICAgLmdkcHJfX2JveCA+IGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICNlZDFjMmU7IH1cblxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgaDIsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIGgzIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cblxuLmdkcHItbm90aWNlICsgaDMge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5nZHByLW5vdGljZSArIGgzICsgZm9ybSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZ2Rwci1kb3dubG9hZC1idXR0b24gKyAuZ2Rwci1leHBvcnQtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbi5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b24sIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzXG4jZ2Rwci1zdWJtaXQsXG4jZ2Rwci1zdWJtaXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxYzJlO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogI2VkMWMyZTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29sc1xuICAjZ2Rwci1zdWJtaXQsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXVxuICAjZ2Rwci1zdWJtaXQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbjpob3ZlciwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHNcbiAgI2dkcHItc3VibWl0OmhvdmVyLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uOmZvY3VzLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29sc1xuICAjZ2Rwci1zdWJtaXQ6Zm9jdXMsXG4gICNnZHByLXN1Ym1pdDpob3ZlcixcbiAgI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE0YTRhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b246Zm9jdXMsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzXG4gICNnZHByLXN1Ym1pdDpmb2N1cywgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbjpob3ZlciwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHNcbiAgI2dkcHItc3VibWl0OmhvdmVyLFxuICAjZ2Rwci1zdWJtaXQ6Zm9jdXMsXG4gICNnZHByLXN1Ym1pdDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNlZDFjMmU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbjpiZWZvcmUsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzXG4gICNnZHByLXN1Ym1pdDpiZWZvcmUsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b246YWZ0ZXIsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzXG4gICNnZHByLXN1Ym1pdDphZnRlcixcbiAgI2dkcHItc3VibWl0OmJlZm9yZSxcbiAgI2dkcHItc3VibWl0OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG5cbi5oZWFkZXItdXRpbGl0eSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDM1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDEwLCAxMCwgMTAsIDAuMTUpOyB9XG4gIC5oYXMtbm90aWZpY2F0aW9uLWJhciAuaGVhZGVyLXV0aWxpdHkge1xuICAgIHRvcDogNDVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGFzLW5vdGlmaWNhdGlvbi1iYXIgLmhlYWRlci11dGlsaXR5IHtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVhZGVyLXV0aWxpdHkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5oZWFkZXItdXRpbGl0eSAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5oZWFkZXItdXRpbGl0eV9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbXMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlYWRlci11dGlsaXR5X19pdGVtIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG4gIC5oZWFkZXItdXRpbGl0eV9faXRlbSArIC5oZWFkZXItdXRpbGl0eV9faXRlbSB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNGE0YTRhOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbSArIC5oZWFkZXItdXRpbGl0eV9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlYWRlci11dGlsaXR5X19pdGVtLS1jb250YWN0LXVzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbS0tbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci11dGlsaXR5X19pdGVtLS1tZW51LmhlYWRlci11dGlsaXR5X19pdGVtID4gYSB7XG4gICAgYmFja2dyb3VuZDogI2VkMWMyZTsgfVxuICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbS0tbWVudS5oZWFkZXItdXRpbGl0eV9faXRlbSA+IGE6Zm9jdXMsIC5oZWFkZXItdXRpbGl0eV9faXRlbS0tbWVudS5oZWFkZXItdXRpbGl0eV9faXRlbSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2I4MGYxZDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLW1lbnUuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gPiBhOmZvY3VzIC5obnktc3ZnLCAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLW1lbnUuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gPiBhOmhvdmVyIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogI2ZlZmVmZTsgfVxuICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2U2ZTZlNjtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogIzJhMmEyYTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIyLjVlbSkge1xuICAgICAgLmhlYWRlci11dGlsaXR5X19pdGVtID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDA7IH0gfVxuICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbSA+IGEgc3BhbixcbiAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gPiBhIC5obnktc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gPiBhIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgZmlsbDogI2U2ZTZlNjtcbiAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gPiBhOmZvY3VzIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogI2VkMWMyZTsgfVxuICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbSA+IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNlZDFjMmU7IH1cbiAgICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbSA+IGE6aG92ZXIgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAjZWQxYzJlOyB9XG4gIC5oZWFkZXItdXRpbGl0eV9faXRlbS5hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI2VkMWMyZTsgfVxuICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbS5hY3RpdmUgPiBhIC5obnktc3ZnIHtcbiAgICAgIGZpbGw6ICNlZDFjMmU7IH1cbiAgLmhlYWRlci11dGlsaXR5X19pdGVtLmlzLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgLmhlYWRlci11dGlsaXR5X19pdGVtLmlzLWFjdGl2ZSA+IGEgLmhueS1zdmcge1xuICAgICAgZmlsbDogI2VkMWMyZTsgfVxuXG4uaGVyby1zbGlkZXIge1xuICBiYWNrZ3JvdW5kOiAjMmEyYTJhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm8tc2xpZGVyIC5zbGljay1hcnJvdyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJsaXR5OiBoaWRkZW47XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm8tc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG4gIC5oZXJvLXNsaWRlcl9faXRlbSB7XG4gICAgbWluLWhlaWdodDogNDUwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlcm8tc2xpZGVyX19pdGVtIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDY2dnc7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVyby1zbGlkZXJfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTB2dzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgIC5oZXJvLXNsaWRlcl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHZ3OyB9IH1cbiAgICAuaGVyby1zbGlkZXJfX2l0ZW0gPiBmaWd1cmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5oZXJvLXNsaWRlcl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnNsaWNrLWluaXRpYWxpemVkIC5oZXJvLXNsaWRlcl9fY29udGVudCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5oZXJvLXNsaWRlcl9faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIHRleHQtc2hhZG93OiAwIDE4cHggMTQwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpLCAwIDVweCAxNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuICAgIC5oZXJvLXNsaWRlcl9faGVhZGluZyArIC5oZXJvLXNsaWRlcl9fY3RhIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAuaGVyby1zbGlkZXJfX2N0YSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAxOHB4IDE0MHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KSwgMCA1cHggMTVweCByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVyby1zbGlkZXJfX2N0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVyby1zbGlkZXJfX2N0YSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA0cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5oZXJvLXNsaWRlcl9fY3RhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAuaGVyby1zbGlkZXJfX2N0YTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogOTUlO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhlcm8tc2xpZGVyX19jdGE6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogNzUlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmhlcm8tc2xpZGVyX19jdGE6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogODAlOyB9IH1cbiAgICAuaGVyby1zbGlkZXJfX2N0YSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgYmFja2dyb3VuZDogIzRiM2YzNDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm94LXNoYWRvdzogMCAxOHB4IDE0MHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjE1KTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVyby1zbGlkZXJfX2N0YSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTsgfSB9XG4gICAgICAuaGVyby1zbGlkZXJfX2N0YSBhOmZvY3VzLCAuaGVyby1zbGlkZXJfX2N0YSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzJhMmEyYTsgfVxuICAgICAgLmhlcm8tc2xpZGVyX19jdGEgYSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwLjEyNWVtOyB9XG4gICAgICAuaGVyby1zbGlkZXJfX2N0YSBhIC5obnktc3ZnIHtcbiAgICAgICAgd2lkdGg6IDAuNWVtO1xuICAgICAgICBoZWlnaHQ6IDAuNWVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cblxuLmluZHVzdHJ5LXJlc291cmNlc19faXRlbSArIC5pbmR1c3RyeS1yZXNvdXJjZXNfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5pbmR1c3RyeS1yZXNvdXJjZXNfX2hlYWRpbmcgPiBhIHNwYW4sXG4uaW5kdXN0cnktcmVzb3VyY2VzX19oZWFkaW5nID4gYSAuaG55LXN2ZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5kdXN0cnktcmVzb3VyY2VzX19oZWFkaW5nID4gYSAuaG55LXN2ZyB7XG4gIGZpbGw6ICNlZDFjMmU7IH1cblxuLmluZHVzdHJ5LXJlc291cmNlc19faGVhZGluZyA+IGE6Zm9jdXMgLmhueS1zdmcsIC5pbmR1c3RyeS1yZXNvdXJjZXNfX2hlYWRpbmcgPiBhOmhvdmVyIC5obnktc3ZnIHtcbiAgZmlsbDogIzBhMGEwYTsgfVxuXG4uaW5mby1tb2RhbCB7XG4gIHBhZGRpbmc6IDNyZW0gMCAycmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmluZm8tbW9kYWwge1xuICAgICAgcGFkZGluZzogM3JlbSAycmVtIDJyZW07IH0gfVxuICAuaW5mby1tb2RhbF9faW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaW5mby1tb2RhbF9fdGl0bGUge1xuICAgIGNvbG9yOiAjZWQxYzJlOyB9XG5cbi5pbnRyby1saW5rcyAuY2VsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5pbnRyby1saW5rcyAuY2VsbDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgLmludHJvLWxpbmtzIC5jZWxsICsgLmNlbGwge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaW50cm8tbGlua3MgLmNlbGwgKyAuY2VsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuaW50cm8tbGlua3MgLmNlbGwgLnZpZGVvLWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDAuNXJlbSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5pbnRyby1saW5rcyAuY2VsbCAudmlkZW8tbGluayB7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMS41cmVtKTsgfSB9XG4gICAgLmludHJvLWxpbmtzIC5jZWxsIC52aWRlby1saW5rIHN2ZyB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuLmludHJvLWxpbmtzX19waG90byB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmludHJvLWxpbmtzX19waG90byA+IGRpdiB7XG4gICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgxMCwgMTAsIDEwLCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4wOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmludHJvLWxpbmtzX19waG90byA+IGRpdiB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIC5pbnRyby1saW5rc19fcGhvdG8gZmlndXJlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4uaW50cm8tbGlua3NfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pbnRyby1saW5rc19faXRlbTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgIGNvbG9yOiAjZWQxYzJlOyB9XG5cbi5pbnRyby1saW5rc19fYmFubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFyZW07XG4gIGxlZnQ6IC0yLjVyZW07XG4gIHdpZHRoOiAxMHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkMWMyZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtIDAuMjVyZW0gMC4ycmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5pbnRyby1saW5rcyBoMyB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cblxuLmludHJvLWxpbmtzX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5pbnRyby1saW5rc19fbGluayBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjEzNzVlbTsgfVxuICAuaW50cm8tbGlua3NfX2xpbmsgLmhueS1zdmcge1xuICAgIHdpZHRoOiAwLjY3NWVtO1xuICAgIGhlaWdodDogMC42NzVlbTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5pbnRyby1saW5rc19fbGluayAuaG55LXN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubGVnYWwtbmF2X19pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG4ubGVnYWwtbmF2X19pdGVtICsgLmxlZ2FsLW5hdl9faXRlbSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sZWdhbC1uYXZfX2l0ZW0gKyAubGVnYWwtbmF2X19pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0gfVxuXG4ubGlzdGluZy0tcG9zdCAubGlzdGluZ19fZ3JpZC1jb250YWluZXIgKyAubGlzdGluZ19fZ3JpZC1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC5saXN0aW5nLS1wb3N0IC5saXN0aW5nX19ncmlkLWNvbnRhaW5lciArIC5saXN0aW5nX19ncmlkLWNvbnRhaW5lciBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5saXN0aW5nLS1wb3N0IC5saXN0aW5nX19ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAtMXJlbTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9IH1cblxuLmxpc3RpbmctLXBvc3QgLmxpc3RpbmdfX2dyaWQgPiAubGlzdGluZ19faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5saXN0aW5nLS1wb3N0IC5saXN0aW5nX19ncmlkID4gLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICBmbGV4OiAwIDAgNTAlOyB9XG4gICAgICAubGlzdGluZy0tcG9zdCAubGlzdGluZ19fZ3JpZCA+IC5saXN0aW5nX19pdGVtOm50aC1jaGlsZCg2bis1KSwgLmxpc3RpbmctLXBvc3QgLmxpc3RpbmdfX2dyaWQgPiAubGlzdGluZ19faXRlbTpudGgtY2hpbGQoNm4rNikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5saXN0aW5nLS1wb3N0IC5saXN0aW5nX19jb2x1bW4gKyAubGlzdGluZ19fY29sdW1uIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGlzdGluZy0tcG9zdCAubGlzdGluZ19fY29sdW1uIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgZmxleDogMCAwIDUwJTsgfSB9XG5cbi5saXN0aW5nLS1wb3N0IC5saXN0aW5nX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubGlzdGluZy0tcG9zdCAubGlzdGluZ19faXRlbSAucG9zdF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tcG9zdCAubGlzdGluZ19faXRlbTpub3QoLmxpc3RpbmdfX2l0ZW0tLWZlYXR1cmUpIC5wb3N0X190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLmxpc3RpbmctLXByb2R1Y3QgLmxpc3RpbmdfX2l0ZW06bGFzdC1jaGlsZCAubC1ibG9jayB7XG4gIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9XG5cbi5uby1wYWdpbmF0aW9uIC5saXN0aW5nLS1zZWFyY2gge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG5cbi5saXN0aW5nLS1zZWFyY2ggLmxpc3RpbmdfX2l0ZW0gcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubGlzdGluZy0tc2VhcmNoIC5saXN0aW5nX19pdGVtICsgLmxpc3RpbmdfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmxpc3RpbmctLXNlYXJjaCAubGlzdGluZ19faXRlbS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5saXN0aW5nLS1zZWFyY2ggLmxpc3RpbmdfX2l0ZW0tdGl0bGUtLWhhcy1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgLmxpc3RpbmctLXNlYXJjaCAubGlzdGluZ19faXRlbS10aXRsZS0taGFzLWljb24gLmhueS1zdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICAgIGZpbGw6ICNlZDFjMmU7IH1cbiAgICAubGlzdGluZy0tc2VhcmNoIC5saXN0aW5nX19pdGVtLXRpdGxlLS1oYXMtaWNvbiA+IGE6Zm9jdXMgLmhueS1zdmcsIC5saXN0aW5nLS1zZWFyY2ggLmxpc3RpbmdfX2l0ZW0tdGl0bGUtLWhhcy1pY29uID4gYTpob3ZlciAuaG55LXN2ZyB7XG4gICAgICBmaWxsOiAjMGEwYTBhOyB9XG5cbi5saXN0aW5nLS1zZWFyY2ggLmxpc3RpbmdfX2l0ZW0tY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubGlzdGluZ19faXRlbS0tcHJvZHVjdC0td2lyZTpudGgtY2hpbGQoZXZlbikgLnByb2R1Y3RfX2NvbnRlbnQgLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgb3JkZXI6IC0xOyB9IH1cblxuLmxvYWRlci1vdmVybGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDc1LCA2MywgNTIsIDAuOCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiB3YWl0O1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbmJvZHkgPiAubG9hZGVyLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDsgfVxuXG5ib2R5LmlzLWxvYWRpbmcgPiAubG9hZGVyLW92ZXJsYXkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5sb2FkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmxvYWRlciA+IGRpdiB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGFuaW1hdGlvbjogb3BhY2l0eURlbGF5IDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDsgfVxuICAgIC5sb2FkZXIgPiBkaXYgKyBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDsgfVxuICAubG9hZGVyIC5ib3VuY2UxIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMyczsgfVxuICAubG9hZGVyIC5ib3VuY2UyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2czsgfVxuXG5Aa2V5ZnJhbWVzIG9wYWNpdHlEZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLm92ZXJsYXkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDc1LCA2MywgNTIsIDAuOCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IHdhaXQ7XG4gIHotaW5kZXg6IDEwMDAwOyB9XG4gIC5pcy1sb2FkaW5nIC5vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAgLmlzLWxvYWRpbmcgLm92ZXJsYXkgLmxvYWRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAub3ZlcmxheV9faW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgcGFkZGluZzogMCAycmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5vdmVybGF5IC5sb2FkZXIgPiBkaXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZDFjMmU7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4OyB9XG5cbi5sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmxvZ28gaW1nIHtcbiAgICB3aWR0aDogMjAwcHg7IH1cblxuLm1vYmlsZS1uYXYgdWwge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1vYmlsZS1uYXYgdWwgbGkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogI2U2ZTZlNjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5tb2JpbGUtbmF2IHVsIGxpID4gYTpmb2N1cywgLm1vYmlsZS1uYXYgdWwgbGkgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgICAubW9iaWxlLW5hdiB1bCBsaSA+IGE6Zm9jdXMgLmhueS1zdmcsIC5tb2JpbGUtbmF2IHVsIGxpID4gYTpob3ZlciAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6ICNlZDFjMmU7IH1cbiAgICAubW9iaWxlLW5hdiB1bCBsaSA+IGEgc3BhbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7IH1cbiAgICAubW9iaWxlLW5hdiB1bCBsaSA+IGEgLmhueS1zdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBmaWxsOiAjZTZlNmU2O1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAubW9iaWxlLW5hdiB1bCBsaS5hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI2VkMWMyZTsgfVxuICAgIC5tb2JpbGUtbmF2IHVsIGxpLmFjdGl2ZSA+IGEgLmhueS1zdmcge1xuICAgICAgZmlsbDogI2VkMWMyZTsgfVxuICAgIC5tb2JpbGUtbmF2IHVsIGxpLmFjdGl2ZSA+IGE6YWZ0ZXIsIC5tb2JpbGUtbmF2IHVsIGxpLmFjdGl2ZSA+IGE6Zm9jdXM6YWZ0ZXIsIC5tb2JpbGUtbmF2IHVsIGxpLmFjdGl2ZSA+IGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2VkMWMyZTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2VkMWMyZTsgfVxuXG4ubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLm1vYmlsZS1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51IGxpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyB9XG4gIC5tb2JpbGUtbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5tb2JpbGUtbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUgbGkge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgLmpzLWRyaWxsZG93bi1iYWNrID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgLmpzLWRyaWxsZG93bi1iYWNrID4gYTpmb2N1cywgLm1vYmlsZS1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51IC5qcy1kcmlsbGRvd24tYmFjayA+IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNlZDFjMmU7IH1cbiAgICAgIC5tb2JpbGUtbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudSAuanMtZHJpbGxkb3duLWJhY2sgPiBhOmZvY3VzOmJlZm9yZSwgLm1vYmlsZS1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51IC5qcy1kcmlsbGRvd24tYmFjayA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2VkMWMyZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZWQxYzJlOyB9XG4gICAgLm1vYmlsZS1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51IC5qcy1kcmlsbGRvd24tYmFjayA+IGE6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2ZlZmVmZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gIC5tb2JpbGUtbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9XG4gICAgLm1vYmlsZS1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMS4yNXJlbTtcbiAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZTZlNmU2O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2U2ZTZlNjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5tb2JpbGUtbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmZvY3VzOmFmdGVyLCAubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTpob3ZlcjphZnRlciB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZWQxYzJlO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZWQxYzJlOyB9XG5cbi5ub3RpZmljYXRpb24tYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5OTg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogI2RmMmEwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGJveC1zaGFkb3c6IDAgMThweCAzNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjE1KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ub3RpZmljYXRpb24tYmFyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIC5ub3RpZmljYXRpb24tYmFyIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm5vdGlmaWNhdGlvbi1iYXIgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5ub3RpZmljYXRpb24tYmFyIGE6Zm9jdXMsIC5ub3RpZmljYXRpb24tYmFyIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgLm5vdGlmaWNhdGlvbi1iYXIgYSBzbWFsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAubm90aWZpY2F0aW9uLWJhciBzdmcge1xuICAgIGZpbGw6ICNmZWZlZmU7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4ucG9zdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMSAwIGF1dG87IH1cbiAgLnBvc3RfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLnBvc3RfX2ltYWdlIGZpZ3VyZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG4gIC5wb3N0X19ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmZyb250LXBvc3RzIC5wb3N0X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgIC5mcm9udC1wb3N0cyAucG9zdF9fdGl0bGUgPiBhIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAuZnJvbnQtcG9zdHMgLnBvc3RfX3RpdGxlID4gYTpmb2N1cywgLmZyb250LXBvc3RzIC5wb3N0X190aXRsZSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2VkMWMyZTsgfVxuICAucG9zdF9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMC4ycmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgLmZyb250LXBvc3RzIC5wb3N0X19jb250ZW50IC5wb3N0X190aXRsZTpmb2N1cywgLmZyb250LXBvc3RzIC5wb3N0X19jb250ZW50IC5wb3N0X190aXRsZTpob3ZlciB7XG4gICAgICBjb2xvcjogI2VkMWMyZTsgfVxuICAgIC5mcm9udC1wb3N0cyAucG9zdF9fY29udGVudCAud3lzaXd5ZyB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnBvc3RfX2NvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBvc3RfX2RhdGUsIC5wb3N0X19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtOyB9XG4gIC5wb3N0X19pY29uIC5obnktc3ZnIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgZmlsbDogI2VkMWMyZTsgfVxuICAgIC5ob21lIC5wb3N0X19pY29uIC5obnktc3ZnIHtcbiAgICAgIGZpbGw6ICNmZWZlZmU7IH1cbiAgLnBvc3RfX2RhdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZDogI2VkMWMyZTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAucG9zdF9fZGF0ZSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOTsgfVxuICAgIC5wb3N0X19kYXRlX19kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnBvc3RfX2RhdGVfX21vbnRoIHtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wb3N0X19kYXRlX195ZWFyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnBvc3QgLnJlYWQtbW9yZSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wb3N0IC5yZWFkLW1vcmUgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLnBvc3QgLnJlYWQtbW9yZSA+IGEgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwLjEzNzVlbTsgfVxuICAgICAgLnBvc3QgLnJlYWQtbW9yZSA+IGEgLmhueS1zdmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cblxuLnBvc3RzLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogIzJhMmEyYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAucG9zdHMtYmxvY2tfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW0gMDsgfVxuICAucG9zdHMtYmxvY2tfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAucG9zdHMtYmxvY2tfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuICAucG9zdHMtYmxvY2tfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIDQ1cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbi1yaWdodDogLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZWQxYzJlO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDsgfVxuXG4ucHJpbWFyeS1uYXZfX3N1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDI4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpIHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjI1cztcbiAgcGVyc3BlY3RpdmU6IDIwMDBweDtcbiAgYmFja2dyb3VuZDogIzJhMmEyYTtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDE0MHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjE1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5wcmltYXJ5LW5hdl9fc3VibWVudTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gICAgdG9wOiAtN3B4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IDdweCBzb2xpZCAjMmEyYTJhO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLnByaW1hcnktbmF2X19zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgLnByaW1hcnktbmF2X19zdWJtZW51LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLnByaW1hcnktbmF2X19zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLnByaW1hcnktbmF2X19zdWJtZW51LWl0ZW0gPiBhOmZvY3VzLCAucHJpbWFyeS1uYXZfX3N1Ym1lbnUtaXRlbSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2VkMWMyZTsgfVxuICAgIC5wcmltYXJ5LW5hdl9fc3VibWVudS1pdGVtLmFjdGl2ZSA+IGEge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogI2VkMWMyZTsgfVxuICAgIC5wcmltYXJ5LW5hdl9fc3VibWVudS1pdGVtICsgLnByaW1hcnktbmF2X19zdWJtZW51LWl0ZW0ge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4xKTsgfVxuXG4ucHJpbWFyeS1uYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByaW1hcnktbmF2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnByaW1hcnktbmF2IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wcmltYXJ5LW5hdl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnByaW1hcnktbmF2X19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuICAgIC5wcmltYXJ5LW5hdl9faXRlbSArIC5wcmltYXJ5LW5hdl9faXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAxO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjZTZlNmU2O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgLnByaW1hcnktbmF2X19pdGVtID4gYSAuaG55LXN2ZyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGZpbGw6ICNlNmU2ZTY7XG4gICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAgICAgLnByaW1hcnktbmF2X19pdGVtID4gYSAuaG55LXN2ZyArIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAgICAgLnByaW1hcnktbmF2X19pdGVtID4gYSBzcGFuIC5obnktc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDsgfVxuICAgICAgLnByaW1hcnktbmF2X19pdGVtID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGE6Zm9jdXMgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6ICNlZDFjMmU7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2VkMWMyZTsgfVxuICAgICAgICAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhOmhvdmVyIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAjZWQxYzJlOyB9XG4gICAgLnByaW1hcnktbmF2X19pdGVtLmFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICNlZDFjMmU7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS5hY3RpdmUgPiBhIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogI2VkMWMyZTsgfVxuICAgIC5wcmltYXJ5LW5hdl9faXRlbS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0uaXMtYWN0aXZlID4gYSAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6ICNlZDFjMmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpsYXN0LWNoaWxkIC5wcmltYXJ5LW5hdl9fc3VibWVudSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpsYXN0LWNoaWxkIC5wcmltYXJ5LW5hdl9fc3VibWVudTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnByaW1hcnktbmF2X19pdGVtLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Omxhc3QtY2hpbGQgLnByaW1hcnktbmF2X19zdWJtZW51OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzJweDsgfSB9XG5cbi5wcm9kdWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wcm9kdWN0LS1waG90by1ib3R0b20gLmwtYmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LS1waG90by1ib3R0b20gLnByb2R1Y3RfX2NvbnRlbnQgLnByb2R1Y3RfX3Bob3RvIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LS1waG90by1ib3R0b20gLnByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5wcm9kdWN0LS1waG90by1ib3R0b20gLnByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgLnByb2R1Y3RfX2NvbnRlbnQtZ3JvdXAgKyAucHJvZHVjdF9fY29udGVudC1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5wcm9kdWN0X19waG90byBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wcm9kdWN0X19jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdF9fY29udGVudCAuZ3JpZC1jb250YWluZXIgKyAuZ3JpZC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLnByb2R1Y3RfX2NvbnRlbnQgLmdyaWQtY29udGFpbmVyIC5jZWxsICsgLmNlbGwge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3RfX2NvbnRlbnQgLmdyaWQtY29udGFpbmVyIC5jZWxsICsgLmNlbGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLnByb2R1Y3QgLnZpZGVvLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5wcm9kdWN0IC52aWRlby1saW5rIGZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExNSU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZWZlZmU7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgxMCwgMTAsIDEwLCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4wOCk7IH1cbiAgICAgIC5wcm9kdWN0IC52aWRlby1saW5rIGZpZ3VyZSAuaG55LXN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMzJweDtcbiAgICAgICAgZmlsbDogI2ZlZmVmZTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMTEsIDI3LCAzOCwgMC4yKSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAucmVzb3VyY2VzIC5sLXByaW1hcnkge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuLnNlYXJjaC1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgLnNlYXJjaC1oZWFkZXJfX2NvdW50IHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIC5zZWFyY2gtaGVhZGVyX19jb3VudCBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI3NlYXJjaC1wYW5lbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAjc2VhcmNoLXBhbmVsIC5jbG9zZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICNzZWFyY2gtcGFuZWwgLmNsb3NlLWJ1dHRvbiBzcGFuLFxuICAgICNzZWFyY2gtcGFuZWwgLmNsb3NlLWJ1dHRvbiAuaG55LXN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgI3NlYXJjaC1wYW5lbCAuY2xvc2UtYnV0dG9uIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4OyB9XG4gICAgI3NlYXJjaC1wYW5lbCAuY2xvc2UtYnV0dG9uOmZvY3VzLCAjc2VhcmNoLXBhbmVsIC5jbG9zZS1idXR0b246aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgI3NlYXJjaC1wYW5lbCAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZWQxYzJlOyB9XG4gICAgICAjc2VhcmNoLXBhbmVsIC5jbG9zZS1idXR0b246aG92ZXIgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAjZWQxYzJlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3NlYXJjaC1wYW5lbCB7XG4gICAgICBtYXgtd2lkdGg6IDMzdnc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzN2dyk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgI3NlYXJjaC1wYW5lbCB7XG4gICAgICBtYXgtd2lkdGg6IDI1dnc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjV2dyk7IH0gfVxuICAjc2VhcmNoLXBhbmVsLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xNSk7IH1cbiAgI3NlYXJjaC1wYW5lbC5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnNlY3Rpb24tbmF2IHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgLnJlc291cmNlcyAuc2VjdGlvbi1uYXYge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJlc291cmNlcyAuc2VjdGlvbi1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1uYXYtLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnNlY3Rpb24tbmF2LS1kZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnNlY3Rpb24tbmF2LS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnNlY3Rpb24tbmF2LS1kZXNrdG9wIC5zdWItbmF2X19pdGVtcyA+IC5zdWItbmF2X19pdGVtLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5zZWN0aW9uLW5hdi0tZGVza3RvcCAuc3ViLW5hdiAuc3ViLW5hdl9fc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgICAgLnNlY3Rpb24tbmF2LS1kZXNrdG9wIC5zdWItbmF2IC5zdWItbmF2X19zdWJtZW51IC5zdWItbmF2X19pdGVtICsgLnN1Yi1uYXZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgICAgLnNlY3Rpb24tbmF2LS1kZXNrdG9wIC5zdWItbmF2IC5zdWItbmF2X19zdWJtZW51IC5zdWItbmF2X19pdGVtID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuc2VjdGlvbi1uYXYtLWRlc2t0b3AgLnN1Yi1uYXYgLnN1Yi1uYXZfX3N1Ym1lbnUgLnN1Yi1uYXZfX2l0ZW0gPiBhIC5obnktc3ZnIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgICAgICAgZmlsbDogI2NlY2VjZTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgICAgLnNlY3Rpb24tbmF2LS1kZXNrdG9wIC5zdWItbmF2IC5zdWItbmF2X19zdWJtZW51IC5zdWItbmF2X19pdGVtLmFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogI2VkMWMyZTsgfVxuICAgICAgICAuc2VjdGlvbi1uYXYtLWRlc2t0b3AgLnN1Yi1uYXYgLnN1Yi1uYXZfX3N1Ym1lbnUgLnN1Yi1uYXZfX2l0ZW0uYWN0aXZlID4gYSAuaG55LXN2ZyB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBmaWxsOiAjZWQxYzJlOyB9XG4gICAgICAuc2VjdGlvbi1uYXYtLWRlc2t0b3AgLnN1Yi1uYXYgLnN1Yi1uYXZfX3N1Ym1lbnUgLnN1Yi1uYXZfX2l0ZW06Zm9jdXMgLmhueS1zdmcsIC5zZWN0aW9uLW5hdi0tZGVza3RvcCAuc3ViLW5hdiAuc3ViLW5hdl9fc3VibWVudSAuc3ViLW5hdl9faXRlbTpob3ZlciAuaG55LXN2ZyB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuc2VjdGlvbi1uYXYtLWRlc2t0b3AgLnN1Yi1uYXZfX2l0ZW0gPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7IH1cbiAgICAgIC5zZWN0aW9uLW5hdi0tZGVza3RvcCAuc3ViLW5hdl9faXRlbSA+IGE6Zm9jdXMsIC5zZWN0aW9uLW5hdi0tZGVza3RvcCAuc3ViLW5hdl9faXRlbSA+IGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogI2I2YjZiNjsgfVxuICAgIC5zZWN0aW9uLW5hdi0tZGVza3RvcCAuc3ViLW5hdl9faXRlbS5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5yZXNvdXJjZXMgLnNlY3Rpb24tbmF2IC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnNlY3Rpb24tbmF2X193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlY3Rpb24tbmF2X190b2dnbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIHBhZGRpbmc6IDE0cHggNTBweCAxNHB4IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICB6LWluZGV4OiA5OTsgfVxuICAgIC5zZWN0aW9uLW5hdl9fdG9nZ2xlIC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgICBmaWxsOiAjZWQxYzJlOyB9XG4gIC5zZWN0aW9uLW5hdl9fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMzBweDtcbiAgICB6LWluZGV4OiA5ODtcbiAgICBtaW4td2lkdGg6IDIxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuaGFzLW9wZW4tc2VjdGlvbi1uYXYgLnNlY3Rpb24tbmF2X19tZW51IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7IH1cblxuLnNpdGUtZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogI2I4MGYxZDsgfVxuICAuc2l0ZS1mb290ZXJfX2NvbXBhbnktaW5mbyB7XG4gICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2ZlZmVmZTtcbiAgICBjb2xvcjogIzRhNGE0YTsgfVxuICAuc2l0ZS1mb290ZXJfX2NvbG9waG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgei1pbmRleDogOTA7IH1cblxuYnV0dG9uLmNvb2tpZS1idXR0b24ge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5zaXRlLWhlYWRlciB7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmhhcy1oZXJvIC5zaXRlLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zaXRlLWhlYWRlciAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNpdGUtaGVhZGVyX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLnNpdGUtaGVhZGVyX19sb2dvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNpdGUtaGVhZGVyX19uYXYge1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXJfX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwOyB9IH1cblxuLnNlYXJjaC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogcmdiYSg0MiwgNDIsIDQyLCAwLjk1KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAtOTk5OTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3BhY2l0eTogMDsgfVxuICAuc2VhcmNoLW92ZXJsYXkuaXMtb3BlbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk5OTk7IH1cbiAgLnNlYXJjaC1vdmVybGF5IC5zaXRlLXNlYXJjaF9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuXG4uc2l0ZS1zZWFyY2hfX2xvYWRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmlzLWxvYWRpbmcgLnNpdGUtc2VhcmNoX19sb2FkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuc2l0ZS1zZWFyY2hfX2xvYWRlciAubG9hZGVyID4gZGl2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxYzJlOyB9XG5cbi5zaXRlLXNlYXJjaF9fd3JhcHBlciB7XG4gIHBhZGRpbmc6IDIwdmggMDsgfVxuXG4uc2l0ZS1zZWFyY2hfX2Zvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnNpdGUtc2VhcmNoX19mb3JtIGJ1dHRvbiB7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTEuMTI1cmVtO1xuICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5zaXRlLXNlYXJjaF9fZm9ybSBidXR0b24gLmhueS1zdmcge1xuICAgICAgZmlsbDogI2VkMWMyZTtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4OyB9XG5cbi5zaXRlLXNlYXJjaF9faW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIuMjVyZW07IH1cblxuLnNpdGUtc2VhcmNoX19zdWJtaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG4gIC5zaXRlLXNlYXJjaF9fc3VibWl0LCAuc2l0ZS1zZWFyY2hfX3N1Ym1pdDpmb2N1cywgLnNpdGUtc2VhcmNoX19zdWJtaXQ6aG92ZXIge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnNpdGUtc2VhcmNoX19zdWJtaXQgLmhueS1zdmcge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBmaWxsOiAjZmVmZWZlOyB9XG5cbi5zaXRlLXNlYXJjaF9fY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDM2cHg7XG4gIHdpZHRoOiAzNnB4O1xuICB0b3A6IDE2cHg7XG4gIHJpZ2h0OiAxNnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNpdGUtc2VhcmNoX19jbG9zZSB7XG4gICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIHRvcDogMzJweDtcbiAgICAgIHJpZ2h0OiAzMnB4OyB9IH1cbiAgLnNpdGUtc2VhcmNoX19jbG9zZSAuaG55LXN2ZyB7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGZpbGw6ICNlZDFjMmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGUtc2VhcmNoX19jbG9zZSAuaG55LXN2ZyB7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgd2lkdGg6IDY0cHg7IH0gfVxuICAuc2l0ZS1zZWFyY2hfX2Nsb3NlOmhvdmVyIC5obnktc3ZnIHtcbiAgICBmaWxsOiAjZmVmZWZlOyB9XG5cbi5zaXRlLXNlYXJjaF9fcmVzdWx0cyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zaXRlLXNlYXJjaF9fbm8tcmVzdWx0cyB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAxcmVtIDAgMDsgfVxuICAuc2l0ZS1zZWFyY2hfX25vLXJlc3VsdHMgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zaXRlLXNlYXJjaF9fbm8tcmVzdWx0cyBwIGE6Zm9jdXMsIC5zaXRlLXNlYXJjaF9fbm8tcmVzdWx0cyBwIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnNpdGUtc2VhcmNoX19yZXN1bHRzLWxpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG5cbi5zaXRlLXNlYXJjaF9fcmVzdWx0cy1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNpdGUtc2VhcmNoX19yZXN1bHRzLWl0ZW0gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc2l0ZS1zZWFyY2hfX3Jlc3VsdHMtaXRlbSBhIHNwYW4sXG4gICAgLnNpdGUtc2VhcmNoX19yZXN1bHRzLWl0ZW0gYSAuaG55LXN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLnNpdGUtc2VhcmNoX19yZXN1bHRzLWl0ZW0gYSAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIGZpbGw6ICNlZDFjMmU7XG4gICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gICAgLnNpdGUtc2VhcmNoX19yZXN1bHRzLWl0ZW0gYTpmb2N1cywgLnNpdGUtc2VhcmNoX19yZXN1bHRzLWl0ZW0gYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgLnNpdGUtc2VhcmNoX19yZXN1bHRzLWl0ZW0gYTpmb2N1cyAuaG55LXN2ZywgLnNpdGUtc2VhcmNoX19yZXN1bHRzLWl0ZW0gYTpob3ZlciAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6ICNmZWZlZmU7IH1cbiAgLnNpdGUtc2VhcmNoX19yZXN1bHRzLWl0ZW0gKyAuc2l0ZS1zZWFyY2hfX3Jlc3VsdHMtaXRlbTpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjNGE0YTRhO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5zaXRlLXNlYXJjaF9fcmVzdWx0cy1pdGVtLS1hY3RpdmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjNGE0YTRhO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMXB4KTtcbiAgICBtYXJnaW46IDAgLTFyZW07XG4gICAgei1pbmRleDogLTE7IH1cbiAgLnNpdGUtc2VhcmNoX19yZXN1bHRzLWl0ZW0tLWFjdGl2ZSBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5zaXRlLXNlYXJjaF9fcmVzdWx0cy1pdGVtLS1hY3RpdmUgYSAuaG55LXN2ZyB7XG4gICAgICBmaWxsOiAjZmVmZWZlOyB9XG4gIC5zaXRlLXNlYXJjaF9fcmVzdWx0cy1pdGVtLS1hY3RpdmUgZGl2IHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2l0ZS1zZWFyY2hfX2l0ZW0taGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnNpdGUtc2VhcmNoX19pdGVtLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNik7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgLnNpdGUtc2VhcmNoX19pdGVtLWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2l0ZS1zZWFyY2hfX2FsbC1yZXN1bHRzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uc2l0ZW1hcCB1bCA+IGxpID4gYSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnN1Yi1uYXZfX2l0ZW1zIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zdWItbmF2X19pdGVtID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuNXJlbTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5zdWItbmF2X19pdGVtID4gYTpmb2N1cywgLnN1Yi1uYXZfX2l0ZW0gPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5zdWItbmF2X19pdGVtID4gYSAuaG55LXN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3ViLW5hdl9faXRlbS5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kOiAjZWQxYzJlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2lkZS1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udGVybS1kZXNjcmlwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiODBmMWQ7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50ZXJtLWRlc2NyaXB0aW9uX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgcGFkZGluZzogMnJlbSAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50ZXJtLWRlc2NyaXB0aW9uX193cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC50ZXJtLWRlc2NyaXB0aW9uX19jb250ZW50IHtcbiAgICBmbGV4OiAxOyB9XG4gICAgLnRlcm0tZGVzY3JpcHRpb25fX2NvbnRlbnQgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIC50ZXJtLWRlc2NyaXB0aW9uX19jb250ZW50IGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIC50ZXJtLWRlc2NyaXB0aW9uX19jb250ZW50IGE6Zm9jdXMsIC50ZXJtLWRlc2NyaXB0aW9uX19jb250ZW50IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjYpOyB9XG4gIC50ZXJtLWRlc2NyaXB0aW9uX19pY29uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgLnRlcm0tZGVzY3JpcHRpb25fX2ljb24gLmhueS1zdmcge1xuICAgICAgZmlsbDogI2ZlZmVmZTtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudGVybS1kZXNjcmlwdGlvbl9faWNvbiAuaG55LXN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA3NXB4OyB9IH1cblxuLnVwZGF0ZS1saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbjogMXJlbSAtMC41cmVtIDA7IH1cbiAgLnVwZGF0ZS1saW5rc19faXRlbSB7XG4gICAgcGFkZGluZzogMC41cmVtOyB9XG4gICAgLnVwZGF0ZS1saW5rc19faXRlbSA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgICAudXBkYXRlLWxpbmtzX19pdGVtID4gYSAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6ICNlZDFjMmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgICAudXBkYXRlLWxpbmtzX19pdGVtID4gYTpmb2N1cyAuaG55LXN2ZywgLnVwZGF0ZS1saW5rc19faXRlbSA+IGE6aG92ZXIgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAjMGEwYTBhOyB9XG5cbi52aWRlby1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luOiAwIC0xcmVtOyB9XG4gIC52aWRlby1ncmlkX19pdGVtIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC52aWRlby1ncmlkX19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmlkZW8tZ3JpZF9faXRlbTpmaXJzdC1jaGlsZCwgLnZpZGVvLWdyaWRfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAudmlkZW8tZ3JpZF9faXRlbSArIC52aWRlby1ncmlkX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG4gICAgLnZpZGVvLWdyaWRfX2l0ZW0gZmlndXJlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTE1JTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDEwLCAxMCwgMTAsIDAuMTEpLCAwIDFweCAzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjA4KTsgfVxuICAgICAgLnZpZGVvLWdyaWRfX2l0ZW0gZmlndXJlIC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMnB4O1xuICAgICAgICBmaWxsOiAjZmVmZWZlO1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNXB4IDEwcHggcmdiYSgxMSwgMjcsIDM4LCAwLjIpKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudmlkZW8tZ3JpZF9faXRlbSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cbiAgLnZpZGVvLWdyaWRfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAudmlkZW8tZ3JpZF9fbGluazpmb2N1cyBmaWd1cmUgLmhueS1zdmcsIC52aWRlby1ncmlkX19saW5rOmhvdmVyIGZpZ3VyZSAuaG55LXN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgICAudmlkZW8tZ3JpZF9fbGluazpmb2N1cyAudmlkZW8tZ3JpZF9faGVhZGluZywgLnZpZGVvLWdyaWRfX2xpbms6aG92ZXIgLnZpZGVvLWdyaWRfX2hlYWRpbmcge1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLnZpZGVvLWdyaWRfX2hlYWRpbmcge1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgLnZpZGVvLWdyaWRfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4udmlldy11cGRhdGVzIHtcbiAgbWFyZ2luOiAxcmVtIDRyZW0gMnJlbTsgfVxuXG4uZGVhbGVyIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuZGVhbGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5kZWFsZXJfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgLmRlYWxlcl9faW5mbyB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5kZWFsZXJfX2FkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cbiAgLmRlYWxlcl9fdXRpbGl0eSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZGVhbGVyX191dGlsaXR5IGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuICAgIC5kZWFsZXJfX3V0aWxpdHkgYTpmb2N1cyAuaG55LXN2ZywgLmRlYWxlcl9fdXRpbGl0eSBhOmhvdmVyIC5obnktc3ZnIHtcbiAgICAgIGZpbGw6ICMwYTBhMGE7IH1cbiAgICAuZGVhbGVyX191dGlsaXR5IGEgKyBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgICAuZGVhbGVyX191dGlsaXR5IHNwYW4sXG4gICAgLmRlYWxlcl9fdXRpbGl0eSAuaG55LXN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmRlYWxlcl9fdXRpbGl0eSAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGZpbGw6ICNlZDFjMmU7XG4gICAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGVhbGVyX191dGlsaXR5IC5obnktc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDI0cHg7IH0gfVxuXG4uZGVhbGVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTA7IH1cbiAgLmRlYWxlcnNfX25vLXJlc3VsdHMge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5kZWFsZXJzX19uby1yZXN1bHRzIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAuZGVhbGVyc19fbm8tcmVzdWx0cyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmRlYWxlcnNfX3dyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRlYWxlcnNfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBoZWlnaHQ6IDgwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZGVhbGVyc19fc2lkZWJhciwgLmRlYWxlcnNfX21hcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmRlYWxlcnNfX3NpZGViYXIge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRlYWxlcnNfX3NpZGViYXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAwIDAgMzAlO1xuICAgICAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAuZGVhbGVyc19fbWFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRlYWxlcnNfX21hcCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDAgMCA3MCU7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICBvcmRlcjogMjsgfSB9XG4gICAgLmRlYWxlcnNfX21hcCAubWFwLWNhbnZhcyB7XG4gICAgICBoZWlnaHQ6IDMydmg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kZWFsZXJzX19tYXAgLm1hcC1jYW52YXMge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAuZGVhbGVyc19fbWFwID4gLmRlYWxlcnNfX2luZm9ybWF0aW9uLXdpbmRvdyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5kZWFsZXJzX19pbmZvcm1hdGlvbi13aW5kb3cge1xuICAgIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAuZGVhbGVyc19fc2VhcmNoLWZvcm0ge1xuICAgIGJhY2tncm91bmQ6ICM0YjNmMzQgdXJsKFwiLi4vaW1hZ2VzL3N0dWNjby1yZXBlYXRlci1icm93bi5qcGdcIik7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGVhbGVyc19fc2VhcmNoLWZvcm0ge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW07IH0gfVxuICAuZGVhbGVyc19fc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5kZWFsZXJzX19zZWFyY2ggaW5wdXQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMy44NzVyZW07IH1cbiAgICAuZGVhbGVyc19fc2VhcmNoIGJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5kZWFsZXJzX19zZWFyY2ggYnV0dG9uLCAuZGVhbGVyc19fc2VhcmNoIGJ1dHRvbjpmb2N1cywgLmRlYWxlcnNfX3NlYXJjaCBidXR0b246aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmRlYWxlcnNfX3NlYXJjaC1zdWJtaXQge1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTEuMTI1cmVtO1xuICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5kZWFsZXJzX19zZWFyY2gtc3VibWl0IC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgZmlsbDogI2VkMWMyZTsgfVxuICAuZGVhbGVyc19fc2VhcmNoLXJlc2V0IHtcbiAgICByaWdodDogNHB4O1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzRhNGE0YTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiAwIDRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBtYXJnaW4tdG9wOiAtOC41cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gICAgLmRlYWxlcnNfX3NlYXJjaC1yZXNldCBzcGFuLFxuICAgIC5kZWFsZXJzX19zZWFyY2gtcmVzZXQgLmhueS1zdmcge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5kZWFsZXJzX19zZWFyY2gtcmVzZXQgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBmaWxsOiAjZmVmZWZlOyB9XG4gICAgICAuZGVhbGVyc19fc2VhcmNoLXJlc2V0IC5obnktc3ZnICsgc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmRlYWxlcnNfX3NlYXJjaC1yZXNldDpmb2N1cywgLmRlYWxlcnNfX3NlYXJjaC1yZXNldDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWQxYzJlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIC5kZWFsZXJzX19zZWFyY2gtcmVzZXQ6Zm9jdXMgLmhueS1zdmcsIC5kZWFsZXJzX19zZWFyY2gtcmVzZXQ6aG92ZXIgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAjZmVmZWZlOyB9XG4gIC5kZWFsZXJzX19saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGhlaWdodDogMTAwdmg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRlYWxlcnNfX2xpc3Qge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAuZGVhbGVyc19fbGlzdC1pdGVtcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5kZWFsZXJzX19saXN0LWl0ZW0gKyAuZGVhbGVyc19fbGlzdC1pdGVtIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjEpOyB9XG4gIC5kZWFsZXJzX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4xKTsgfVxuICAuZGVhbGVyc19fbGlzdC1pdGVtLS1hY3RpdmUgLmRlYWxlciB7XG4gICAgYmFja2dyb3VuZDogI2VkMWMyZTsgfVxuICAgIC5kZWFsZXJzX19saXN0LWl0ZW0tLWFjdGl2ZSAuZGVhbGVyLFxuICAgIC5kZWFsZXJzX19saXN0LWl0ZW0tLWFjdGl2ZSAuZGVhbGVyIGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuZGVhbGVyc19fbGlzdC1pdGVtLS1hY3RpdmUgLmRlYWxlciAuaG55LXN2ZyB7XG4gICAgICBmaWxsOiAjZmVmZWZlOyB9XG4gICAgLmRlYWxlcnNfX2xpc3QtaXRlbS0tYWN0aXZlIC5kZWFsZXIgYTpmb2N1cywgLmRlYWxlcnNfX2xpc3QtaXRlbS0tYWN0aXZlIC5kZWFsZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjYpOyB9XG4gICAgICAuZGVhbGVyc19fbGlzdC1pdGVtLS1hY3RpdmUgLmRlYWxlciBhOmZvY3VzIC5obnktc3ZnLCAuZGVhbGVyc19fbGlzdC1pdGVtLS1hY3RpdmUgLmRlYWxlciBhOmhvdmVyIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjYpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsICsgLmJsb2NrLWJhY2tncm91bmQgLmNvbnRlbnQtYmxvY2tfX2JhY2tncm91bmQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDUwdnc7IH0gfVxuXG4uY29udGVudC1ibG9ja19fYmFja2dyb3VuZCB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGVudC1ibG9ja19fYmFja2dyb3VuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoNTB2dyAtIDJyZW0pO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmJsb2NrLWNvbnRlbnQgKyAuYmxvY2stYmFja2dyb3VuZCxcbiAgLmJsb2NrLWNvbnRlbnQgKyAuYmxvY2stcGhvdG8ge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmJsb2NrLWNvbnRlbnQgKyAuYmxvY2stYmFja2dyb3VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTJyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmJsb2NrLWNvbnRlbnQgKyAuYmxvY2stYmFja2dyb3VuZCAuY29udGVudC1ibG9ja19fYmFja2dyb3VuZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmJsb2NrLWJhY2tncm91bmQgKyAuYmxvY2stY29udGVudCxcbiAgLmJsb2NrLXBob3RvICsgLmJsb2NrLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuXG4uY29udGVudC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY29udGVudC1ibG9jay0td2hpdGUgKyAuY29udGVudC1ibG9jay0td2hpdGUgLmwtYmxvY2sge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5jb250ZW50LWJsb2NrOmxhc3QtY2hpbGQgLmwtYmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9XG4gIC5jb250ZW50LWJsb2NrX19jb250ZW50LS1oYXMtaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDsgfVxuICAuY29udGVudC1ibG9ja19fY29udGVudC1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuY29udGVudC1ibG9ja19fY29udGVudC1pY29uIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6ICNlZDFjMmU7IH1cblxuLmNvbnRlbnQtYmxvY2tfX2NvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaWNvbi1ncmlkX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pY29uLWdyaWRfX2hlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5pY29uLWdyaWRfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5pY29uLWdyaWRfX2l0ZW0gKyAuaWNvbi1ncmlkX19pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pY29uLWdyaWRfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAgICAgLmljb24tZ3JpZF9faXRlbTpmaXJzdC1jaGlsZCwgLmljb24tZ3JpZF9faXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmljb24tZ3JpZF9faXRlbS13cmFwcGVyIHtcbiAgZmxleDogMTsgfVxuXG4uaWNvbi1ncmlkX19pdGVtLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmljb24tZ3JpZF9faXRlbS1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gIC5pY29uLWdyaWRfX2l0ZW0tY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmljb24tZ3JpZF9faWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pY29uLWdyaWRfX2ljb24gc3ZnIHBhdGgge1xuICAgIGZpbGw6ICNlZDFjMmU7IH1cblxuLmNvbnRlbnQtYmxvY2tfX3BkZiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNvbnRlbnQtYmxvY2tfX3BkZjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IC0xMDB2aDtcbiAgICBwYWRkaW5nLXRvcDogMjAwdmg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbiAgICBwYWRkaW5nLWxlZnQ6IDUwdnc7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogIzJhMmEyYSB1cmwoXCIuLi9pbWFnZXMvc3R1Y2NvLXJlcGVhdGVyLWdyYXkuanBnXCIpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAuY29udGVudC1ibG9ja19fcGRmIC5wZGYtYmxvY2sgLmhueS1zdmctLXBkZi1lbWJsZW0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjByZW07XG4gICAgaGVpZ2h0OiAyMHJlbTtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgei1pbmRleDogMTtcbiAgICBmaWxsOiAjZmVmZWZlOyB9XG4gIC5jb250ZW50LWJsb2NrX19wZGYgLnBkZi1ibG9ja19fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cbiAgLmNvbnRlbnQtYmxvY2tfX3BkZiAucGRmLWJsb2NrX19idXR0b24ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sLWJsb2NrIC5jb250ZW50LWJsb2NrX19wZGYgLnBkZi1ibG9jayBoNSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmNvbnRlbnQtYmxvY2tfX3Bob3RvIGltZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwYTBhMGEgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIGFbaHJlZl49J3RlbCddOmFmdGVyLFxuICBhIFtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5obnktc3ZnIHtcbiAgICBmaWxsOiAjMGEwYTBhICFpbXBvcnRhbnQ7IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cbiIsIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3ZlcnBhc3M6NDAwLDQwMGksNjAwLDkwMCcpO1xuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC40LXJjMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBCYXNlZCBvbiBGb3VuZGF0aW9uIHY2LjQuM1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IDEyMDBweDtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41Mjk0NztcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogI2VkMWMyZSxcbiAgc2Vjb25kYXJ5OiAjNGIzZjM0LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogIzRhNGE0YTtcbiRkYXJrLWdyYXk6ICMyYTJhMmE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kc3lzdGVtLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCAnT3h5Z2VuJywgJ1VidW50dScsICdDYW50YXJlbGwnLCAnRmlyYSBTYW5zJywgJ0Ryb2lkIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdPdmVycGFzcycsICRzeXN0ZW0tZm9udC1mYW1pbHk7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRwbGF5ZmFpcjogJGJvZHktZm9udC1mYW1pbHk7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LW1lZGl1bTogNjAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbiRwcmltYXJ5LWRhcms6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjUlKTtcblxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuICB3aWRlOiAxOTIwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSB3aWRlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAzMnB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjIwODQ5O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzYpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTYpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBsYXJnZTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNTQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjApLFxuICApLFxuICB4eGxhcmdlOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA2NSksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyNCksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3ZlcjogJGJvZHktZm9udC1jb2xvcjtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IGZhbHNlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMDtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICdcXDAwMkYnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFwwMDVDJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAwO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IGFsbCAwLjJzO1xuJGRyaWxsZG93bi1hcnJvd3M6IGZhbHNlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAwLjI1cmVtO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogJHN5c3RlbS1mb250LWZhbWlseTtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwgMC4zKTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuJGlucHV0LXNoYWRvdzogMDtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDA7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAwLjI1cmVtO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDEwMCUsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IG5vbmU7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJGRhcmstZ3JheSwgMC44KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IDA7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSxcbjAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6IDA7XG4kcmV2ZWFsLWJvcmRlcjogMDtcbiRyZXZlYWwtcmFkaXVzOiAwO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLCAwLjgpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAzMnB4LFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpOztcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIiV1LXNjcmVlbi1yZWFkZXIsXG4udS1zY3JlZW4tcmVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG59XG5cbiV1LWNsZWFyZml4LFxuLnUtY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuJXUtZXh0ZXJuYWwtbGluayxcbi51LWV4dGVybmFsLWxpbmsge1xuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgY29udGVudDogJycgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQU1DQVlBQUFCV2RWem5BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlScFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TUMxak1EWXhJRFkwTGpFME1EazBPU3dnTWpBeE1DOHhNaTh3TnkweE1EbzFOem93TVNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVOVE5TNHhJRTFoWTJsdWRHOXphQ0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG96TURORVFUWkVNVFJCUWtReE1VVTJPVEU0UVVJME1qZ3pNVFZEUVVKR05pSWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEb3pNRE5FUVRaRU1qUkJRa1F4TVVVMk9URTRRVUkwTWpnek1UVkRRVUpHTmlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qTXdNMFJCTmtOR05FRkNSREV4UlRZNU1UaEJRalF5T0RNeE5VTkJRa1kySWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pNd00wUkJOa1F3TkVGQ1JERXhSVFk1TVRoQlFqUXlPRE14TlVOQlFrWTJJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrdVlDUTBBQUFBSjlKUkVGVWVOcVVrbzBKeENBTWhVM3BGTTdoR0s1aDExQzNVT2R3QzNVTkhjUGpDUlZxZThjMUVJWHc1ZWNacWZmTzN0aU9nNGd1UWEzMVl4VmpETEcxQTJEblhGOE5jYkRiV3NWYVM2MDFWUHMra2xMcU5vS1U4akZoZGdnaERPZWNEMWdJd1hMT3QwN2JJdW9DeHhoSDNIdi9uQUM0bERMaFd1dlVoSHRBVUE0TnA2V1V6aGZwcXphdyt5b0s0OEIvTGc1MkhNZGZtNmEzWCtNandBQkRFWEhzenlEMnNBQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4ldS1iZy1jb3Zlcixcbi51LWJnLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4ldS1iZy1jb250YWluLFxuLnUtYmctY29udGFpbiB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4ldS1iZy0xMDAsXG4udS1iZy0xMDAge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cbiIsImh0bWwge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgfVxufVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbn1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxucCB7XG4gICYuc21hbGwge1xuICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkbWVkaXVtLWdyYXksICRsaWdodG5lc3M6IDM1JSk7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG59XG4iLCIkdXJsOiAnaW1hc2NvbWluZXJhbHMuY29tJztcbiR0cmFuczogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kY3ViaWM6IGFsbCAwLjI1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiRndXR0ZXI6ICRnbG9iYWwtcGFkZGluZyAqIDI7XG4kYm94LXNoYWRvdy1zbWFsbDogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4kYnV0dG9uLWJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKCRibGFjaywgLjExKSwgMCAxcHggM3B4IHJnYmEoJGJsYWNrLCAuMDgpO1xuJGJ1dHRvbi1ib3gtc2hhZG93LWhvdmVyOiAwIDdweCAxNHB4IHJnYmEoJGJsYWNrLCAuMSksIDAgM3B4IDZweCByZ2JhKCRibGFjaywgLjA4KTtcbiRib3gtc2hhZG93OiAwIDE4cHggMzVweCByZ2JhKCRibGFjaywgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgkYmxhY2ssIDAuMTUpO1xuJGJveC1zaGFkb3ctaG92ZXI6IDAgMThweCAzNXB4IHJnYmEoJGJsYWNrLCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKCRibGFjaywgMC4xNSk7XG4kYm94LXNoYWRvdy1sYXJnZTogMCAxOHB4IDE0MHB4IHJnYmEoJGJsYWNrLCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKCRibGFjaywgMC4xNSk7XG4kdGV4dC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKCRibGFjaywgMC43KSwgMCA1cHggMTVweCByZ2JhKCRibGFjaywgMC41KTtcbiRsb2dvLW1vdW50YWlucy1yYXRpbzogMztcbiRsb2dvLXR5cGUtcmF0aW86IDQuNzU1Nzg0MDYxNjk2NjU4O1xuJGNvbG9waG9uLWxvZ28tcmF0aW86IDIuNTgyMjc4NDgxMDEyNjU4O1xuJG5vdGlmaWNhdGlvbi1iYXItaGVpZ2h0OiA0NXB4O1xuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLmFjY29yZGlvbiB7XG4gICYtaXRlbSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuXG4gICAgJi5pcy1hY3RpdmUsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4gICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG5cbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICArIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgID5kaXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtO1xuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjEyNXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLmJ1bGxldC1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICArIGxpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMTI1ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC43NTtcbiAgICAgICAgY29udGVudDogJ+KAoic7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImJ1dHRvbixcbi5idXR0b24ge1xuICAmOm5vdCguZ20tdWktaG92ZXItZWZmZWN0KTpub3QoLmdtLWNvbnRyb2wtYWN0aXZlKTpub3QoLnNsaWNrLWFycm93KTpub3QoLnNpdGUtc2VhcmNoX19zdWJtaXQpOm5vdChbZGF0YS1jbG9zZV0pOm5vdCguZGVhbGVyc19fc2VhcmNoLXN1Ym1pdCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4gICAgfVxuICB9XG5cbiAgLmhueS1zdmcsXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmhueS1zdmcge1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgZmlsbDogJHdoaXRlO1xuXG4gICAgKyBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjEyNXJlbTtcbiAgICB9XG4gIH1cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC4xMzc1ZW07XG5cbiAgICArIC5obnktc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjEyNXJlbTtcbiAgICB9XG4gIH1cblxuICAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgJi0tY2hldnJvbi1yaWdodCB7XG4gICAgICB3aWR0aDogMC42NzVlbTtcbiAgICAgIGhlaWdodDogMC42NzVlbTtcbiAgICB9XG4gIH1cblxuICArIHAge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgfVxuXG4gICYuc21hbGwge1xuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmNoZWNrbGlzdCB7XG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtO1xuXG4gICAgLmhueS1zdmcge1xuICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEuMzc1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICB9XG5cbiAgICAmICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgfVxuICB9XG59XG4iLCIuaXMtZHJpbGxkb3duIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICoge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbiIsInNlbGVjdCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmhueSB7XG4gIC5nZm9ybV93cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsLFxuICAgIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICB9XG5cbiAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSkge1xuICAgICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW0gMC41cmVtIDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZmllbGRfbGlzdCB7XG4gICAgICB0ZCB7XG4gICAgICAgICYuZ2ZpZWxkX2xpc3RfY2VsbCB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcF9sYWJlbCB7XG4gICAgICBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgJi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAmLmdmaWVsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6bm90KC5nZl9sZWZ0X2hhbGYpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdCxcbiAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyB7XG4gICAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgJi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uLFxuICAgIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgJi5nZmllbGRfY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAxMnB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmh0bWwge1xuICAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgJi5ncmF2aXR5LXRoZW1lIHtcbiAgICAgIC5nZm9ybV9yZXF1aXJlZF9sZWdlbmQge1xuICAgICAgICBAZXh0ZW5kICV1LXNjcmVlbi1yZWFkZXI7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtX3NhdmVkX21lc3NhZ2Uge1xuICAgICAgICBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXN1bWVfZm9ybV9saW5rX3dyYXBwZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcblxuICAgICAgICAgIH4gcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdmb3JtX3NhdmVfbGluayB7XG4gICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdmb3JtX3NhdmVfbGluayB7XG4gICAgICAgICYsXG4gICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgb3JkZXI6IDEwMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nZmllbGRfc2lnbmF0dXJlX2NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuXG4gICAgICAgICsgZGl2IHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgID4gaDIge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgIC5nZm9ybS1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbl9tZXNzYWdlLFxuICAgICAgLmluc3RydWN0aW9uLFxuICAgICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzLFxuICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAgIC5pbnN0cnVjdGlvbixcbiAgICAgIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkYWxlcnQtY29sb3IsICRsaWdodG5lc3M6IDkyJSk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbl9tZXNzYWdlLFxuICAgICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXG4gICAgICAuZGVzY3JpcHRpb24sXG4gICAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuICAgICAgLmluc3RydWN0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICB9XG5cbiAgICAgIC5nZmllbGRfZXJyb3Ige1xuICAgICAgICAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwgbGFiZWwsXG4gICAgICAgIGxhYmVsLFxuICAgICAgICBsZWdlbmQge1xuICAgICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3JcbiAgICAgICAgfVxuXG4gICAgICAgIFthcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdICsgbGFiZWwsXG4gICAgICBsYWJlbCArIFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLmdmaWVsZCB7XG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5maWVsZF9zdWJsYWJlbF9hYm92ZSB7XG4gICAgICAgICAgLmdpbnB1dF9jb21wbGV4IHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5naW5wdXRfY29tcGxleCB7XG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuMjU7XG4gICAgICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQsXG4gICAgICAgIC5nY2hvaWNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjVlbSAwIDA7XG5cbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nZm9ybV9mb290ZXIsXG4gICAgICAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgJi5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bm90KC5nZm9ybV9zYXZlX2xpbmspIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5nZm9ybV9idXR0b24sXG4gICAgICAgICAgJi5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJlt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuXG4gICAgICAgICAgICArIC5nZm9ybV9zYXZlX2xpbmsge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAgICAgKyAuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5nZm9ybV9wcmV2aW91c19idXR0b24ge1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgfiAuZ2Zvcm1fbmV4dF9idXR0b24ge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB+IC5nZm9ybV9zYXZlX2xpbmsge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdmb3JtLWxvYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImgxLFxuaDIge1xuICBmb250LWZhbWlseTogJHBsYXlmYWlyO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oNCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4xMjUpO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbn1cbiIsIi5obnktc3ZnIHtcbiAgQGV4dGVuZCAldS1iZy0xMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuOGVtO1xuICBoZWlnaHQ6IDFlbTtcbn1cblxuc3ZnIHtcbiAgJi5obnktc3ZnIHtcbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIubC1tYXN0aGVhZCB7XG4gIC5oYXMtaGVybyAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLmwtaGVybyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5sLW1haW4ge1xuICAmX193cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICB9XG59XG5cbi5sLWNvbnRlbnQge1xuICAubm90LWZyb250ICYge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXg6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG4ubC1zcGxpdCB7XG4gIHBhZGRpbmctdG9wOiAkZ3V0dGVyO1xuICBwYWRkaW5nLWJvdHRvbTogJGd1dHRlciAqIDM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgLmwtcHJpbWFyeSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRndXR0ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgLmwtc2lkZWJhciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG9yZGVyOiAwO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgJi5zdGlja3kge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmwtc2lkZWJhcixcbiAgLmwtcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6ICRndXR0ZXIgMCAkZ3V0dGVyICogMztcbiAgICB9XG4gIH1cblxuICAubC1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgIGJveC1zaGFkb3c6IC05cHggMTBweCA3cHggMHB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmwtYmxvY2sge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmZyb250LWludHJvICYge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcblxuICAgIC5mcm9udC1pbnRybyAmIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gICAgfVxuICB9XG5cbiAgJi0tbGlnaHQtZ3JheSxcbiAgJi0td2hpdGUge1xuICAgIGgxLFxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLS1zdHVjY28tZ3JheSxcbiAgJi0tc3R1Y2NvLWJyb3duIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgaDEsXG4gICAgaDIge1xuICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cblxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gICYtLWRhcmstcmVkLFxuICAmLS1kYXJrLWdyYXksXG4gICYtLXJlZCxcbiAgJi0tYnJvd24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaG9tZSAmIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xuICB9XG5cbiAgJi0td2hpdGUge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgIC5ob21lICYge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmLS1yZWQge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG5cbiAgJi0tZGFyay1yZWQge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWRhcms7XG4gIH1cblxuICAmLS1icm93biB7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgfVxuXG4gICYtLWRhcmstZ3JheSB7XG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiAgfVxuXG4gICYtLWxpZ2h0LWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5IHVybCgnLi4vaW1hZ2VzL3N0dWNjby1yZXBlYXRlci13aGl0ZS5qcGcnKTtcbiAgfVxuXG4gICYtLXN0dWNjby1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5IHVybCgnLi4vaW1hZ2VzL3N0dWNjby1yZXBlYXRlci1ncmF5LmpwZycpO1xuICB9XG5cbiAgJi0tc3R1Y2NvLWJyb3duIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yIHVybCgnLi4vaW1hZ2VzL3N0dWNjby1yZXBlYXRlci1icm93bi5qcGcnKTtcbiAgfVxufVxuXG4uZ3JpZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcblxuICAmLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDkwcmVtO1xuICB9XG5cbiAgJi0tbmFycm93IHtcbiAgICBtYXgtd2lkdGg6ICN7JGdsb2JhbC13aWR0aCAqIDAuODk1fTtcbiAgfVxufVxuXG4uY2VsbCB7XG4gICYtLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbiIsIi5vZmYtY2FudmFzIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoLFxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogOTk5OTk5O1xuICB9XG5cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDEuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAuaXMtb3BlbiAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJl9fY2xvc2Uge1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAkbGlnaHQtZ3JheTtcbiAgICAgIH1cblxuICAgICAgLnBvc2l0aW9uLXJpZ2h0ICYge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgZmlsbDogJGxpZ2h0LWdyYXk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuLFxuICAgIC5obnktc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLm1vYmlsZS11dGlsaXR5X19pdGVtLFxuICAubW9iaWxlLW5hdl9faXRlbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDEuNXMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIC5tb2JpbGUtdXRpbGl0eV9faXRlbSxcbiAgICAubW9iaWxlLW5hdl9faXRlbSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICB6LWluZGV4OiA5OTk4O1xuICB9XG59XG4iLCIucGFnZS10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIHRleHQtc2hhZG93OiAkdGV4dC1zaGFkb3c7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbi1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAwIDZyZW07XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgYSxcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cbiAgICAgICY6bm90KC5jdXJyZW50KSB7XG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm5leHQsXG4gICAgICAmLnByZXYge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIi5yZXZlYWwtb3ZlcmxheSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gIH1cbn1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJldmVhbCB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgJi0tc2xpZGVyLFxuICAmLS12aWRlbyxcbiAgJi0taW1hZ2Uge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLnJldmVhbF9fY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYtLXZpZGVvLFxuICAmLS1pbmZvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA5MDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAxMDAwcHg7XG4gICAgfVxuICB9XG5cbiAgJi0tdmlkZW8ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmLS12aWRlbyB7XG4gICAgLnJlc3BvbnNpdmUtZW1iZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjg1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuXG4gICYtLXNsaWRlciB7XG4gICAgaW1nIHtcbiAgICAgIEBleHRlbmQgJXUtc2NyZWVuLXJlYWRlcjtcbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgQGV4dGVuZCAldS1iZy1jb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgLnNsaWNrLXNsaWRlciB7XG4gICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcblxuICAgICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIH1cblxuICAgICAgLnNsaWNrLXByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbGVmdDogLTJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWNrLW5leHQge1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWltYWdlIHtcbiAgICBpbWcge1xuICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJi0taW5mbyB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG5cbiAgICBidXR0b24ge1xuICAgICAgJi5jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zbGljay1zbGlkZXIge1xuICAmLFxuICAqIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuW2RhdGEtc2xpY2stc2xpZGVyXSB7XG4gIFtkYXRhLXNsaWNrLXNsaWRlXSB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgIFtkYXRhLXNsaWNrLXNsaWRlXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICArIC5sb2FkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLWRvdHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC5ob21lICYge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBvcGFjaXR5OiAwLjM1O1xuXG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogNTA7XG5cbiAgJixcbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgZmlsbDogJHdoaXRlO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDExLCAyNywgMzgsIDAuNCkpO1xuICB9XG5cbiAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDJyZW07XG59XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDJyZW07XG59XG4iLCIud3lzaXd5ZyB7XG4gIGEge1xuICAgICZbaHJlZio9Jy8vJ10ge1xuICAgICAgJjpub3QoW2hyZWYqPScjeyR1cmx9J10pOm5vdChbaHJlZio9Jy5kZXYnXSkge1xuICAgICAgICBAZXh0ZW5kICV1LWV4dGVybmFsLWxpbms7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltocmVmXj0nbWFpbHRvOiddIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gIH1cblxuICAuYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwLjVyZW0gMXJlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAuYWxpZ25ub25lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAuNXJlbSAwO1xuICB9XG5cbiAgLmdhbGxlcnkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiAwLjE2NjY2NjY2NyU7XG4gICAgICBtYXJnaW46IDAgMCAyJTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud3AtY2FwdGlvbiB7XG4gICAgPiBmaWdjYXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgJi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIDA7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIH1cbiAgfVxuXG4gIHVsOm5vdCguZ2Zvcm1fZmllbGRzKTpub3QoLmNoZWNrbGlzdCk6bm90KC5nZmllbGRfY2hlY2tib3gpOm5vdCguZ2ZpZWxkX3JhZGlvKSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcblxuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgY291bnRlci1yZXNldDogc2VjdGlvbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgb2wge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi4yNXJlbTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXJzKHNlY3Rpb24sIFwiLlwiKSBcIiBcIjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogM3B4IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgfVxuICB9XG59XG4iLCIubm90LWZvdW5kIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG5cbiAgcCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIuYmFjay10by10b3Age1xuICBAaW5jbHVkZSBicmVha3BvaW50KDEzNDkgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMzUwKSB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICB9XG5cbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm90dG9tOiAwLjVyZW07XG4gIHJpZ2h0OiAwLjVyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMzUwKSB7XG4gICAgYm90dG9tOiAxcmVtO1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDUwMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWhvdmVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHotaW5kZXg6IDk5OTc7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuaG55LXN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW46IC0xNHB4IDAgMCAtMTNweDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgZmlsbDogJHdoaXRlO1xuICB9XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59IiwiLmNvbG9waG9uIHtcbiAgYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC42KTtcbiAgICB9XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAycmVtIDAgMXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICB9XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICAuaW1hc2NvLWRlYWxlcnMgJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgID4gYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIGhlaWdodDogI3sxODBweCAvICRjb2xvcGhvbi1sb2dvLXJhdGlvfTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICBtYXJnaW4tdG9wOiAxLjQ1cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiAjezI1MHB4IC8gJGNvbG9waG9uLWxvZ28tcmF0aW99O1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuN3JlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBoZWlnaHQ6ICN7MTgwcHggLyAkY29sb3Bob24tbG9nby1yYXRpb307XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBoZWlnaHQ6ICN7MjUwcHggLyAkY29sb3Bob24tbG9nby1yYXRpb307XG4gICAgICB9XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgfVxuXG4gICZfX2xlZ2FsZXNlIHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xlZ2FsLW5hdiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMzc1KSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICZfX2NyZWRpdCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAwLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5jb21wYW55LWluZm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6ICRndXR0ZXI7XG4gICAgcGFkZGluZy1ib3R0b206ICRndXR0ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6ICRndXR0ZXIgKiAxLjU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGd1dHRlciAqIDIuNTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGd1dHRlciAqIDI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGd1dHRlciAqIDM7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFwIHtcbiAgICA+IGRpdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgbWFyZ2luOiAwIC0xcmVtO1xuICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAjezFyZW19KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5jb250YWN0LWluZm8ge1xuICAmX19jb250YWN0IHtcbiAgICAuZ3JpZC14IHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTYwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQteCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLmNlbGwge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTYwKSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICBzcGFuLFxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgZmlsbDogJG1lZGl1bS1ncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgICAgZmlsbDogJGFuY2hvci1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgICAgZmlsbDogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICBwIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY29udGFjdC11cyB7XG4gICZfX3NpZGViYXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21hcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgID4gZGl2IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG59XG4iLCIuY29udGVudC1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luOiAwIC0wLjVyZW07XG5cbiAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gIH1cblxuICAmLS0zIHtcbiAgICAuY29udGVudC1ncmlkX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZmxleDogMCAwIHBlcmNlbnRhZ2UoMS8zKTtcbiAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoM24rNCksXG4gICAgICAgICY6bnRoLWNoaWxkKDNuKzUpLFxuICAgICAgICAmOm50aC1jaGlsZCgzbis2KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLTQge1xuICAgIC5jb250ZW50LWdyaWRfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmbGV4OiAwIDAgcGVyY2VudGFnZSgxLzQpO1xuICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMS80KTtcblxuICAgICAgICAmOm50aC1jaGlsZCg0bis1KSxcbiAgICAgICAgJjpudGgtY2hpbGQoNG4rNiksXG4gICAgICAgICY6bnRoLWNoaWxkKDRuKzcpLFxuICAgICAgICAmOm50aC1jaGlsZCg0bis4KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAmOm50aC1jaGlsZCgybiszKSxcbiAgICAgICY6bnRoLWNoaWxkKDJuKzQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pdGVtLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0taW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjIpO1xuICAgIH1cblxuICAgID4gLmhueS1zdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDFweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZmlsbDogJGJvZHktZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtLWRvd25sb2FkIHtcbiAgICAuaG55LXN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDExLCAyNywgMzgsIDAuNCkpO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICAgICAgc3Ryb2tlOiAkbGlnaHQtZ3JheTtcbiAgICAgIHN0cm9rZS13aWR0aDogMC4yNTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICAgc3BhbixcbiAgICAuaG55LXN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuZG9jdW1lbnQtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbjogMCAtMXJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBtaW4taGVpZ2h0OiAyODBweDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG5cbiAgICArLmRvY3VtZW50LWxpc3RfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIH1cblxuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgfVxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmZyb250LWZlYXR1cmUge1xuICAubC1ibG9jayB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuXG4gICAgPiBhIHtcbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb2x1bW4ge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuXG4gICAgKyAuZnJvbnQtZmVhdHVyZV9fY29sdW1uIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcG9zdCB7XG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZ3JpZC14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuXG4gICAgICAuY2VsbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAZXh0ZW5kICV1LWJnLWNvbnRhaW47XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIH1cbiAgfVxufVxuIiwiLmZyb250LWludHJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG5cbiAgLmwtYmxvY2sge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICAuYnVsbGV0LWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAjeyRsZWFkLWZvbnQtc2l6ZSAqIDAuODk1fTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAjeyRsZWFkLWZvbnQtc2l6ZSAqIDEuMTI1fTtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2LjQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1Mik7XG4gICAgfVxuICB9XG5cbiAgLmludHJvLWxpbmtzIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICB9XG5cblxufVxuIiwiLmZyb250LXBvc3RzIHtcbiAgJl9fY29sdW1uIHtcbiAgICArIC5mcm9udC1wb3N0c19fY29sdW1uIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZ2RwciB7XHJcbiAgbWFyZ2luOiAxLjVyZW0gMDtcclxuICAmX19ncmlkIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcclxuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2JveCB7XHJcbiAgICArIC5nZHByX19ib3gge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xyXG4gICAgICBmbGV4OiAxIDE7XHJcblxyXG4gICAgICArIC5nZHByX19ib3gge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGEsXHJcbiAgICA+IGJ1dHRvbiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjUpO1xyXG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93LWhvdmVyO1xyXG4gICAgICBmbGV4OiAxIDE7XHJcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICBzdmcge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XHJcbiAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMsXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIGgyLFxyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5nZHByLW5vdGljZSB7XHJcbiAgKyBoMyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICsgZm9ybSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZ2Rwci1kb3dubG9hZC1idXR0b24ge1xyXG4gICsgLmdkcHItZXhwb3J0LWJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxyXG4jZ2Rwci1zdWJtaXQge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbjtcclxuICBAZXh0ZW5kIC5idXR0b247XHJcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgJjpmb2N1cyxcclxuICAmOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcblxyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiLmhlYWRlci11dGlsaXR5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcblxuICAuaGFzLW5vdGlmaWNhdGlvbi1iYXIgJiB7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLWJhci1oZWlnaHQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICB9XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBmbGV4OiAwIDAgcGVyY2VudGFnZSgxLzMpO1xuICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG4gICAgfVxuXG4gICAgKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tY29udGFjdC11cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbWVudSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuaGVhZGVyLXV0aWxpdHlfX2l0ZW0ge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWRhcms7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDM2MCkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgICB9XG5cbiAgICAgIHNwYW4sXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBmaWxsOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaGVyby1zbGlkZXIge1xuICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLnNsaWNrLWFycm93IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJsaXR5OiBoaWRkZW47XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuc2xpY2stZG90cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2NnZ3O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHZ3O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQod2lkZSkge1xuICAgICAgcGFkZGluZy10b3A6IDQwdnc7XG4gICAgfVxuXG4gICAgPiBmaWd1cmUge1xuICAgICAgQGV4dGVuZCAldS1iZy1jb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIHRleHQtc2hhZG93OiAkdGV4dC1zaGFkb3c7XG5cbiAgICArIC5oZXJvLXNsaWRlcl9fY3RhIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19jdGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6ICR0ZXh0LXNoYWRvdztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogOTUlO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxhcmdlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMC4xMjVlbTtcbiAgICAgIH1cblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICB3aWR0aDogMC41ZW07XG4gICAgICAgIGhlaWdodDogMC41ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5pbmR1c3RyeS1yZXNvdXJjZXMge1xuICAmX19pdGVtIHtcbiAgICArIC5pbmR1c3RyeS1yZXNvdXJjZXNfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICA+IGEge1xuICAgICAgc3BhbixcbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6ICRhbmNob3ItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5pbmZvLW1vZGFsIHtcbiAgcGFkZGluZzogM3JlbSAwIDJyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IDNyZW0gMnJlbSAycmVtO1xuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG59IiwiLmludHJvLWxpbmtzIHtcbiAgLmNlbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICsgLmNlbGwge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52aWRlby1saW5rIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgMC41cmVtKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcGhvdG8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICA+IGRpdiB7XG4gICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgJHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgQGV4dGVuZCAldS1iZy1jb3ZlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cblxuICB9XG5cbiAgJl9fYmFubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcmVtO1xuICAgIGxlZnQ6IC0yLjVyZW07XG4gICAgd2lkdGg6IDEwcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjI1cmVtIDAuMnJlbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgaDMge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwLjEzNzVlbTtcbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMC42NzVlbTtcbiAgICAgIGhlaWdodDogMC42NzVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cblxuICB9XG59XG4iLCIubGVnYWwtbmF2IHtcbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgICsgLmxlZ2FsLW5hdl9faXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAwLjUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5saXN0aW5nIHtcbiAgJi0tcG9zdCB7XG4gICAgLmxpc3RpbmdfX2dyaWQtY29udGFpbmVyIHtcbiAgICAgICsgLmxpc3RpbmdfX2dyaWQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcblxuICAgICAgICBoNCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0aW5nX19ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMCAtMXJlbTtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIH1cblxuICAgICAgPiAubGlzdGluZ19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgJjpudGgtY2hpbGQoNm4rNSksXG4gICAgICAgICAgJjpudGgtY2hpbGQoNm4rNikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdGluZ19fY29sdW1uIHtcbiAgICAgICsgLmxpc3RpbmdfX2NvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY3IGRvd24pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4KSB7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLnBvc3RfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KC5saXN0aW5nX19pdGVtLS1mZWF0dXJlKSB7XG4gICAgICAgIC5wb3N0X190aXRsZSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1wcm9kdWN0IHtcbiAgICAubGlzdGluZ19faXRlbSB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAubC1ibG9jayB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDZyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1zZWFyY2gge1xuICAgIC5uby1wYWdpbmF0aW9uICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG5cbiAgICAubGlzdGluZ19faXRlbSB7XG4gICAgICBwIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0aW5nX19pdGVtLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICYtLWhhcy1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgICAgZmlsbDogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdGluZ19faXRlbS1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICAmLS1wcm9kdWN0IHtcbiAgICAgICYtLXdpcmUge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgLnByb2R1Y3RfX2NvbnRlbnQge1xuICAgICAgICAgICAgLmNlbGwge1xuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubG9hZGVyLW92ZXJsYXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoJHNlY29uZGFyeS1jb2xvciwgMC44KTtcbiAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiB3YWl0O1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG5ib2R5IHtcbiAgPiAubG9hZGVyLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYuaXMtbG9hZGluZyB7XG4gICAgPiAubG9hZGVyLW92ZXJsYXkge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59IiwiLmxvYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICA+IGRpdiB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBvcGFjaXR5RGVsYXkgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoO1xuXG4gICAgKyBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG4gIH1cblxuICAuYm91bmNlMSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XG4gIH1cblxuICAuYm91bmNlMiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBvcGFjaXR5RGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ub3ZlcmxheSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogd2FpdDtcbiAgei1pbmRleDogMTAwMDA7XG5cbiAgLmlzLWxvYWRpbmcgJiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgIC5sb2FkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgJGd1dHRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuXG4gIC5sb2FkZXIge1xuICAgID4gZGl2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG59IiwiLmxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBpbWcge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxufVxuIiwiLm1vYmlsZS1uYXYge1xuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBsaSB7XG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgZmlsbDogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cbiAgICBsaSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1kcmlsbGRvd24tYmFjayB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgICAgIGhlaWdodDogMC43NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1wYXJlbnQge1xuICAgICAgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgICAgIGhlaWdodDogMC43NXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5ub3RpZmljYXRpb24tYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5OTg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogI2RmMmEwMDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogJG5vdGlmaWNhdGlvbi1iYXItaGVpZ2h0O1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICB9XG4gIH1cblxuICBzdmcge1xuICAgIGZpbGw6ICR3aGl0ZTtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICB9XG59XG4iLCIucG9zdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMSAwIGF1dG87XG5cbiAgJl9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICBmaWd1cmUge1xuICAgICAgQGV4dGVuZCAldS1iZy1jb3ZlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkvMTYpO1xuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICAuZnJvbnQtcG9zdHMgJiB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblxuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0wLjJyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAwIGF1dG87XG5cbiAgICAuZnJvbnQtcG9zdHMgJiB7XG4gICAgICAucG9zdCB7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAud3lzaXd5ZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19kYXRlLFxuICAmX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDNyZW07XG4gICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgLmhvbWUgJiB7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19kYXRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgfVxuXG4gICAgJl9fZGF0ZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIH1cblxuICAgICZfX21vbnRoIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX195ZWFyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgfVxuXG4gIC5yZWFkLW1vcmUge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMC4xMzc1ZW07XG4gICAgICB9XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIucG9zdHMtYmxvY2sge1xuICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblxuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkZ3V0dGVyIDA7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgfVxuXG4gICZfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIDQ1cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbi1yaWdodDogLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZWQxYzJlO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgfVxuXG59XG4iLCIucHJpbWFyeS1uYXZfX3N1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDI4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHNjYWxlKC45NSkgdHJhbnNsYXRlWSgyMHB4KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMjVzO1xuICBwZXJzcGVjdGl2ZTogMjAwMHB4O1xuICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICAgIHRvcDogLTdweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiA3cHggc29saWQgJGRhcmstZ3JheTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gICYtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAucHJpbWFyeS1uYXZfX3N1Ym1lbnUtaXRlbSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkd2hpdGUsIDAuMSk7XG4gICAgfVxuICB9XG59IiwiLnByaW1hcnktbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICAgIH1cblxuICAgICsgLnByaW1hcnktbmF2X19pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgIH1cblxuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBmaWxsOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAgICAgICArIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAucHJpbWFyeS1uYXZfX3N1Ym1lbnUge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucHJvZHVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLS1waG90by1ib3R0b20ge1xuICAgIC5sLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0X19jb250ZW50IHtcbiAgICAgIC5wcm9kdWN0X19waG90byB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0X19kZXNjcmlwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudC1ncm91cCB7XG4gICAgKyAucHJvZHVjdF9fY29udGVudC1ncm91cCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fcGhvdG8ge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBwIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgICsgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIH1cblxuICAgICAgLmNlbGwge1xuICAgICAgICArIC5jZWxsIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAudmlkZW8tbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExNSU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg5LzE2KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMnB4O1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDExLCAyNywgMzgsIDAuMikpO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5yZXNvdXJjZXMge1xuICAubC1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG4gIH1cbn1cbiIsIi5zZWFyY2gtaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICZfX2NvdW50IHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiI3NlYXJjaC1wYW5lbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIHNwYW4sXG4gICAgLmhueS1zdmcge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXgtd2lkdGg6IDMzdnc7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMzdncpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgbWF4LXdpZHRoOiAyNXZ3O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNXZ3KTtcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG4gIH1cblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuIiwiLnNlY3Rpb24tbmF2IHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcblxuICAucmVzb3VyY2VzICYge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLS1tb2JpbGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtLWRlc2t0b3Age1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXG4gICAgLnN1Yi1uYXYge1xuICAgICAgJl9faXRlbXMge1xuICAgICAgICA+IC5zdWItbmF2X19pdGVtIHtcbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnN1Yi1uYXZfX3N1Ym1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgICAgIC5zdWItbmF2X19pdGVtIHtcbiAgICAgICAgICArIC5zdWItbmF2X19pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDtcbiAgICAgICAgICAgICAgZmlsbDogc2NhbGUtY29sb3IoJGJvZHktZm9udC1jb2xvciwgJGxpZ2h0bmVzczogODAlKTtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkYm9keS1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiA3MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAucmVzb3VyY2VzICYge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX190b2dnbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgcGFkZGluZzogMTRweCA1MHB4IDE0cHggMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbWFsbDtcbiAgICB6LWluZGV4OiA5OTtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmX19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMzBweDtcbiAgICB6LWluZGV4OiA5ODtcbiAgICBtaW4td2lkdGg6IDIxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAuaGFzLW9wZW4tc2VjdGlvbi1uYXYgJiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtYWxsO1xuICAgIH1cbiAgfVxufSIsIi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWRhcms7XG5cbiAgJl9fY29tcGFueS1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHdoaXRlO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gIH1cblxuICAmX19jb2xvcGhvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgei1pbmRleDogOTA7XG4gIH1cbn1cbmJ1dHRvbi5jb29raWUtYnV0dG9ue1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLnNpdGUtaGVhZGVyIHtcbiAgei1pbmRleDogMTAwO1xuICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gIHRyYW5zaXRpb246ICR0cmFucztcblxuICAuaGFzLWhlcm8gJiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX25hdiB7XG4gICAgei1pbmRleDogMjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgIH1cbiAgfVxufVxuIiwiLnNlYXJjaC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgkZGFyay1ncmF5LCAwLjk1KTtcbiAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTk5OTk7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgfVxuXG4gIC5zaXRlLXNlYXJjaCB7XG4gICAgJl9faW5wdXQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLnNpdGUtc2VhcmNoIHtcbiAgJl9fbG9hZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG5cbiAgICAuaXMtbG9hZGluZyAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5sb2FkZXIge1xuICAgICAgPiBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAyMHZoIDA7XG4gIH1cblxuICAmX19mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xOCk7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNik7XG4gIH1cblxuICAmX19zdWJtaXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcblxuICAgICYsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgZmlsbDogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICZfX2Nsb3NlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIHRvcDogMTZweDtcbiAgICByaWdodDogMTZweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgdG9wOiAzMnB4O1xuICAgICAgcmlnaHQ6IDMycHg7XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcmVzdWx0cyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX25vLXJlc3VsdHMge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMXJlbSAwIDA7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIGEge1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcmVzdWx0cy1saXN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gIH1cblxuICAmX19yZXN1bHRzLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBzcGFuLFxuICAgICAgLmhueS1zdmcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICArIC5zaXRlLXNlYXJjaF9fcmVzdWx0cy1pdGVtIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgICBtYXJnaW46IDAgLTFyZW07XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRpdiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS1oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9faXRlbS1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC42KTtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2FsbC1yZXN1bHRzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4iLCIuc2l0ZW1hcCB7XG4gIHVsIHtcbiAgICA+bGkge1xuICAgICAgPmEge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLnN1Yi1uYXYge1xuICAmX19pdGVtcyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgcGFkZGluZzogMC43NXJlbSAwLjVyZW07XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgfVxuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgPmEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zaWRlLW5hdiB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi50ZXJtLWRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktZGFyaztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgcGFkZGluZzogJGd1dHRlciAwO1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGZsZXg6IDE7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuNik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi51cGRhdGUtbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDFyZW0gLTAuNXJlbSAwO1xuXG4gICZfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcblxuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICBmaWxsOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnZpZGVvLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDAgLTFyZW07XG5cbiAgJl9faXRlbSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAudmlkZW8tZ3JpZF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExNSU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg5LzE2KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMnB4O1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDExLCAyNywgMzgsIDAuMikpO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC52aWRlby1ncmlkX19oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgfVxufVxuIiwiLnZpZXctdXBkYXRlcyB7XG4gIG1hcmdpbjogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tIDRyZW0gMnJlbTtcbn1cbiIsIi5kZWFsZXIge1xuICBwYWRkaW5nOiAxcmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246ICR0cmFucztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB9XG5cbiAgJl9faW5mbyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIH1cblxuICAmX19hZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICB9XG5cbiAgJl9fdXRpbGl0eSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBsaSB7XG4gICAgICArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3BhbixcbiAgICAuaG55LXN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBmaWxsOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmRlYWxlcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDUwO1xuXG4gICZfX25vLXJlc3VsdHMge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgICAgbWluLWhlaWdodDogNjAwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc2lkZWJhcixcbiAgJl9fbWFwIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gICZfX3NpZGViYXIge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAwIDAgMzAlO1xuICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmX19tYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAwIDAgNzAlO1xuICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAubWFwLWNhbnZhcyB7XG4gICAgICBoZWlnaHQ6IDMydmg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gLmRlYWxlcnNfX2luZm9ybWF0aW9uLXdpbmRvdyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm9ybWF0aW9uLXdpbmRvdyB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICB9XG5cbiAgJl9fc2VhcmNoLWZvcm0ge1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3IgdXJsKCcuLi9pbWFnZXMvc3R1Y2NvLXJlcGVhdGVyLWJyb3duLmpwZycpO1xuICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGlucHV0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzYpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjIpO1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICYsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zZWFyY2gtc3VibWl0IHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xOCk7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VhcmNoLXJlc2V0IHtcbiAgICByaWdodDogNHB4O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbi10b3A6IC04LjVweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICBzcGFuLFxuICAgIC5obnktc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBmaWxsOiAkd2hpdGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgaGVpZ2h0OiAxMDB2aDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdC1pdGVtcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fbGlzdC1pdGVtIHtcbiAgICArIC5kZWFsZXJzX19saXN0LWl0ZW0ge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjEpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMSk7XG4gICAgfVxuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIC5kZWFsZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAmLFxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuNik7XG5cbiAgICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgICAgZmlsbDogcmdiYSgkd2hpdGUsIDAuNik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2VsbCB7XG4gICsgLmJsb2NrLWJhY2tncm91bmQge1xuICAgIC5jb250ZW50LWJsb2NrX19iYWNrZ3JvdW5kIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29udGVudC1ibG9ja19fYmFja2dyb3VuZCB7XG4gIEBleHRlbmQgJXUtYmctY292ZXI7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkvMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiBjYWxjKDUwdncgLSAycmVtKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi5ibG9jay1jb250ZW50IHtcbiAgKyAuYmxvY2stYmFja2dyb3VuZCxcbiAgKyAuYmxvY2stcGhvdG8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG4gIH1cblxuICArIC5ibG9jay1iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycmVtO1xuICAgIH1cblxuICAgIC5jb250ZW50LWJsb2NrX19iYWNrZ3JvdW5kIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1iYWNrZ3JvdW5kLFxuLmJsb2NrLXBob3RvIHtcbiAgKyAuYmxvY2stY29udGVudCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxufSIsIi5jb250ZW50LWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICYtLXdoaXRlIHtcbiAgICArIC5jb250ZW50LWJsb2NrLS13aGl0ZSB7XG4gICAgICAubC1ibG9jayB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLmwtYmxvY2sge1xuICAgICAgcGFkZGluZy1ib3R0b206IDZyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgJi0taGFzLWljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgc3ZnIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jb250ZW50LWJsb2NrX19jb250ZW50IHtcbiAgcCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIuaWNvbi1ncmlkIHtcbiAgJl9faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICsgLmljb24tZ3JpZF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pdGVtLXdyYXBwZXIge1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAmX19pdGVtLWJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX2l0ZW0tY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuXG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIHN2ZyB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY29udGVudC1ibG9ja19fcGRmIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tdG9wOiAtMTAwdmg7XG4gICAgcGFkZGluZy10b3A6IDIwMHZoO1xuICAgIG1hcmdpbi1yaWdodDogLTUwdnc7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHZ3O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXkgdXJsKCcuLi9pbWFnZXMvc3R1Y2NvLXJlcGVhdGVyLWdyYXkuanBnJyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLnBkZi1ibG9jayB7XG4gICAgLmhueS1zdmctLXBkZi1lbWJsZW0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgaGVpZ2h0OiAyMHJlbTtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgLmwtYmxvY2sgJiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmNvbnRlbnQtYmxvY2tfX3Bob3RvIHtcbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufSIsIkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgICZbaHJlZl0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgZnJhZ21lbnQgaWRlbnRpZmllcnMsIG9yIDp0ZWwgbGlua3NcbiAgICAmW2hyZWZePSd0ZWwnXSxcbiAgICBbaHJlZl49JyMnXSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIGFiYnIge1xuICAgICZbdGl0bGVdIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG5cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLy8gQXZvaWQgaW1hZ2VzIGJsZWVkaW5nIG9mZiB0aGUgZWRnZXMgb2YgdGhlIHBhZ2VcbiAgfVxuXG4gIC5obnktc3ZnIHtcbiAgICBmaWxsOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cblxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG59XG4iXX0= */
